俄罗斯方块:五

26 篇文章 2 订阅

一、计划内容

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

这一篇,以前就写好了记录,但是不知道为什么没有发出来,最近看的时候,直接从四变为六了,现在补充上五。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值