利用int 10h图形模式,绘制5象素宽,5象素长的小方块,每四个小方块组成一个俄罗斯方块
要绘制这四个方块只要这四个方块左上角的坐标就可以了
第一步:完成绘制小方块的函数(要求提供这个方块左上角的坐标)。
第二步:绘制俄罗斯方块,要四个坐标,调用四次第一步写的函数。
第三步:罗斯方块一共19种,写出这十九种方块的初始坐标(4对数据表示方块左上角坐标),保存在数据段
第四步:写一个随机数生成子函数,范围0-18,用来决定显示那种方块
第五步:方块的变形,在方块的4对坐标上加减相应的数值实现变形,计算每种方块变形后的方块应该在每对坐标上加减的值,4对坐标一共是8个修正值,在这8个修正值后面再开一个存储空间,用一个数字记录现在方块的形状(0-18不同数字表示不同方块)
第五步:编写变形修正函数,为如变形后超出左右边框,则调整下,向右或左平移下;如果变形后与已存在的方块重叠,则变形失败,不给变形。
第六步:对左右方向键的响应,对应按一次方向键平移5个像素
第七步:平移修正,如果平移后会超出左右边框,则不平移
第八步:考虑消行,用一段内存记录屏上有方块存在的点,有标1,无标0,如果整行都是1(这一行相加结果是10则消行,上面整体下移一行,最上面一行全置0)
最后就是算分和算等级了
以上是思路
附件给出代码注意测试在XP下正常,vista下不行,它不支持全屏显示
- 标 题:16位汇编写的俄罗斯方块小游戏
- 作 者:初空如风
- 时 间:2011-01-13 14:52:42
- 链 接:http://bbs.pediy.com/showthread.php?t=128073