分类目录归档:杂文

运行在裸机上的俄罗斯方块游戏

操作系统课的第一个大实验…

Github:https://github.com/wx-csy/OSLab0-Tetris

因为关于硬件的具体细节都在AM里面封装好了,所以写起来和写正常的程序并没有太大的区别,只是轮子得重新再造一遍…

玩法说明

运行make run,进入游戏。注意,工程的Makefile文件已经被修改,请运行修改过后的Makefile文件。

进入qemu后,首先运行自检程序,并在终端中打印当前机器的基本情况、设备信息和时间信息。随后,播放Splash界面(可按return键跳过)。按C键进入游戏。

左右键控制当前方块的位置,上键顺时针旋转当前方块,下键逆时针旋转当前方块,空格键加速下落。消除单行可获得1分,单次消除2行获得3分,单次消除3行获得5分,单次消除4行可获得8分。其他规则和经典的俄罗斯方块游戏基本一致。由于Wall kick系统尚未实现,诸如L-spin等骚操作暂时无法使用…

主要技术说明

图片和文字

游戏中的图片素材,除ProjectN的logo外,均使用GIMP工具制作。

使用GIMP的export功能,可将图片导出为C源代码格式,然后逐点绘制在屏幕上即可。

文字使用点阵字模。每个ASCII文字的形状以16*8点阵的形式存储在程序中,绘制时根