快速编程java:俄罗斯方块A3版,状态表示,状态处理

三个新功能:提示新块,玩家得分,暂停和继续。

技术要点:功能的拆分,状态的表示,不同状态的处理。状态很重要,休闲游戏、大型游戏,都少不了状态的处理。

运行效果:

快速编程java:俄罗斯方块A3版,状态表示,状态处理

三个新功能:

1.右上角提示下一块nextblock。

当前一块不能移动,赋值给地图的二维数组后,把nextblock赋值给当前活动块。

不要在原有程序上用两个整数ID,表示两个块。基本原则,原有程序尽量不改,新功能封装成新的类。

2.玩家得分。

得分同样涉及三件事MVC。M得分数据,V画面绘制,C分数的计算和增加。

V绘制:绘制的左上角坐标;绘制函数;运行状态和暂停状态下,按钮的图片不同。

封装一个类,完成MVC。

3.暂停和继续。

游戏分为两个状态,默认是运行。用一个整型变量state表示不同状态,用分支语句做不同的处理。

状态的表示:整型变量state,不同状态的取值。

快速编程java:俄罗斯方块A3版,状态表示,状态处理

状态,结合分支语句。不同状态下的绘制、数据刷新、鼠标事件处理。

快速编程java:俄罗斯方块A3版,状态表示,状态处理

总结:

数据用二维数组存放,程序用状态机,就能做很多功能,完成一些复杂流程。

代码下载:

https://download.csdn.net/user/weixin_42644456/uploads