在linux系统下基于arm嵌入式的俄罗斯方块

在linux系统下基于arm嵌入式的俄罗斯方块

ID:10493586

大小:364.00 KB

页数:23页

时间:2018-07-07

在linux系统下基于arm嵌入式的俄罗斯方块_第1页
在linux系统下基于arm嵌入式的俄罗斯方块_第2页
在linux系统下基于arm嵌入式的俄罗斯方块_第3页
在linux系统下基于arm嵌入式的俄罗斯方块_第4页
在linux系统下基于arm嵌入式的俄罗斯方块_第5页
资源描述:

《在linux系统下基于arm嵌入式的俄罗斯方块》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在Linux系统下基于ARM嵌入式的俄罗斯方块目录一、摘要…………………………………………………………………………3二、各种问题的具体介绍(1)图形的如何存储问题………………………………………………………3(2)图形的染色问题……………………………………………………………3(3)游戏的屏幕显示问题………………………………………………………3(4)方块图形的自动下移问题…………………………………………………3(5)方块图形的左右移动问题…………………………………………………3(6)方块图形的如何翻转问题………………………………………

2、…………3(7)图形移动时的自动消行问题………………………………………………3(8)图形移动翻转时的边界判断问题…………………………………………3(9)如何实现一键到底的问题…………………………………………………3(10)各种移动的用键问题………………………………………………………3(11)游戏时的自动冒行问题……………………………………………………3(12)游戏时的作弊消行问题……………………………………………………3(13)游戏时作弊方块出现问题…………………………………………………3(14)游戏时的作弊炸弹使用问题……………

3、…………………………………4三、流程图流程图……………………………………………………………………5四、实习总结实习总结……………………………………………………………………6五、附件(1)程序源代码…………………………………………………………………6(2)操作截图……………………………………………………………………18六、参考文献………………………………………………………………………2123一、摘要在Linux系统下使用vim编辑器实现如手机上的游戏俄罗斯方块,利用所学知识实现以下的各个问题。二、各种问题的具体介绍(1)图形的存储问

4、题:每个方块采用一个4*4的小数组存储,不同的方块给对应的数组赋不同的值,从1~7,以便打印是染不同的颜色,实现每种方块都有不同的颜色。(2)图形的染色问题:使用VT控制码对不同的图形涂不同的颜色。(3)游戏屏幕的显示问题:采用一个20*12的大数组,数组元素全部赋值为0,在终端打印空格,形成一片矩形区域,每个俄罗斯方块(以下简称方块)占4*4个空格的区域,赋值给大数组即可在终端打印出方块。在大数组的上方再打印一个4*4的小数组,以显示下一个将出现的方块,并打印出得分,等级,计时等。(4)方块图形的自动下移问题:有一个变量记录方块

5、下移的行数,并像左右移动一样打印向下移动的方块,设置一个信号,每一秒发送一个信号,进程每收到一次信号变量加一实现自动下移。(5)方块图形的左右移动问题:有一个变量记录方块第一行一列的坐标,左移时变量减一,右移时变量加一,把小数组原来在大数组的位置清零,在把小数组赋值到大数组相应坐标的位置即可打印出移动后的方块的位置,实现方块的左右移动。(6)方块图形的如何翻转问题:为了实现方块不同方向的转动,要新建一个4*4的新的小数组new,将存放方块的小数组按逆向旋转90度的方向存进new,把小数组清空,并把new的值重新赋值给小数组,大数组

6、里方块原来的位置置零,把旋转后的小数组复制给大数组,即可打印出旋转后的方块。(7)图形移动时的自动消行问题:当大数组的某一行全部不为零时,既是达到了消行的条件,将大数组这样的行置零,其上的所有行下移一行(或多行),以实现消行的操作。系统会根据消行的行数打印出鼓励语句,例如comeon,good,perect等。(8)图形移动翻转时的边界判断问题:方块左右移动或向下运动,当遇到左右边界或到底时应不再继续左移,右移或下移,此时要判断边界。找出存放方块的小数组中所有不为0元素的元素在大数组的位置,判断大数组相应位置是否不为0,是否为边界

7、,若满足两者之一即为到达边界(9)如何实现一键到底的问题:实现按一下x或向下键使方块从当前位置一下移到最后一行,先将方块当前位置清零,把小数组的值赋给大数组的最底,即可打印出移到最底的状态,即可实现一键到底。(10)各种移动的用键问题:左移使用‘d’键或者23向左的箭头键,右移使用‘a’键或者向右的箭头键,翻转使用‘w’键或者向下的箭头键,一键到底使用‘x’键或者向下的箭头键。(11)游戏时的自动冒行问题:当玩家每累计得20分时会从底部随机冒出一行一增加难度。大数组所有行向上移动一行,最后一行随机赋0~7的值。(12)游戏时的作弊

8、消行问题:按e消去最后一行,当玩家希望减少行数时可使用此种方法。将大数组的最后一行置零,并将除第一行的所有行下移一行,此时屏幕的最后一行被消除。(13)游戏时作弊方块出现问题:按m在按数字键1~7可以出玩家希望得到的方块。数字1~7分别对应7种方块

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。