少儿编程比赛常见算法 (少儿编程对应赛事)

本节目标

先看一下比赛中计分器都是什么样的?

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

记分牌

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

记分牌

本节课的目标就是用Microbit和四位数码管做一个简易版记分牌。

课前准备

Microbit板子

TM1637数码管

Microbit扩展版

连接线一组四根

接线

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

整体接线效果

要特别注意时钟线和数字线的插线方法

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

数字线和时钟线插在了13 14引脚

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

数码管的接线

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

代码中和硬件要保持一致

CLK、SCK一般称作为时钟线,SDA、DIO一般称作为数字线。称呼可能不同但是作用相同。

逻辑梳理和编码过程

需求

有红、蓝两个队伍,红队进球红队加一分,蓝队进球蓝队加一分。

开始模拟这个效果,按下A按钮视为红队得分,按下B按钮视为蓝得分。

编码

继续在Makecode中实现,对makecode不熟悉的可以看Micro:bit少儿编程入门第一课

对TM1637基本使用不熟悉的可以看Micro:Bit 连接TM1637数字显示屏

  1. 初始化工作,首先引入TM1637的扩展,初始化TM1637,

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

初始化TM1637

2.初始化一个分数变量。这里要详细说明,数码管最多可以显示4位数字,也就是0000~9999的范围,两队的话最多显示99:99的比分。我们这次主要使用函数是

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

显示数字

新建一个变量score作为比分。

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

在makecode菜单栏设置一个变量score

初始数字是0000四位,红队得一分应该显示为01:00,其实为0100,相当于score加上100;这时蓝队又得了一分应该显示01:01,其实为0101,相当于score加1。

就在此时红队进一球

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

用A按钮模拟红队进球

蓝队不甘示弱也得一分

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

用B按钮模拟蓝队得分

主要思路和逻辑至此已经基本完成。剩余的就是完善细节。完整代码奉上

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

完整代码

注意我在初始化的时候使用了:

幼儿园的少儿编程赛事,少儿编程排位赛教学视频

显示:

这个函数的作用就是显示数码管中间的冒号“:”true 显示,false不显示,这样更加趋近于比分牌的样子。

看一下最终成果吧。

视频加载中...

完美达到了我们的预期成果。

课程总结

  1. 实践了TM1637数码管的使用。
  2. Microbit配合扩展版的结合使用。
  3. 数字线和时钟线的插线方法,这个比较重要,很多传感器模块都使用这个方法。
  4. 分数逻辑的转化,这个算法应该是核心了。

学习编程学的就是逻辑思维能力和解决问题能力。