資源簡介
消消樂A2版,包含查找消除、消除動畫、產生新塊、下落的過程。地圖生成,初始化生成沒有“連續三塊”的地圖,有兩種不同的編碼方法。帶演示視頻,簡單介紹了狀態機的技術。
代碼片段和文件信息
package?com.example.ani;
import?java.awt.Image;
import?java.util.ArrayList;
import?java.util.List;
import?com.example.appex3.GameTool;
//public??static?int?GAME_SET_PLAY=1;
//public??static?int?GAME_SET_CLEAR_START=2;
//public??static?int?GAME_SET_CLEAR=3;
//public??static?int?GAME_SET_MOVE_START=4;
//public??static?int?GAME_SET_MOVE=5;
public?class?ClearAni?{
public?List?clearlist?=?new?ArrayList();
//?//////////?消除次數
public?int?cleartry;
public?void?startclear(int[][]?item_ar)?{
//
cleartry++;
//?如果消除了50次,不再消除
if?(cleartry?>?50)?{
GameTool.gamestate_set?=?GameTool.GAME_SET_PLAY;
return;
}
clearlist.clear();
//?找消除塊,找連續三塊
findClear(item_ar);
findVClear(item_ar);
//?找到“連續三塊”,開始消除動畫
if?(clearlist.size()?>?0)?{
GameTool.gamestate_set?=?GameTool.GAME_SET_CLEAR;
}?else?{
//?沒有找到“連續三塊”,返回繼續游戲
GameTool.gamestate_set?=?GameTool.GAME_SET_PLAY;
//統計步數
GameTool.countstep();
}
}
public?void?addone(int?x?int?y)?{
ClearPoint?cp?=?new?ClearPoint();
cp.setxy(x?y);
cp.setMaxframe(12);
cp.setState(GameTool.ANI_PALY);
clearlist.add(cp);
}
//?///////////////
//?/////////////
public?int?count_hclear(int[][]?item_ar?int?x?int?y)?{
int?i?j;
int?num?=?1;//?相同個數,從1數起
i?=?y;
j?=?x;
if?(x?0?||?x?>?8?||?y?0?||?y?>?8)
return?num;
//
if?(item_ar[i][j]?==?-1)
return?num;
//?求橫行某個方塊向右的相同個數
while?(j?<=?7)?{
if?(item_ar[i][j]?==?item_ar[i][j?+?1])?{
num++;
j++;
}?else
break;
}
return?num;
}
public?int?count_vclear(int[][]?item_ar?int?x?int?y)?{
int?i?j;
int?num?=?1;//?相同個數,從1數起
i?=?y;
j?=?x;
if?(x?0?||?x?>?8?||?y?0?||?y?>?8)
return?num;
//
if?(item_ar[i][j]?==?-1)
return?num;
//?求豎行某個方塊向右的相同個數
while?(i?<=?7)?{
if?(item_ar[i][j]?==?item_ar[i?+?1][j])?{
num++;
i++;
}?else
break;
}
return?num;
}
public?void?findClear(int[][]?item_ar)?{
int?i?j;
int?num?=?0;
for?(i?=?0;?i?9;?i++)?{
j?=?0;
//?0?-?6:?前7列
while?(j?<=?6)?{
num?=?count_hclear(item_ar?j?i);
if?(num?>=?3)?{
//?System.out.println(“clear?h?num?“?+?num);
//?保存消除方塊
for?(int?k?=?0;?k? addone(j?+?k?i);
}
}
j?+=?num;//?跳過連續的相同方塊
}
}
}
public?void?findVClear(int[][]?item_ar)?{
int?i?j;
int?num?=?0;
for?(j?=?0;?j?9;?j++)?{
i?=?0;
while?(i?9)?{
num?=?count_vclear(item_ar?j?i);
if?(num?>=?3)?{
//?保存消除方塊
for?(int?k?=?0;?k? addone(j?i?+?k);
}
}
i?+=?num;//?跳過連續的相同方塊
}
}
}
public?void?anidraw(?)?{
for?(int?i?=?0;?i? ClearPoint?cp?=?clearlist.get(i);
if?(cp.state?==?GameTool.ANI_PALY)?{
cp.paint();
}
}
}
public?void?updatedata(int[][]?item_ar)?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????232??2017-09-10?06:00??消消樂A2版源碼和演示視頻\xxlA2\.classpath
?????文件????????381??2018-08-22?05:12??消消樂A2版源碼和演示視頻\xxlA2\.project
?????文件???????3187??2018-08-22?11:56??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\ClearAni.class
?????文件???????1202??2018-08-22?11:15??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\ClearPoint.class
?????文件???????2103??2018-08-22?10:18??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\InitMap.class
?????文件???????2166??2018-08-22?11:30??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\InitMap2.class
?????文件???????2457??2018-08-22?11:54??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\MoveAni.class
?????文件???????1498??2018-08-22?07:12??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\MovePoint.class
?????文件????????538??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\Point.class
?????文件????????857??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\ani\Rect.class
?????文件???????1088??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\appex3\Game.class
?????文件???????2005??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\appex3\GameManage.class
?????文件???????1986??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\appex3\GamePanel.class
?????文件???????1632??2018-08-22?11:49??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\appex3\GameTool.class
?????文件???????1560??2018-08-22?11:15??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\appex3\R.class
?????文件???????1226??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\game\GameInfo.class
?????文件???????1815??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\game\GameMenu.class
?????文件???????4632??2018-08-22?11:53??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\game\GamePlay.class
?????文件???????1427??2018-08-22?05:13??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\game\GameResult.class
?????文件???????1471??2018-08-22?11:41??消消樂A2版源碼和演示視頻\xxlA2\bin\com\example\game\XXLtouch.class
?????文件???????2998??2017-09-10?06:03??消消樂A2版源碼和演示視頻\xxlA2\img\ani\clearani1.png
?????文件???????3043??2017-09-10?06:03??消消樂A2版源碼和演示視頻\xxlA2\img\ani\clearani2.png
?????文件???????9847??2018-08-22?11:04??消消樂A2版源碼和演示視頻\xxlA2\img\ani\clearani2design.png
?????文件???????3043??2017-09-10?06:03??消消樂A2版源碼和演示視頻\xxlA2\img\ani\clearani3.png
?????文件???????3043??2017-09-10?06:03??消消樂A2版源碼和演示視頻\xxlA2\img\ani\clearani4.png
?????文件???????2994??2017-09-10?06:03??消消樂A2版源碼和演示視頻\xxlA2\img\ani\clearani5.png
?????文件???????3945??2018-08-22?11:08??消消樂A2版源碼和演示視頻\xxlA2\img\clearani1.png
?????文件???????4373??2018-08-22?11:08??消消樂A2版源碼和演示視頻\xxlA2\img\clearani2.png
?????文件???????4497??2018-08-22?11:08??消消樂A2版源碼和演示視頻\xxlA2\img\clearani3.png
?????文件???????4386??2018-08-22?11:14??消消樂A2版源碼和演示視頻\xxlA2\img\clearani4.png
............此處省略53個文件信息
- 上一篇:SSH個人相冊項目
- 下一篇:sublime for mac 安裝包
評論
共有 條評論