网上有很多这样的代码。<<编程之美>>上有比较高效的解法。
希望我的回答对你有帮忙,如果我的回答没帮助到您,请继续追问。
楼主看着这里,很清晰,很详细:下面是摘要,看一下:有前面的功能描述可知,我先虚拟出俄罗斯方块游戏的类对象,并抽象出核心的数据属性和 *** 作方法等,然后再作细化,最后将整个虚拟类的外壳脱掉,再移植到视图类中去,其实现如下:CRectGameView:publicCView{//内部存取数据结构intm_stateMap[MAX_ROW][MAX_COL]//初始化 *** 作GameInitnal()//游戏的初始化//用于判断数据相关状态的 *** 作IsLeftLimit()//下坠物件是否可向左移动IsRightLitmit()//IsBottom()//是否已经到达了底部IsGameEnd()//是否游戏已经结束//方块物件下坠过程中的 *** 作RectChange()//下坠物件变形RectDown()//下坠物件正常下落RectArrow()//下坠物件方向移动(左,右,下加速)//状态控制 *** 作GameStart()//游戏开始GamePause()//游戏暂停GameEnd()//游戏结束}通过上面的代码可以看出,在虚拟类中抽象出了核心的内部数据和一些基本的 *** 作函数。对于 *** 作函数,可以把它们分为内部实现的基本核心 *** 作(如判断 *** 作)以及明显提供给外部使用的整体模块外部 *** 作(如状态控制 *** 作)。而内部的基本 *** 作又可以分为判断 *** 作和执行 *** 作这样两种类型[3]。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)