Presentation is loading. Please wait.

Presentation is loading. Please wait.

Arduino单片机—— 迷你游戏机 13307130217 王睿涵 13307110483 杨梦迪.

Similar presentations


Presentation on theme: "Arduino单片机—— 迷你游戏机 13307130217 王睿涵 13307110483 杨梦迪."— Presentation transcript:

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!


Download ppt "Arduino单片机—— 迷你游戏机 13307130217 王睿涵 13307110483 杨梦迪."

Similar presentations


Ads by Google