基本功能:
(1)背景:行宽10,列高为20,以每个小正方形为单位。
(2) 一组有4个小型正方形组成的规则图形,共有7种,分别以S、Z、L、J、I、O、T这7个字母的形状来命名。
(3)通过设计者预先设置的随机发生器不断地输出单个方块到背景顶部,以一定的规则进行移动、旋转、下落和摆放,锁定并填充到背景中。每次摆放如果将背景的一行或多行完全填满,则组成这些行的所有小正方形将被消除,并且以此来换取一定的积分或其他形式的奖励。而未被消除的方块会一直累积,并对后来的方块摆放造成各种影响。
(4) 如果未被消除的方块堆放的高度超过背景所规定的最大高度,则游戏结束。
绘制原理:
所有的7个方块都从BaseShape类派生,每一个Shape都是由一个二维数组的方格、Bricks对象组成,每一个二维形状都由宽度和高度及代表形状的字符串组成。宽度和高度其实就是二维数组的行和列,字符串一般由0和1组成,0表示是空白的方块,1表示是实心的方块。例如,J形状的代码如下:
public Jshape() : base( 2 , 3, “100111”)
{
}
图:J形状的组成图示