嵌入式——C语言:俄罗斯方块
这次工程实现我们分三个文件
1.h文件:将宏和需要声明的函数放入,然后再在main.c和写俄罗斯方块功能.c文件中调用
2.写俄罗斯功能的.c文件
3.main.c文件
一、构建游戏区域
1.初步计划构成的区域,左边大的3/4区域为游戏进行的区域,右上角区域为下一个即将出现的图形,坐下角为得分区域和基本操作步骤简介。
2.用符号‘*’来代替这些这些线条(这里我们定义一个二维数组来输入这些符号)
3.用颜色填充即背景色和前景色一直即可完成线条的绘制,然后在将我们需要的文字打入到右下角区域中。
二、构建方块
构建方块前先了解总共有多少种方块,这里我们有18种。因为方块可能会在后期游戏中变形,所以我们对每个图像进行编号,后期变形时让他编号进行变化即可。
三、方块的移动
1.游戏中我们需要左移右移,但是如果侧边有堆积的图形那么则不能移动,而且前提是在方框内。
2.如果满足移动条件则我们移动方块
3.移动完后我们还需要将移动前的图形进行清除
四、对方块的操作
通过从键盘输入一些字符来控制图形的切换(w)、左移(a)、右移(d)、暂停游戏(p)和向下加速(s),用srand(time(NULL))然后对19取余这样就会随机拿到我们的编号;从而实现随机图形进入游戏中。
五、消行
在我们消行之前也肯定是要有一个判断条件,如果满足一行没有空格(这里我们可以定义一个变量为1如果遇见空格将他赋值为0,然后再传入是否执行清行的if条件中即可)那我们就将其以及以下的行全部消掉,即整体向下平移一格,然后给第一行赋值为‘ ’。在执行清行时我们可以加一个计数器来计分。
六、游戏判定结束