查看: 3450|回复: 2

[应用教程] 重温经典:micro:bit gamepad制作吃豆对战游戏

[复制链接]
本帖最后由 hnyzcj 于 2018-5-8 16:53 编辑

吃豆游戏是一款经典桌游,吃掉画面上全部小豆子就过关。今天我们要用DF的micro:bit gamepad来做一款吃豆对战游戏。
IMG_20180506_100648_HDR.jpg IMG_20180506_154239_HDR.jpg IMG_20180506_154613_HDR.jpg
分析游戏角色与功能
游戏角色:
吃豆的虫子、被吃的豆子
功能:
1、通过手柄up、down、left、right按钮控制吃豆的角色移动。
2、被吃的豆子随机出现在点阵屏上。
3、当吃到豆子后LED亮起、手柄震动、显示笑脸屏幕。
4、完成10次吃豆后,播放一段音乐,手柄、LED持续震动。
5、两名参与者竞赛,率先完成者显示Winner,后完成者显示Fail。

器材:

功能模型:
未标题-1 拷贝.jpg

制作过程:
一、添加软件包
由于此次使用的是micro:bit gamepad作为手柄,在makecode图形化编程中,需要添加gamepad的软件包。操作如下:
02.png
鼠标点击Add Package”弹出“Add Package”对话框,在地址栏中输入需要添加的软件包地址。
03.png
即可添加gamepad软件包,如下图所示
04.png
二、程序编写
a.程序初始化:无线频道、分数、飞屏、结束标志位FLAG、豆子初始位置、虫子初始位置。
05.png
设置无线通讯频道为1组;
设置初始分值为0
设置飞屏显示Retro Snaker”及倒计时321
设置结束标志位Flag,初始为0
设置豆子dot1位置,随机出现;
设置虫子dot2位置,X=0,Y=0

B. 移动控制虫子:使用gamepad模块完成对虫子的移动控制。
06.png
IMG_20180507_045941_HDR.jpg
C. 游戏重置
07.png
[tr][/tr]
  



当按下X键后,设置结束标志位为0,删除豆子dot1虫子dot2,重置分数为0,关闭LED
D.通讯阶段代码
08.png
当接收到对方发来的数字为1时设置结束标志位1,删除豆子dot1和虫子dot2,显示字符“Fail”。
E.主程序代码:
09.png
IMG_20180507_045956_HDR.jpg
条件判断虫子是否吃到豆子,如果吃到了豆子dot1,则删除动态,显示笑脸符,手柄震动、LED亮起,等待500MS后关闭手柄震动和LED。豆子dot1随机出现,分值加1。如果分值大于等于10的时候播放一段音乐,手柄和LED做出相应动作删除虫子DOT2和豆子DOT1。同时判断结束标志位是否为0,如果为0,无线发送数字2

F. B手柄程序
只要将上述步骤D中的条件判断改为“received number=2”;E步骤中的发送数字改为“radio send number 1”既可。
IMG_20180507_050050_HDR.jpg

一起愉快的玩耍………………
IMG_20180506_154620_HDR.jpg
IMG_20180506_154721_HDR.jpg
IMG_20180506_155648_HDR.jpg





rzyzzxw  版主

发表于 2018-5-7 08:39:24

很有趣哦。赞一下。
回复 支持 反对

使用道具 举报

gray6666  中级技匠

发表于 2018-5-11 15:19:41

羡慕。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

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

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

mail