• UID1571
  • 登录2018-07-17
  • 粉丝5
  • 发帖139
  • 科研点数0点
优异服役勋章
耕耘者十字勋章
zt07elecfreaks 发布于2018-01-22 15:16
0/710

用micro:bit做剪刀石头布的游戏

楼层直达

图片:0.jpg



相信大家都玩过石头剪刀布的游戏,这个看似很公平的游戏其实存在两种致命缺陷,就是出手时的快慢和作弊!我们知道,BBC Micro:bit自带蓝牙功能,不同的Micro:bit间可通过蓝牙进行数据的传输。今天,我们就要利用Micro:bit的蓝牙功能来制作石头剪刀布的游戏,通过看不见不摸着的蓝牙信号来传输大家出的是石头、剪刀还是布,完全杜绝了石头剪刀布游戏中的作弊行为。

图片:1.png

图片:1.png


目的:
通过本文的学习,初步掌握micro:bit蓝牙功能的使用,包含group ID的设置、数据发送、数据接收。

任务要求:
1、按A按钮选择石头、剪刀或者布。
2、按B按钮确认我们的选择,同时,把我们的选择通过蓝牙发送给对方。
3、假如我们完成了选择,并且也接受到了对方发送来的蓝牙信号,Micro:bit就判断胜负,并且在屏幕上显示。

配置清单:
Micro:bit   ×2
USB线     ×2

编程:
1步:
设置蓝牙分组,这里我们设置成13,只有两块Micro:bit的分组设置相同才能进行蓝牙通讯。用变量button来作为确认按钮(B按钮)按下标志位,0为未按下,1为按下。
用变量recevied来作为接收蓝牙信号标志位,0为未接收,1为未接收。
用变量item来保存我们的出拳状态,0表示石头,1表示剪刀,2表示布。

图片:2.png



2步:
设置A按钮的功能,每按一次,图形就会按顺序变化一次。
我们用图形来表示石头,用图形来表示剪刀,用图形来表示布。

图片:3.png



3步:
设置B按钮的功能,通过蓝牙信号,把我们的出拳状态(也就是item变量)发送出去。同时把确认状态位置1

图片:4.png



4步:
设置蓝牙接收,把接收到的数据保存在变量receiveNumber中,同时把接收完成状态位置1

图片:5.png


5步:
while循环中判断,一旦我方和对方都出拳了,就开始比较胜负,用表示胜利,用表示失败,用表示平局。

图片:6.png



接下来,我们就把代码下载到micro:bit中看看效果吧。

图片:7.gif



你可以通过下方的页面直接下载程序:
https://makecode.microbit.org/_e7q0bcMVXAuX

思考:
如果我想随机出石头、剪刀或者布,该如何修改程序?

关键词:
Microbit、分歧、石头、剪刀、布、蓝牙、通讯



您需要登录后才可以回帖
发表回复

杩斿洖椤堕儴