2020-3-23 22:40:15 [显示全部楼层]
1813浏览
查看: 1813|回复: 2

【GDW】便携式手持游戏机——小精灵吃豆豆

[复制链接]
上一篇文章

【GDW】便携式手持游戏机——小精灵吃豆豆图1

《七绝·春分》
(左河水)

风雷送暖入中春,
桃柳着装日日新。
赤道金阳直射面,
白天黑夜两均分。
看到RRoy老师分享的|用树莓派做一个木制LED游戏显示器,被深深的吸引了!
今天利用树莓派和Sense Hat结合分享一款便携式手持游戏机,
便携式手持游戏机已经成为70后、80后童年的美妙回忆;
让我们拿起手中游戏机再次回忆一下美好童年的快乐!
【GDW】便携式手持游戏机——小精灵吃豆豆图2
一、思路:
     该项目利用一个基于Sense HAT 的8x8像素的LED显示屏,可以轻松实现很多有意思的小游戏。当玩家通过获取Sense HAT上遥控杆方向,控制Sense HAT上小精灵(rgb绿灯)运动的轨迹,当Sense HAT小精灵(rgb绿灯)和小豆豆(rgb红灯相遇时,树莓派自动计分显示!
【GDW】便携式手持游戏机——小精灵吃豆豆图5

二、环境
(一).硬件:
1.树莓派3B(含电源 )       x1
2.古德微树莓派镜像2.2.1     x1

3.Sense HAT                 x1
4.纸张、胶带、剪子等        x1
(二).软件:
1.古德微编程平台
三、游戏机外壳制作:
第一步:使用蓝色的瓦楞纸,将裁剪大小:13*9(cm);

第二步:将玩楞纸对折,剪子将镂空;
第三步:红色水笔写上标题。
【GDW】便携式手持游戏机——小精灵吃豆豆图3



四、编写程序
(一)、程序流程图
【GDW】便携式手持游戏机——小精灵吃豆豆图6
(二)、初始变量
1.熄灭点阵屏;
2.变量分数score=0;
3.定义精灵的颜色绿色,初始位置 :x=3;y=3;
4.定义豆豆的颜色红色,位置随机出现:x1(0-7);,y1(0-7);

【GDW】便携式手持游戏机——小精灵吃豆豆图7

【GDW】便携式手持游戏机——小精灵吃豆豆图9

(三)、
获取sensehat遥控杆数值子程序
1.变量g:获取遥控杆参数;
2.变量fangxiang:获取遥控杆方向值;
3.在按遥控杆之前,分别显示小精灵和豆豆位置。

【GDW】便携式手持游戏机——小精灵吃豆豆图8

(四)、小精灵子程序
1.当fangxiang=right时,x=x+1,豆豆向右移动,
当x<=7时,小精灵继续向右移动,x-1消除小精灵的轨迹,显示(0,0,0)
当x>7时,小精灵跑出游戏界面,x=0,小精灵回到最左边,继续寻找小豆豆;消除小精灵x=7的尾巴。
【GDW】便携式手持游戏机——小精灵吃豆豆图10

2.当fangxiang=left时,x=x-1,豆豆向左移动,
当x>=0时,小精灵继续向左移动,同时,x+1消除小精灵的轨迹,显示(0,0,0)
当x<0时,小精灵跑出游戏界面,x=7,小精灵回到最右边,继续寻找小豆豆;消除小精灵x=0的尾巴。
【GDW】便携式手持游戏机——小精灵吃豆豆图11


3.当fangxiang=down 时,y=y+1,豆豆向下移动,
当y<=7时,小精灵继续向下移动,y-1消除小精灵的轨迹,显示(0,0,0)
当y>7时,小精灵跑出游戏界面,y=0,小精灵回到最上边,继续寻找小豆豆;消除小精灵y=7的尾巴。
【GDW】便携式手持游戏机——小精灵吃豆豆图12

4.当fangxiang=up时,y=y-1,豆豆向上移动,
当y>=0时,小精灵继续向上移动,同时,y+1消除小精灵的轨迹,显示(0,0,0)
当y<0时,小精灵跑出游戏界面,y=7,小精灵回到最下边,继续寻找小豆豆;消除小精灵y=0的尾巴。

【GDW】便携式手持游戏机——小精灵吃豆豆图13

5.当小精灵吃到小豆豆时,小精灵和小豆豆消失,计数加一,显示分值。
即x=x1 ;y=y1,,显示字符“0”,分数计数为1,即sorce=sore+1,等待1s,小精灵出现在碰到豆豆位置,小豆豆随机出现。
【GDW】便携式手持游戏机——小精灵吃豆豆图14



(五)、全部函数,最终程序。
【GDW】便携式手持游戏机——小精灵吃豆豆图15


【GDW】便携式手持游戏机——小精灵吃豆豆图16



五、知识拓展
1.认识sensehat
Sense Hat是Raspberry Pi的附加板,它有一块8x8的led阵列,以RGB的模式显示字符,所以可以把它视为一个彩色像素屏。
此外它还带有一个五个按钮的操纵杆,同时携带6个传感器,分别是陀螺仪传感器、加速度传感器、磁传感器、温度传感器、气压传感器、湿度传感器。使用时直接插到树莓派的针脚阵列上即可使用,十分方便。
2.点阵屏坐标说明
为了便于学习,我们把点阵屏看成坐标轴,原点在点阵屏左上角(0,0),rgb的位置用(x,y)表示;
X值:表示“行”,由左向右依次变大,范围(0-7)
Y值:表示“列”,从上向下依次变大,范围(0-7)
【GDW】便携式手持游戏机——小精灵吃豆豆图4


六、视频回放




DFrJ5KYVQaH  中级技匠

发表于 2020-3-24 15:37:56

有趣,好玩
回复

使用道具 举报

rzegkly  版主
 楼主|

发表于 2020-3-24 16:36:52

谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail