APP下载

基于C语言的俄罗斯方块游戏的设计与实现

2020-02-01赵素萍

电子技术与软件工程 2020年9期
关键词:该游戏预览方块

赵素萍

(山西农业大学信息学院 山西省晋中市 030800)

1 引言

俄罗斯方块游戏是1984年由俄罗斯人阿列克谢·帕基特诺发明的。他是苏联科学院一名普通的软件工程师。他非常喜欢开发电脑游戏,俄罗斯方块是不同形状的方块落在矩形框中,如果某一行没有空格,就可以将该行删除。这一特点不仅需要玩家开动脑筋,也可以释放玩家的压力,同时还有一定的挑战。最主要的是该游戏符合“整理心理学”,即人们需要通过下落的新的方块来整理已有的混乱局面。所以游戏开发出来后很快就风靡全球。

2 总体设计

该游戏基本规则[3]是通过一定的旋转和移动来放置方块,方块在下落、旋转或左右移动前要判断方块的下一个位置是否全部位置都没有方块,并且没有超出界限,如果满足条件即可移动,否则不能移动。当方块不能继续下落时,要判断所有行是否有满行,如果有则要消除所有的满行,将剩下行整行下降,并给玩家适当加分。该游戏包含5 大功能:方块预览、等级设置、方块移动、行满消除、游戏帮助。

方块预览提示:因为下一个将要出现的方块是随机[4]的,所以设置了方块预览功能。玩家在移动控制当前的方块时,可以在界面中看到下一个将要出现的方块的形状。这样有利于玩家在下一个出现时第一时间做出反应。

等级设置:如果游戏设置太快难度大的话,玩家会因为受挫而放弃;如果游戏太简单可以一直玩下去,玩家会因为没有挑战而失去兴趣。

方块移动控制:方块左右下和旋转移动的前提有两点:

(1)不出界;

(2)无方块阻拦。

行满消除:从下往上判断,如果某一行满行则先将该行擦除,再将上面行下移。

游戏帮助:如果玩家需要看游戏规则,会弹出按键使用说明。

3 关键代码与功能实现

3.1 关键代码

方块预览提示:

当前方块不能再移动时,将下一个方块变成当前方块,使用随机函数确定一个随机值,通过该随机值确定下一个方块,并在具体位置显示。

3.2 游戏实现

好的玩家应该掌握以下几点:一次消除的行数越多越好、空洞数越少越好,堆的越低越好。游戏界面如图1所示。

玩家为了使得界面更加整齐,可以根据界面的布局以及下一个方块的预览,通过按上键来调整方块的形状。如图2 中的F 方块有4 种形状可以变化。图3 为变化后的一种情况。

当游戏结束时,会根据用户的得分给出相应的等级,分别为A+,A,B,C。如图4所示。

图1:游戏界面

图2:形状变换前

图3:形状变换后

图4:结束界面

4 结论

通过该游戏的设计与开发,能够让开发者更熟练的掌握C 语言中的数组、循环、函数等知识点。在开发的过程中也遇到了很多问题,由于需求分析阶段没有打下很好的基础,导致在后期开发的过程中出现了很多问题。通过该游戏的开发,更熟练的掌握了项目开发的流程。

猜你喜欢

该游戏预览方块
有多少个方块
不一样的方块桥
新品预览
谜题方块
11月在拍电视剧预览表
一道2014年上海高考题的探究
好大的方块糖