单片机/MCU论坛
直播中

bodasister

9年用户 632经验值
擅长:嵌入式技术 micropython 单片机 开发板
私信 关注
[资料]

Python 开发接豆人小游戏 TurnipBit

Python 开发接豆人小游戏 TurnipBit最近入手了一款MicroPython的开发板-TurnipBit,这个板子比较适合单片机入门,以及青少年编程,因为它有配备的在线图形编程

准备工作
ü  TurnipBit 开发板 1块
ü  下载数据线 1条
ü  接入网络的电脑 1台
ü  在线可视化编程 (详见评论区)

通过坐标点亮LED
1TurnipBit背面有5*5LED点阵屏。通过前5个章节的学习,我们已经实现过显示内置图像和自定义图像的功能了。今天给大家介绍一种新方法——通过坐标(XY)点亮指定的LED灯。功能区点击显示,选择设置第XYLED的亮度。如下图:
1.png
通过上面的方法,我们就可以点亮指定的LED灯。接下来看一下TurnipBit背面的LED显示屏中每个点的坐标位置。如下图:
turnipbit-led.png
接豆人小游戏的开发
2、我们用1个点亮的LED灯来表示接豆人。首先给它设定一个初识的位置,设置在第4行第3列(X=2Y=4)的位置,也就最后一行中间的位置。亮度设置范围:0(不亮)至9(最亮)之间的整数。如下图:
2.png
3、接豆人准备好了,接下来就要设定随机落下的豆子了。设定豆子从第一行某一个列上开始掉落。Y轴的值应该是从0不断递增到4的,X轴的值需要从0~4之间随机抽取,这时就需要用到随机数函数。
新建一个变量x,用它来存储随机数函数返回的值,同时也是豆子X轴的值。如下图:
3.png
4、豆子的Y轴的值是从0~4有规律递增的,所以我们就用到循环里的【使用i从范围1100每隔1执行的循环拼插块】。将范围改为04。如下图:
4.png
5、我们将不断变化的i赋值给豆子的Y行。如下图:
5.png
6、接下来我们要实现豆子移动的效果。设定每隔350毫秒移动一行,而且还要记得要将上一个点亮的LED关闭,要不然就达不到移动的动画效果了。如下图:
6.png
7、随机掉落的豆子效果完成了,接下来我们要完成接豆人的移动效果。接豆人只需要进行水平方向的左右移动,所以它的X列的值是需要动态变化的,先新建一个变量row存放接豆人X列的值。如下图:
7.png
8、实现接豆人的移动需要使用按键AB。设定当按键A按下时,接豆人向左移动一格(row-1);当按键B按下时,接豆人向右移动一格(row+1)。如下图:
8.png
9、还需要再考虑一个问题,当row的值大于4或者row的值小于0时的情况。所以,我们设定当row的值大于4时,重新给row赋值0;当row的值小于0时,重新给row赋值4。这样的话,接豆人就可以循环的移动了。如下图:
9.png
10、接豆人和豆子的移动轨迹都设定好了,接下来我们就要判断当豆子掉落到最后一行时,接豆人所处的列是都和豆子的列是一致的呢?当一致时,就说明接豆人接豆成功了;当不一致时,说明接豆人接豆失败了。如下图:
10.png
11、下面我们来完成计分的功能,设定共进行3局,接到豆子一次加1分,没有接到不加分。最后3局结束后,显示最终分数。接豆人小游戏的整体拼插图如下:
11-1.png
11-2.png



  • 1.png
  • 2.png
  • 3.png
  • 4.png
  • 5.png
  • 6.png
  • 7.png
  • 9.png
  • 8.png
  • 10.png
  • 11-1.png
  • 11-2.png
  • turnipbit-led.png

回帖(2)

李明

2017-12-20 14:27:40
这种编程方式看着有点累啊,还是喜欢if while
举报

bodasister

2017-12-21 14:11:14
主要是适合青少年编程入门,拖拖拽拽就行。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分