用MFC实现的俄罗斯方块,上学期期末复习着无聊的时候做出来的,每天做一点,最后居然顺利做出来.做了之后才发现,要做成这个小游戏,值得考虑的地方还是很多的.想了想就有以下的一些细节,总结起来有以下几点:
1. 关于方块结构的确定,最初考虑的是用4*4的数组来表示一个方块,但这就意味着每个方块会造成远大于自身的存储空间的浪费,而且按照这种思路,方块每切换一次形状,就要对一个4*4的数组数据进行重写,时间和空间效率都不高.在考虑换种表示方法的时候,突然观察到,其实俄罗斯方块里的每个方块都是由4个格子组成的,只要定义一个大小为4的结点数组就能很好的保存方块的位置了.于是Node结构就这样成了.
typedef struct node
{
int x;
int y;
}Node;
2. 有了这个结构之后,就该考虑如何表示方块了,因为使用的是MFC,而上学期又系统的学了C++,于是考虑了用面向对象的方法来实现这几个方块,从面向对象的角度来看,这几个方块确实具有惊人的相似度,首先,它们都是由四个格子组成,其次,都能由键盘可控制移动,然后,都能通过某个按键(本程序定义用空格)来切换形态,