當前位置:編程學習大全網 - 源碼下載 - Java遊戲代碼源代碼

Java遊戲代碼源代碼

註:源代碼僅供個人學習研究時參考,不允許在程序制作中直接復制。

源代碼壹* * *兩個文件:Mine.java,MGame.java,和壹些圖片。

在JBuilder下新建壹個項目,將兩個源文件復制到項目目錄下的src\mine目錄下,將所有圖片復制到src\images目錄下。

點分析

數據結構

首先要解釋壹下用來存儲礦山信息的數組網格。

Grid是壹個二維數組,第壹位對應表格的行,第二位對應表格的列。例如,grid[y][x]表示y行和x列。每個字節的含義分為三段:0-9表示被挖過;10-19表示還埋著;20-29表示有標記。在每壹段中:0-8表示周圍的地雷數量;9代表我的。

NewGame()函數

這是用來開始新遊戲的。

因為每次地雷被隨機埋掉,都要產生新的地雷信息才能開始新的遊戲。

第壹步是初始化網格,把所有的東西都設置成10,因為所有的網格壹開始都是被埋沒的。

for(I = 0;我& lt身高;i++)

{

for(j = 0;j & lt寬度;j++)

grid[j]= 10;

}

第二步,隨機生成地雷。當然,應該避開生產過地雷的地方。

for(I = 0;我& ltMINECOUNTi++)

{

while(真)

{

x = math . ABS(rand . nextint())% Width;

y = math . ABS(rand . nextint())% Height;

if (grid[y][x]!= 19)

{

grid[y][x]= 19;

打破;

}

}

}

最後,計算無雷區周圍的地雷數量。怎麽算?壹個壹個加就行了。

礦井挖掘和標記

讓我們來看看keypress(int kcode)函數。按下1鍵是壹個挖的動作。

前半部分的意思是如果當前焦點在壹個被埋的單元格中(值在10和19之間),那麽值減少10,也就是說現在被挖了。當然,如果地下沒有雷,周圍也沒有雷(值等於0),那麽就需要自動展開。這裏調用expand(),而(selx,sely)是當前焦點的表格坐標。

後半部分意味著如果當前焦點在壹個挖好的網格上(值小於10),那麽調用SafeExp()自動挖掘周圍未挖好的網格。

按下鍵3是壹個標記動作。如果當前格網是埋格網,則標記它(值加10);如果當前單元格已被標記,則刪除標記(值減10)。

自動擴展

Expand()是壹個嵌套函數,它的作用是挖掘周圍沒有地雷的所有方塊。如果在挖好的部分周圍還有沒有地雷的方塊,那麽對這些方塊重復前面的操作,直到所有相關的方塊都挖好。挖的順序是左、上、右、左、右、左、下、下、右。如果遇到周圍沒有地雷的網格(值為0),立即嵌套並調用Expand()來處理該網格。

SafeExp()是壹個自動挖掘周圍未切割網格的函數。當然,實現這個功能有壹個條件,那就是周圍標記的方格數量必須等於當前格子中標記的數量,也就是說玩家標記了周圍所有的地雷(無論是否標記錯誤)。第壹部分功能是判斷上述條件。

第二部分是把周圍被埋的格子挖出來。但由於玩家的失誤可能會標記出沒有地雷的格子,錯過有地雷的格子,所以需要先檢查沒有地雷的格子和標記錯誤的格子。如果妳沒有這些錯誤,妳可以安全地打開它。同時也要檢查自己是否挖了壹個周圍沒有地雷的格子。如果有,就調用Expand()。

SafeExp()的返回值表示地雷是否被引爆,即標記錯誤,true表示是,false表示否,這個主要用來判斷遊戲是否要結束。

課堂介紹

圖像緩存擴展圖像

ExtendedImage是西門子自己擴展的特殊類,只存在於西門子的Java中。

這個類主要用於圖像緩存。我們不知道有沒有印象。以前在PC上編程,由於顯示速度慢,經常會打開壹個顯示緩存。首先將現實內容繪制到這個緩存中,然後壹次性顯示出來。ExtendedImage類扮演了這個角色。其實Java自帶的Image類也可以實現類似的功能,但是顯示速度好像差強人意,ExtendedImage比較好用,所以我基本都用這個類。當然,這對普遍性是不利的。

ExtendImage的主要功能有:

void clear(字節顏色);

用給定的顏色填充整個圖形區域。

void blitToScreen(int x,int y);

將緩存的內容粘貼到顯示屏上,其中(x,y)是屏幕左上角的坐標。

image getImage();

返回標準圖像類。可以通過extensinimage獲取與之相關的圖形對象。getimage()。getgraphics(),用extensinimage在上面畫圖。

  • 上一篇:Replugin 淺談
  • 下一篇:壹文搞懂原碼、反碼、補碼
  • copyright 2024編程學習大全網