他们最近给了我Micro:Bit。 从英国广播公司(BBC)到现在,这种用于教学的小学生越来越受欢迎(尤其是在中国人答应让自己的克隆书便宜大约两倍之后)。 我本人知道Arduino,是我们国家的先驱者之一,他展示了如何用Scratch和这条围巾穿过Arduino ...起初我并不感兴趣。 但是不久之后,这个想法就诞生了:但又不想与棋盘游戏相提并论吗?
我本人是“桌面”的作者,他们的粉丝。 相当友好的编程环境的出现(最初是用Python和Java编程的,但是有一个带有模拟器的块环境)使我尝试实现这一想法。
我必须立即警告您-我不是程序员! 这很好,因为即使是我的小学生和你们中的任何一个都可以重复我的研究。 并让自己成为“自定义”设备,以帮助并简化棋盘游戏的生活。

第一个提出了实现普通D6骰子(从1到6)的想法。 言归正传。 运行
makecode.microbit.org环境
,我绘制了一个简单的程序,当您按A按钮时,它会生成一个1到6之间的随机数,并将其显示在设备的LED矩阵上。
为了“装饰”代码,我添加了几张立方体和瞧的“世代”图片。 准备一个简单的电子立方体。

如果您需要D12立方体? 我们生成最多12个随机数。D20? 当然要等到20。 但是问题在于,只有一位数字放置在“屏幕”上,并且两位数字被滚动,但是通过命令将它们输出到矩阵只有一次。 怎么办 我必须添加一个变量来存储结果,显示周期并通过按下按钮B来重复最后一次掷骨的值。

用“晃动”(Micro:钻头具有加速度计)的读数代替按下按钮的事件,可以使“投掷”过程更加现实。
如果您需要掷两个骰子? 任务变得更加有趣。 另外,我想用点做骰子。 幸运的是,矩阵(大小为5x5)由足够远的LED组成,如果您甚至在附近将它们点亮,则可以轻松地区分“统一”和“六个”。
现在,我正在为《大富翁》和《殖民者》(投掷2个骰子)或《町町》(在游戏中必须投掷一两个D6骰子)等游戏制作“骰子”。 但是问题在于显示这些抛出。
如我上面所写,矩阵位于Micro:5x5位。 要显示常规的六边形立方体,我们需要3x3 LED。

两个多维数据集也可以一个接一个地显示在中心,但是在视觉上很难读取它们。 因此,我决定以无限循环方式显示一个立方体,该立方体的左上角偏移量,第二个立方体的右下方偏移量,直到执行其他操作为止。
发现while命令不适用于读取按钮按下事件并从变量编写拐杖系统并对其进行检查,因此得到了所需的结果。 通过按下按钮A,在B上生成了一个多维数据集-两个骰子,A + B关闭了屏幕,并使系统进入了初始状态。
我还决定使用简单的公式dice = round(随机(从50到649)/ 100)来“玩弄”随机数生成器。 “多维数据集”开始变得更加现实一些。
最终的“怪兽代码”是这样的(用于直接输出多维数据集图形的代码不合适,因为它使用的很低)。

可以在视频中看到工作的结果:
已经很有趣了。 此外,由于角落的移动,可以依次显示多达5个立方体,并且可以很容易地依次显示它们。
我还能做点什么吗? 在我的新棋盘游戏“ Parobot Card League”中,骰子将用于两件事:确定当前回合中给玩家的奖金,以及确定运动场上机器人bot的团队。 因此,决定实施以下措施:
- 圆形柜台(共有8个)
- 本轮奖金的确定(按钮A)
- Bot命令定义(按钮B)
- 前进到下一轮(重复按下按钮A)
我实现了“自定义”多维数据集,在屏幕上立即显示掉落的奖励卡的符号(如果不是,则为N)以及Bot团队的信息图表-移动箭头(前进,后退,左右旋转,命中和防守)。

视频中显示了程序的工作方式:
由于下载到Micro:Bit很简单(只需通过micro-USB将其连接到计算机并将程序十六进制文件传输到出现的磁盘的根目录),我在网站上制作了一个页面,在其中放置用于各种棋盘游戏的现成“预设”:
www.simplerobot.org/elektronika在这里,您可以找到现成的十六进制文件和到源代码的链接。 用于健康。 您可以在相同的Amperka上购买板,也可以在Ali上“从中国购买”板。
您还想做什么? 首先,通过将电池的屏蔽层拧到板上来从外部电源“松开”板。

其次,尝试在与计算机对手单独玩耍的“自动”板的基础上实施,并使用内置的指南针和加速度计。
如果您为棋盘游戏创建了自己的自定义程序并将其发送给我,我很乐意将其发布在网站上。 或者,我可以根据您的要求(尽我所能和董事会的局限性)做到这一点。