freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的推箱子游戲(編輯修改稿)

2025-06-12 20:08 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 Java 的屬性之一, Java 的應(yīng)用涉及許多領(lǐng)域,如手機(jī)、單機(jī)程序及瀏覽器等,不同的平臺(tái)對(duì)于它的設(shè)定不盡相同 ,若將顯示平臺(tái)獨(dú)立為一個(gè)類,將有助于主程序的完整性及移植程序的快速性。 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 9 注意事項(xiàng) 小 游戲在設(shè)計(jì)時(shí) 要注意繪圖部分的設(shè)計(jì) 代碼 ,還要注意 通過(guò)輸入流讀取 地圖文件與圖像文件部分的設(shè)計(jì)代碼等等。 游戲流程圖 圖 1 系統(tǒng)功能模塊 系統(tǒng)功能模塊 初始化模塊 繪圖模塊 移動(dòng)小人模塊 移動(dòng)箱子模塊 功能控制模塊 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 10 游戲總體結(jié)構(gòu)與代碼 推箱子的小游戲界面如圖 所示: 圖 小游戲界面 由圖 可以看出,本小游戲的界面簡(jiǎn)潔、直觀,從界面中可以直接得到本小游戲的相關(guān)功能操作信息。 ( 1) 界面框架與按鈕設(shè)計(jì) 界面設(shè)計(jì)中包括了所有玩家可以直 觀見(jiàn)到的圖形界面,窗體的大小,界面中的功能按鈕,讓玩家可以方便使用操作。界面中的按鈕包括:“悔一步”,“重來(lái)”,“上一關(guān)”,“下一關(guān)”,“第 1 關(guān)”,“最終關(guān)”,“選關(guān)”。并且 各個(gè)按鈕的名稱與相關(guān)功能為: “ 悔一步 ” :返回上一移動(dòng)狀態(tài)(可以連續(xù)返回多步); 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 11 “ 重來(lái) ” :重新開始當(dāng)前關(guān); “ 上一關(guān) ” :返回到當(dāng)前關(guān)的上一關(guān); “ 下一關(guān) ” :跳轉(zhuǎn)到當(dāng)前關(guān)的下一關(guān); “ 第 1 關(guān) ” :游戲系統(tǒng)默認(rèn)開始關(guān)為第一關(guān),此按鈕讓玩家可以方便從其它關(guān)卡直接跳轉(zhuǎn)到第一關(guān); “ 最終關(guān) ” :可以跳轉(zhuǎn)到最后一關(guān),即游戲系統(tǒng)默認(rèn)的最后一個(gè) 關(guān)。 “ 選 關(guān) ” : 選擇想要挑戰(zhàn)的關(guān)卡。 其中,這個(gè)部分的部分代碼為: public class GameTxz { public static void main(String[] args) { new mainFrame()。 } } class mainFrame extends JFrame implements ActionListener { JButton btnrenew,btnlast,btnnext,btnchoose,btnfirst,btnover,btnback。 mainpanel panel。 mainFrame() { super(推箱子小游戲 )。 setBounds(150,20,700,690)。 setVisible(true)。 setResizable(false)。 setDefaultCloseOperation()。 Container cont=getContentPane()。 (null)。 ()。 btnback=new JButton(悔一步 )。 btnrenew=new JButton(重來(lái) )。 btnlast=new JButton(上一關(guān) )。 btnnext=new JButton(下一關(guān) )。 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 12 btnfirst=new JButton(第1關(guān) )。 btnover=new JButton(最終關(guān) )。 btnchoose=new JButton(選關(guān) )。 add(btnrenew)。 add(btnlast)。 add(btnnext) 。 add(btnchoose)。 add(btnfirst)。 add(btnover)。 add(btnback)。 (20,15,80,30)。 (this)。 (120,15,80,30)。 (this)。 (220,15,80,30)。 (this)。 (320,15,80,30)。 (this)。 (420,15,75,30)。 (this)。 (510,15,75,30)。 (this)。 (600,15,75,30)。 (this)。 panel=new mainpanel()。 add(panel)。 ()。 ()。 validate()。 } } ( 2) 地圖的繪制形成 地圖以二維數(shù)組的形式進(jìn)行存儲(chǔ),不同的數(shù)家代表了不同的含義。在本小游戲的地圖文件中, 0~9 這十個(gè)數(shù)字的定義 如下所示 : 編號(hào) 0: 代表未定義的區(qū)域; 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 13 編號(hào) 1: 代表障礙物 (或者邊界); 編號(hào) 2: 代表草地; 編號(hào) 3: 代表箱子(未到指定位置); 編號(hào) 4: 代表目的地; 編號(hào) 5: 代表小人向下移動(dòng)方向; 編號(hào) 6: 代表小人向左移動(dòng)方向; 編號(hào) 7: 代表小人向右移動(dòng)方向; 編號(hào) 8: 代表小人向上移動(dòng)方向; 編號(hào) 9: 代表到達(dá)指定位置時(shí)的箱子。 例如下圖 所示(左邊是二維數(shù)組的地圖文件,右邊是相對(duì)應(yīng)的小游戲界面): 圖 地圖文件與相應(yīng)界面 ( 3) 推箱子 小 游戲的游戲性 其主要功能是給用戶一個(gè)良好的游戲界面,游戲中包括 45 關(guān)的地圖文件 。 地圖文件是是先寫好 的 ,所有界面信息以數(shù)家的形式存放在一個(gè) 20*20 的二維數(shù)組當(dāng)中 并且把這些地圖文件統(tǒng)一放在一個(gè)地圖文件中,便于程序調(diào)用地圖文件。 然后, 每一關(guān) 就 會(huì)按照 這些 數(shù)組數(shù)據(jù)重新繪制地圖,從而達(dá)到小游戲的可用性 及其相應(yīng)的目的 。 ( 4) 小人與箱子移動(dòng)的算法 小人與箱子的移動(dòng)中包括了正移動(dòng)以及“悔一步”的負(fù)移動(dòng)。 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 14 正移動(dòng):小人向上、下、左、右的移動(dòng)是一個(gè) 判斷算法,其判斷都是通過(guò)判斷小人前面是否是草地或者是箱子亦或者是障礙物(或者邊界)。如果是障礙物或者是邊界,就不能夠進(jìn)行移動(dòng);如果是沒(méi)有箱子或者是障礙物,就可以自由移動(dòng);又如果 是有箱子,就要判斷是否可以移動(dòng)箱子,最后再討論箱子被推過(guò)的位置,小人移動(dòng)的位置,以及它們的原位置和被遮擋住的新位置的圖形變化等等,需要運(yùn)用算法使其重新繪制地圖,填補(bǔ)空白。算法判斷完畢后,傳出數(shù)據(jù)并且將其 記錄 在一個(gè)堆棧中,以備“悔一步” 時(shí)使用。 負(fù)移動(dòng):通過(guò)記錄在堆棧中的數(shù)據(jù)來(lái)判斷,前一步小人的移動(dòng)方向以及移動(dòng)中使用過(guò)的算法,逆向?qū)⒋a重新運(yùn)行,同時(shí)繪制并刷新地圖以達(dá)到前一步的狀態(tài)。 其中,這個(gè)部分的部分代碼為: void moveup() { if(map[manY1][manX]==2||map[manY1][manX]==4) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY1][manX]=8。 repaint()。manY。(10)。 } else if(map[manY1][manX]==3) { if(map[manY2][manX]==4) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY1][manX]=8。map[manY2][manX]=9。 repaint()。manY。(11)。 } else if(map[manY2][manX]==2) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY1][manX]=8。map[manY2][manX]=3。 repaint()。manY。(11)。 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 15 } else { map[manY][manX]=8。 repaint()。 } } else if(map[manY1][manX]==9) { if(map[manY2][manX]==4) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY1][manX]=8。map[manY2][manX]=9。 repaint()。manY。(11)。 } else if(map[manY2][manX]==2) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY1][manX]=8。map[manY2][manX]=3。 repaint()。manY。(11)。 } else {map[manY][manX]=8。repaint()。} } if(map[manY1][manX]==1) { map[manY][manX]=8。repaint()。 } } void backup(int t) { int n=t。 if(n==10) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) {map[manY][manX]=4。} 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 16 else map[manY][manX]=2。 } else if(n==11) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) {map[manY][manX]=9。} else map[manY][manX]=3。 if(maptmp[manY1][manX]==4||maptmp[manY1][manX]==9) {map[manY1][manX]=4。} else map[manY1][manX]=2。 } map[manY+1][manX]=8。repaint()。manY++。 } void movedown() { if(map[manY+1][manX]==2||map[manY+1][manX]==4) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY+1][manX]=5。 repaint()。manY++。(20)。 } else if(map[manY+1][manX]==3) { if(map[manY+2][manX]==4) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY+1][manX]=5。map[manY+2][manX]=9。 repaint()。manY++。(21)。 } else if(map[manY+2][manX]==2) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 仰恩大學(xué)畢業(yè)設(shè)計(jì)(論文) 17 map[manY+1][manX]=5。map[manY+2][manX]=3。 repaint()。manY++。(21)。 } else {map[manY][manX]=5。repaint()。} } else if(map[manY+1][manX]==9) { if(map[manY+2][manX]==4) { if(maptmp[manY][manX]==4||maptmp[manY][manX]==9) map[manY][manX]=4。 else map[manY][manX]=2。 map[manY+1][manX]=5。map[manY+2][manX]=9。 repaint()。manY++。(21)。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1