一、计划内容
1.1、消行
满足条件,一行被图案填充满,进行消行。
1.2、开始按钮
点击开始按钮,应该清屏,并且显示新的图案。
二、消行
2.1、消行处理
//消行处理
public void deleteLine(){
for (int y = maps[0].length-1; y>0 ; y--) {
//消行判断
if(checkLine(y)){
//执行消行
implementLine(y);
//执行消行后,y=y+1
y++;
}
}
}
2.2、消行判断
//消行判断
public boolean checkLine(int y){
for (int x=0; x<maps.length; x++) {
//如果该行没有被图案填充满(不为true),不执行消行
//System.out.println("坐标:"+ x+" "+ y);
if(!maps[x][y]) {
return false;
}
}
//如果每一个maps为true,执行消行
return true;
}
2.3执行消行
//执行消行
public void implementLine(int dy){
for (int y = maps[0].length-1; y>0 ; y--) {
for (int x = 0; x <maps.length ; x++) {
maps[x][y]=maps[x][y-1];
}
}
}
三、刷新游戏区域
点击开始,刷新游戏区域
public void refersh(){
for (int x = 0; x < maps.length; x++) {
for (int y = 0; y <maps[x].length ; y++) {
maps[x][y]=false;
}
}
}
四、越界错误
消行处理中的错误代码:
for (int y = maps[0].length-1; y>0 ; y++)
修改为:
for (int y = maps[0].length-1; y>0 ; y--)
五、补充说明
5.1、代码可用性
到了这一步,基本的功能,就实现了,下一步需要进行的是功能的完善、逻辑的优化、代码、界面的美化。
5.2、enn
这一篇,以前就写好了记录,但是不知道为什么没有发出来,最近看的时候,直接从四变为六了,现在补充上五。