基于单片机的游戏机设计与实现毕业设计43343881.ppt
文本预览下载声明
基于单片机的游戏机设计与实现 主电路图 主流程图 开始 初始化液晶屏 显示开机画面 扫描端口 执行移动或者旋转程序 开始游戏 扫描端口 Y N 是否有按键按下 游戏是否结束 显示结束画面 N N Y Y 是否有按键按下 液晶屏显示 液晶屏是由KS0108控制FG12864E显示 无字库、无背光 分左右屏控制 横128列,纵64行,每8行一个page,共有8个page 可以显示32个汉字,分为4行8列 游戏画面时的液晶显示 显示分数 显示速度 下个图形 游戏区域 提示按键操作 方块生成 方块是由四个小正方形组成的,其中每个小正方形是由4*4个点组成,将这4*4个点看做一组点阵,可以直接对这组点阵进行编辑。 图1 一组4*4的点阵 当画俄罗斯方块时需要4*4个点阵,也就是16*16个点。将每个点阵看成一组,然后对整个4*4的点阵进行编辑,将每个点阵看成一位二进制的数,因为每个点阵都有被编辑(记为1)和不被编辑(记为0)两种状态。所以一个4*4位的点阵可以看成一个四位的十六进制数。 如图2所示俄罗斯方块中的一个图形,它的代码为0x2e00 图2 俄罗斯方块中 的一个图形 俄罗斯方块总共有7种类型,分别如图3所示 图3 七种俄罗斯方块 其中每种方块有四种形状,即每种方块旋转之后的变形。在编程时将这28个图形分类型编辑在生成方块函数中。 方块旋转与移动 方块的旋转用嵌套的switch完成: switch(类型) { case0:switch(形状)//第一种类型 { case0:第一种形状; case1:第二种形状; case2:第三种形状 ; case3:第四种形状; } case1:switch(形状)//第二种类型 …… } 方块的移动: 1、方块的自由下落: 由定时器0控制方块下降。 2、按左或右键: 编辑显示数组中的列,让列加一或者减一。 3、按下: 先检测是否能下降,如果能就下降,直到不能再下降为止。 谢谢
显示全部