Download presentation
Presentation is loading. Please wait.
1
Arduino单片机—— 迷你游戏机 王睿涵 杨梦迪
2
需要的元件
3
需要的元件 Arduino 开源硬件开发平台 硬件(Arduino UNO) 软件(Arduino IDE)
传感器 -> 微处理器 -> 计算机 计算机 -> 微处理器 -> 输出
4
需要的元件 LCD12864 带中文字库的液晶显示屏,共128×64 象素,其内核为ST7920芯片 英文字符、数字、中文汉字、图片
并行模式(11个IO) 串行模式(3个IO) <U8glib.h>
5
需要的元件 按键 输入元件 digitalRead() 信号电压在0~1.16V时返回0,输入信 号在1.83~3.3V时返回1
按键去抖动 松手检测
6
需要的元件 时钟模块(DS1307) 低功耗实时时钟模块 年、月、日、星期、时、分、秒 内置电源检测电路和电池
<RTClib.h>
7
主界面 系统名称 选择游戏 贪吃蛇 俄罗斯方块 日期和时间
8
俄罗斯方块 界面设置 选取96×64区域作为游戏区域,以4×4像素 为一个俄罗斯方块方格。
选取96×64区域作为游戏区域,以4×4像素 为一个俄罗斯方块方格。 上方32×64区域显示游戏信息,包括分数和 下一个方块图形类型。
9
俄罗斯方块 数据结构 Now[4][2] 坐标 Dot[24][16] bool
10
俄罗斯方块 参数 int NowType int NowStatu int NextType
11
俄罗斯方块 主要函数 1、生成: RandNext():随机生成方块种类 RandNow():在顶部随机位置生成对应方块
12
俄罗斯方块 主要函数 2、检查: CheckBottom():与下方方块接触 or 到底边
CheckOverlap():数组Now中所存坐标在Dot中已经为true FullLine():检查某行方块全满则消去 整体下移 GameOver():新生成方块Overlap则游戏结束
13
俄罗斯方块 主要函数 3、移动: MoveBottom() (check bottom)
MoveLeft() (check border、overlap) MoveRight() (check border、overlap)
14
俄罗斯方块 运行流程(单次刷新) While not GameOver: While not Bottom:
刷新(根据speed判断是否下移) 读取按键进行移动 加分 Fullline() randnext() 更新speed
15
贪吃蛇 界面设置
16
贪吃蛇 数据结构 Now[][2] 坐标 Food[2] 坐标
17
贪吃蛇 参数 int direction
18
贪吃蛇 主要函数 1、移动: 平移:根据direction确定0号方块移动方向 转向:根据按键确定0号方块移动方向并更 新direction
19
贪吃蛇 主要函数 2、增长:
20
贪吃蛇 主要函数 3、死亡: Now[0][]与Now[i>0][]重合 超出边界
21
贪吃蛇 运行流程(单次刷新) While not GameOver: 根据speed判断是否平移 读取按键进行转向 判断是否获得食物: 加分
22
Thank You!
Similar presentations