學科資源 | 畢業設計定做 | 畢業論文代寫 | 如何下載
QQ:1052602713
Java源碼畢業設計 > Java源碼 >

java Swing開發俄羅斯方塊游戲源碼

文章來源:www.byxolb.tw   發布者:畢業設計網   瀏覽量:

代碼量:1800行,簡單易懂

                 

基本規則:  

 1、一個用于擺放小型正方形的平面虛擬場地,其標準大小:行寬為20,列高為25,以每個小正方形為單位。做為裝飾的俄羅斯方塊

2、一組由4個小型正方形組成的規則圖形。中文通稱為方塊。共有7種,分別以S、Z、L、J、I、O、T這7個字母的形狀來命名。   

3、通過設計者預先設置的隨機發生器不斷地輸出單個方塊到場地頂部,以一定的規則進行移動、旋轉、下落和擺放,鎖定并填充到場地中。每次擺放如果將場地的一行或多行完全填滿,則組成這些行的所有小正方形將被消除,并且以此來換取一定的積分或者其他形式的獎勵。而未被消除的方塊會一直累積,并對后來的方塊擺放造成各種影響。   

4、如果未被消除的方塊堆放的高度超過場地所規定的最大高度(并不一定是25或者玩家所能見到的高度),則游戲結束。

操作方法:

 1. 按游戲界面的"開始"按鈕來開始游戲。

2. 鍵盤操作:系統缺省設置使用右邊的窗口,用光標操作,"←"左移一格;"→"右移一格;"↑"旋轉方塊;↓ 下落方塊。

3. 計分牌顯示的內容:“分數”為本局的分數,計分標準為下落一個塊10分,一次消一行100分、2行400分、3行900分、4行1600分。“等級”為雙方的游戲設置等級,當分數達到一定的值,等級就會提升、速度加快。

代碼分析:

1.model部分:里面包含了本項目的一些model,這里有三個類,Board,Cell,MyModel。首先,Board是游戲的活動區域,是一個由n*m的方塊區域。然后Cell只有兩個屬性,x,y。他們可以指定該方塊在Board的位置,它是該游戲最基本的單元。四個Cell組成一個MyModel,MyModel共有7種,分別以S、Z、L、J、I、O、T。俄羅斯方塊與其他游戲有點不同,整個游戲的難點部分在model這塊。一開始,我也想了很對方法去實現model的實現,方法都是非常繁瑣的,最后發現,把7*4個方塊model都列出來倒是最簡單的。

2.界面部分是用swing完成的,整個游戲有一個Jframe構成。歡迎界面也被嵌在這個Jframe中,當點擊歡迎界面或者按任意鍵就使歡迎界面消失,進行游戲。在游戲界面中,有一個方塊活動主區域,下一方塊顯示區域,記分牌,控制區域構成。

3.控制器當然是整個項目的核心部分,在里面開始,暫停等一些簡單的的方法就不做詳細解釋了。去操作一下timer線程就可以實現了。

在這里移動的方法以下為例,先讓model下移一格,判定當前位置是否能夠移動,如果不能移動,就讓model上移一格,在界面上顯示當前model。判斷是否能移動的方式是:根據model上四個坐標到board上面去判定,如果坐標的超出底線,或超出左右線,或者當前坐標在board上面有cell存在都表示不能移動。

判斷是否能消行的方法是遍歷model四個點中的不重復的x值,利用這個x值到model中從左到右去判斷那行,是否都有cell存在。如果都存在cell,那么表示能夠消行。

消行的方法為,將上面能消行的行值用一個list記錄下來,遍歷這個list,取出里面的行值,將該行上面的所有行下移一格,已達到消行效果。

4.在該游戲中,加入了背景音和音效,組要用Applet接口實現。

 

gif動圖

 

java Swing開發俄羅斯方塊游戲源碼


免費論文檢測 論文查重

本文原地址:http://www.byxolb.tw/a/java/11463.html

上一篇: 沒有了

下一篇: SSH下的投票系統

江苏时时彩走势