单片机游戏设计
1。概念
对于大部分单片机+LCD 的游戏设计,基本采用前后台方式,就是一个台中断,一个台循
环
(哪个前哪个后忘了),LCD 部分基本是以固定点阵形式设计,什么叫固定点阵??首先
先
明确,我们设计的游戏不是什
么魔兽争霸或 CS,而是黑白形式的固定点阵游戏,例如常见著名游戏贪吃蛇或俄罗斯方
块。他们的每个点
都是预先就固定下来的,而且是比较大的点,这类专门的游戏机玻璃是经过厂家开模出来
的,有固定的 COM,SEG 线,然后接到专门的单片机上,例如常用的 6502 指令集合的单
片
机,呵呵,我以前就用 6502 设计过一个。
对于业余设计的游戏,我们一般用如 128*64 的 LCD 来显示,那么我们设计的时候首先应
该把
这个 128*64 的 LCD 分块,也就是分出固定点阵出来。LCD 的基本点阵是 128*64,就是·
¥##¥总之就是好多个点啦,但我们事实上不一定要运算这么多个点,除非你做的游戏很
有看头。例如你只用左边 64*64 的地方来做贪吃蛇,那么你打算你的贪吃蛇的活动空间是
多
少呢?如果是 8*8 个点的话,算一下就是每个点 64/8,64/8,也就是 8*8 个基本点阵,不过
想好玩一点,当然就是要有 16*16 个点的活动空间啦,那么每个固定点阵就要占 4*4 的基
本
点阵了。要注意,这些 4*4 的东西在 64*64LCD 上共 16*16 个,每个都要用来独立运算。
2。时钟
这个其实是游戏的速度,对于一般的弱智类游戏机,他也代表了难度,物体在每个时钟到
达的时候就传动一次,例如俄罗斯方块没个时刻向下跑一层。赛车游戏每个时刻想前走一
步。一般这类时钟的时间在 0.X 秒到 1 秒之间,物体有规律地匀速运动,让人看到感觉是
连
动。
3。运动
在这里,我先介绍两种比较普遍的弱智游戏机的物体运动规则:柔体传动,刚体传动。
刚体传动
代表作是俄罗斯方块,所谓刚体,就是硬硬的一个东东,运动的时候也不怎么旋转(注
意,俄罗斯方块是会旋转,但其实他是没有经过算法的旋转,纯提取数组的方式,也就是
把一个放块做成 4 个模式的点阵结构,其实就是 4 个方向,呵呵)对于刚体的传动,在每
个
时钟到达的时候向一个方向(很可能是用户输入的)运动一个固定点阵。如果以坐标来表
达,就是物体的所有基本点阵同时向一个方向(X 或 Y)移动一个单位。