- 1
- 2
- 3
- 4
- 5
获得赏金
15.00元STM32掌上游戏机 OLED屏 矩阵按键 超级马里奥
资料介绍
这个项目主要实现了一个基于 OLED 屏幕的各类小游戏,包含了 OLED 屏幕的初始化与操作,以及游戏的核心逻辑,下面为你详细介绍各个文件:
以马里奥小游戏为例:
下面是代码部分的讲解:
mario.c
该文件实现了马里奥游戏的核心逻辑,包括角色控制、地图更新、物体显示和碰撞检测等功能,主要功能如下:
角色控制:
Man_Control:处理按键输入,控制马里奥的移动、跳跃和下管道等动作。
地图更新:
Gat_MapData:移动时更新地图缓存,处理地图的滚动和物体的生成。
Show_Map:显示地图缓存中的数据,包括墙、道具墙等。
物体显示:
Show_AutoObject:显示自动移动的物体,如敌人蘑菇、乌龟和放大菇,并处理碰撞检测。
Show_Property:显示金币,并处理金币的上升、下落和地图移动补偿。
下面是马里奥游戏的逻辑:
Mario_Play:游戏主循环,初始化地图数据,不断显示物体和地图,并在游戏结束时显示游戏结束界面。
Game_Wing:游戏获胜的踩旗子动画,并显示最终得分。
初始化游戏地图数据,根据回合数设置不同的地图页,并调用Init_MapDate函数进行地图数据的初始化。
初始化按键 (Key_Init()) 和 OLED 屏幕 (OLED_Init())。
进入无限循环,不断调用 Mario_Play() 函数来运行游戏。
马里奥的控制与移动,要用按键发出信号控制人物的移动:
跳跃:当按下跳跃键且马里奥不在下落状态时,设置跳跃高度限制并标记为跳跃状态。
向右移动:根据马里奥的位置和是否撞墙,决定是马里奥自身移动还是更新地图。
向左移动:当按下左键且不撞墙时,马里奥向左移动。
向下移动:当按下下键且下方是管道时,触发下管道动画并重置地图。
因为人的下落速度不是线性的,要考虑到重力,引入重力函数。
下落检查:如果马里奥下方没有障碍物且不在下落状态,则标记为下落状态。
跳跃处理:在跳跃过程中,检查是否撞墙,根据墙的类型进行不同处理,如生成金币、撞碎普通墙等。
下落处理:如果下方有障碍物,则停止下落;如果掉下悬崖,则调用 Game_Over() 函数。
最终效果展示图:
部分文件列表
文件名 | 大小 |
马里奥实验台(新增下管道版本)/ | |
马里奥实验台(新增下管道版本)/DebugConfig/ | |
马里奥实验台(新增下管道版本)/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf | 7KB |
马里奥实验台(新增下管道版本)/EventRecorderStub.scvd | |
马里奥实验台(新增下管道版本)/Game/ | |
马里奥实验台(新增下管道版本)/Game/Mario.c | |
马里奥实验台(新增下管道版本)/Game/Mario.h | |
马里奥实验台(新增下管道版本)/Game/Mario_Data.c | |
马里奥实验台(新增下管道版本)/HardWare/ | |
马里奥实验台(新增下管道版本)/HardWare/Key.c | |
马里奥实验台(新增下管道版本)/HardWare/Key.h | 1KB |
... |
- 21ic小能手打赏了15.00元
最新上传
-
21ic小能手 打赏10.00元 7小时前
-
21ic小能手 打赏5.00元 7小时前
-
21ic小能手 打赏5.00元 7小时前
资料:温控制冷箱单片机程序
-
21ic小能手 打赏15.00元 7小时前
-
21ic小能手 打赏20.00元 13小时前
-
21ic小能手 打赏10.00元 13小时前
资料:红外遥控接收实验
-
21ic小能手 打赏10.00元 13小时前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
资料:格力凉之静外机原理图
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:小猫做电路
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏210.00元 3天前
用户:kk1957135547
-
21ic下载 打赏210.00元 3天前
用户:w178191520
-
21ic下载 打赏210.00元 3天前
用户:liqiang9090
-
21ic下载 打赏100.00元 3天前
用户:jh03551
-
21ic下载 打赏110.00元 3天前
用户:1111111ffgg
-
21ic下载 打赏30.00元 3天前
用户:sun2152
-
21ic下载 打赏25.00元 3天前
用户:玉落彼岸
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏15.00元 3天前
用户:WK520077778
-
21ic下载 打赏15.00元 3天前
用户:x15580286248
-
21ic下载 打赏25.00元 3天前
用户:天融之境
-
21ic下载 打赏5.00元 3天前
用户:qminiup
-
21ic下载 打赏5.00元 3天前
用户:xiaomage1991
-
21ic下载 打赏5.00元 3天前
用户:Nara
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:2KW超声波电源设计
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:八卦PCB图
全部评论(0)