日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

[原创]我的作品:我的迷宫小游戏Java版本

發(fā)布時間:2023/12/31 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [原创]我的作品:我的迷宫小游戏Java版本 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這個小游戲是我選的第二個數(shù)據(jù)結(jié)構(gòu)課程設(shè)計題目,覺得很有意思,也很有挑戰(zhàn)性,對于一個自學(xué)Java的人來說寫出這個小游戲我覺得無疑是一種鼓勵,呵呵呵

實驗題目:

隨機生成一個迷宮圖,迷宮大小為N*N,N預(yù)定義為常數(shù),修改N的值可以改變迷宮的大小。用白色表示可走的路,藍色表示墻壁不可以通過。系統(tǒng)設(shè)計兩種運行方式:一種是系統(tǒng)自動探索(用遞歸方法實現(xiàn));另一種是由人工操作探索通路。

設(shè)計思路:

程序首先要考慮迷宮的表示,這是一個二維關(guān)系圖,所以可選擇二維數(shù)組來存儲。數(shù)組元素只有兩種值0和1,分別代表通路和墻壁。圖形的顯示可以根據(jù)數(shù)組元素的值來確定。如果是人工探索,則依據(jù)按鍵來確定探索物的位置坐標,利用循環(huán)語句實現(xiàn)。如果是系統(tǒng)自動探索,可采用遞歸算法實現(xiàn)。

我使用的是Java Swing編程技術(shù),采用了MVC的設(shè)計模式,這個是一個很經(jīng)典的設(shè)計模式

關(guān)于這個小游戲我有很多的感觸,我歷時近一個星期的時間才寫到了現(xiàn)在的程度,可以說是很不容易,查看了很多的參考資料,等到數(shù)據(jù)結(jié)構(gòu)作業(yè)驗收完了我也會給大家分享一下的,呵呵呵,這期間我問了不少人,這里特別要感謝兩個好友,研究生學(xué)長武學(xué)鴻和同院好友沈冠軍,謝謝你們兩個人的幫忙,呵呵呵

其實這個游戲分為了幾個部分:

1.生成迷宮:它的算法很多,我目前是寫了一種,利用圖的DFS,到時候我會和大家分享我的和大師們的程序,呵呵,敬請期待(為了這個我可是今天都在電腦面前看英文資料啊,嗚嗚嗚)

2.顯示迷宮:Java 畫圖的功能了

3.走出迷宮:它的算法也是挺多的,我現(xiàn)在寫了兩種,一種是最短路徑,一種是DFS

同樣,由于還沒有驗收,所以不好直接附上源碼,這里給大家看看程序運行時顯示的界面吧

程序運行時,點擊Start按鈕,就可以看到一個迷宮了(35*35的迷宮)

?

點擊Computer do,首先選擇一個速度,走出迷宮的速度,然后就可以看到一個綠色的小圓點自己走出迷宮了,呵呵呵

選擇速度大小

??

?

正在走迷宮

?

走出了迷宮

?

王力宏的一首歌《愛因為在心中》,很喜歡這首歌,去年,我們技術(shù)部在網(wǎng)站的一次 party 上合唱的就是這首歌

“世界就像迷宮,卻又讓我們此刻相逢our home!”

?

左邊的是選項設(shè)置面板

?? 這里可以設(shè)置迷宮的大小,一般是設(shè)置行和列相等,考慮到顯示的問題,我這里限制了行和列小于等于49

?? 同時,行和列必須都是奇數(shù),不然生成的迷宮會出現(xiàn)問題,這個是由于生成算法的原因

?

?

?? 這里可以設(shè)置迷宮的難易程度,但是基本上沒有,剛開始做的時候想的,后來沒有去考慮了,這個沒有什么關(guān)系,迷宮大了

?? 也就難了

?

??? 這里可以設(shè)置生成迷宮的算法,顯示了三種,但是我只是寫了一種,實際上還寫了一種,還沒有添加上去,最后一種我還沒有實現(xiàn)

?

?

?? 這里是設(shè)置走出迷宮的算法,同樣是顯示了三種,我寫了兩種,還有一種應(yīng)該也是可以寫出來的,呵呵,到時候和大家分享一下

?

?

?

?? 這里是游戲的介紹

?

?

?

?

?

?

游戲控制面板

?

Restart 可以重新開始生成另一個迷宮

Pause 可以暫停當(dāng)前正在走著的綠色的小圓點,點擊了之后會變成 Continue

Stop 可以結(jié)束本次走出迷宮

I do 是玩家自己來走迷宮

Computer do 是電腦來走迷宮

?

自己走出了迷宮示例:

?

大迷宮: (49*49)? 迷宮的每個格子的大小是有規(guī)律的,迷宮大格子的大小就小

?

33*33

?

用上下左右鍵控制綠色的小圓點,可以自己走迷宮

?

怎么樣?喜歡嗎?喜歡的話可以給我留言,幫助我來改進它,呵呵呵,謝謝了,屆時我會寫一列的博文介紹里面用到的算法,呵呵呵,敬請期待

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的[原创]我的作品:我的迷宫小游戏Java版本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。