俄罗斯方块游戏的 算法实现(或者设计原理)

来源:百度知道 编辑:UC知道 时间:2024/05/12 03:19:08
最近老师想让我们编一个java版的俄罗斯方块游戏,可就是不知道怎么入手。看了好多网上的源代码,可都没有很好的说明各个类能实现的功能。所以想求助更多的编程高手,希望大家能简要说说这个游戏的主要算法,数据结构。谢谢大家了。

这是个优化问题,目标函数是最终得分,变量是每个方块的得分,边界条件就是楼主所说的“同等条件”。

解决该问题,需要知道“同等条件”,即总的方块数以及每个方块的形状、出现顺序。知道了这些条件,即可以编程实现算法。

每个方块含有各自的状态,变换只需改变到下一个状态就行了,完全可以用数组来实现(不用写旋转算法了:)

比如:

/* 方块类型为 ■■■■ */
char[2][4][4] B1={{{0,1,0,0},{0,1,0,0},{0,1,0,0},{0,1,0,0}},
{{0,0,0,0},{1,1,1,1},{0,0,0,0},{0,0,0,0}}};
含两种状态,每个状态是一个4*4数组,为1表示实心,为0表示空心.
□■□□
□■□□
□■□□
□■□□

□□□□
■■■■
□□□□
□□□□

再详细的就不用说了吧