大数跨境
0
0

【行空板K10基础入门教程】第02课:打地鼠游戏

【行空板K10基础入门教程】第02课:打地鼠游戏 蘑菇云创造
2024-11-14
3
导读:今天我们要尝试用行空板 K10 板载的加速度传感器,开发出我们的打地鼠游戏,一起来试试吧!

点击“蘑菇云创造”关注我们


Hi,欢迎各位来到行空板 K10的第二课!打地鼠是一款非常经典的街机游戏,后来在网络上也出了打地鼠的游戏,相信大家都不陌生。今天我们要尝试用行空板 K10板载的加速度传感器,开发出我们的打地鼠游戏,一起来试试吧!



►►►

任务目标

在行空板 K10上创建游戏场景,利用加速度传感器来判断能否打中地鼠。

如果能够打中地鼠,我们就亮绿色的灯,同时播放 F4 音调;如果打不中地鼠,我们就亮红色的灯,同时播放 A3 音调。

►►►

知识目标

1、 理解程序中的变量概念

2、 掌握行空板K10板载加速度传感器的使用

3、 掌握行空板K10灯光、音调效果的设置

4、 掌握逻辑运算符的使用方法

►►►

材料清单

硬件清单:

软件使用:

Mind+编程软件

1.软件压缩包下载:

* 网页下载:https://download3.dfrobot.com.cn/K10/Mind%2B1.8.0_RC1.0_test_20241012.zip

* 百度网盘下载:https://pan.baidu.com/s/1M-hIPZkChjIGu8weQtsNoA?pwd=17d6 提取码: 17d6

*夸克网盘下载:https://pan.quark.cn/s/aca3ee1434d3

2.将压缩包解压,注意解压过程中关闭杀毒软件,解压后文件夹路径不含中文,解压后文件夹路径不宜过长

3.打开解压后的文件夹,找到 Mind+.exe,双击打开

4.若编译任何代码都报错,建议在解压时将所有后台的杀毒软件退出,将解压出的文件夹放到 C 盘根目录,文件夹的名字改为"win-ia32-unpacked20241012"。文件夹中的 exe 文件,不可直接拖到桌面,要右键-发送到桌面快捷方式。

►►►

软件基础使用

1、 打开 Mind+,切换到上传模式

2、 加载行空板 K10

基于前面的操作,只需要点击“扩展库”,找到“官方库”下的“行空板”模块点击完成添加,点击返回后,就可以在“指令区”找到行空板K10,完成行空板K10 加载。

3、连接行空板 K10

首先,你需要通过 USB 连接线将行空板K10连接到计算机,

然后,点击连接设备后,点击 COM7-UNIHIKER K10 进行连接。

注:不同行空板 K10 的设备名称可能不同,但都是以 K10 结尾。

►►►

动手实践

接下来一起动手完成今天的课程任务吧。我们将从创建打地鼠的游戏场景开始,逐步学习如何在行空板K10上利用板载加速度传感器实现打地鼠的游戏功能。

任务一:创建游戏场景

这一部分我们要创建初始化的游戏场景,并且让地鼠能够在四个洞口随机出现。

任务二:判断是否砸中地鼠

这一部分我们主要实现利用板载的加速度传感器判断是否砸中地鼠的功能。

任务三:游戏反馈效果设置

这一部分我们主要进行是否砸中地鼠的效果设置。


任务一:创建游戏场景

1、 硬件搭建

确认使用 USB 连接线将行空板K10连接到计算机。

2、 软件准备

确认已打开 Mind+,在 Python 图形化模式下出现预设代码,成功加载行空板。接下来就可以编写项目程序了。

3、 编写程序

STEP1:使用 缓存显示本地加载图片 指令,设置游戏的初始场景,相关的设置如下。

STEP2:设置地鼠在四个洞口随机出现。

在这个游戏中,地鼠会从四个洞口随机冒出,四个场景各对应一张图片。因此,为了每隔两秒地鼠能够随机从一个洞口出来,我们需要用到 在()和()之间取随机数的指令,并用变量“位置”记录得到的随机数,相关的程序设置如下。

在()和()之间取随机数指令的使用:

新建变量“位置”,并将随机数赋值给变量的操作如下:

注:关于“变量”的更多信息,详见“知识园地”


STEP3:设置地鼠在对应位置出现图片。

在前面,我们已经用变量“位置”存储下了当次游戏的随机数,我们需要用 如果()那么执行();否则如果()那么执行() 指令,对不同随机数对应出现的地鼠图片进行设置,相关程序代码如下。

为了让主程序不显得太“臃肿”,我们把每个功能下的代码封装到“函数”当中,在主程序当中,我们只需要调用对应的函数,就可以实现相对应的功能,函数的定义操作如下:

游戏场景设置模块完整代码如下图:

4、 程序执行

STEP1:检查并保证行空板K10已连接 Mind+,即在“菜单栏”部分显示 IP;

STEP2:点击界面右上方的上传到设备按钮;

STEP3:观察行空板K10屏幕显示效果(参考下图)。


任务二:判断是否打中地鼠

在这个游戏中,我们通过板载的加速度传感器检测行空板K10的倾斜姿态,如果地鼠在前边出现,那么只有行空板K10监测到姿态为“向前倾斜”时,才能满足打中地鼠的条件。

1、 编写程序

STEP1:判定是否砸中地鼠。

我们需要先利用 当前姿态为向前倾斜?指令判断行空板K10的倾斜状态,接着用 如果()那么执行();否则如果()那么执行() 指令,判断倾斜方向是否跟地鼠出现的位置一致,如果一致,我们就赋值变量“砸中”为“1”,表示砸中地鼠。要注意,我们在最开始要先给“砸中”赋值为 0,确保每次只有砸中地鼠时,才能赋值为“1”。

当前姿态为向前倾斜? 指令的使用以及行空板的倾斜方向如下图所示:

注意:要了解加速度传感器的更多信息,详见“知识园地”。

如果()那么执行();否则如果()那么执行() 指令判断倾斜方向与地鼠位置是否一致,我们需要用到“逻辑与运算”,只有两个条件都满足时,才判断为打中地鼠。行空板K10的倾斜方向以及具体的程序操作如下。

注意:要了解逻辑运算的更多信息,详见“知识园地”

STEP2:设置游戏时间。

为了让玩家在规定时间 2 秒内完成“打地鼠”的任务,我们需要设定变量“time”,用来记录规定时间,即用后获取的系统运行时间减去初始的系统运行时间,如果这个时间超过 2 秒,则判断为游戏失败,未砸中地鼠。相关的程序如下:

判断是否砸中模块完整程序代码如下:

2、程序运行

STEP1:连接行空板K10

STEP2:点击界面右上方的“上传到设备”按钮

STEP3:进行游戏,观察倾斜方向与地鼠出现位置一致时,可以在屏幕上看到地鼠出现的效果图。(如下图)。


任务三:游戏反馈效果设置

在这个任务中,我们需要根据前面经过判断之后,为不同变量“砸中”的值,设置不同的灯光和音效反馈效果。

1、 编写程序

STEP1:设置灯光和音效效果。

对于是否能够砸中地鼠,我们设置两种不同的反馈效果。如果能够打中地鼠,我们就亮绿色的灯,同时播放音调F4 3/4 拍;如果打不中地鼠,我们就亮红色的灯,同时播放音调A3 1 拍

灯光、音调指令的设置指令如下图

STEP2:判定执行

经过前面的判定,打中地鼠,能变量“砸中”值为 1,未打中,则变量“砸中”值为 0,我们使用 如果()那么执行()指令,对不同值分别执行相应事件。

将两种情况下的程序代码,写到两个函数“砸中效果”“没砸中效果”中,完整的程序参考以下代码:

2、 运行程序

点击上传到设备,试玩一下你自制的打地鼠游戏吧!

►►►

知识园地

1、变量

为了便于理解,我们可以将变量看作是一个盒子,给变量赋值就相当于往这个盒子里放东西。变量可以重复的赋值,就是说盒子里的东西是可以拿出来的,拿出来后再往盒子里放另一个东西。

这个程序就是给 flag 变量重复赋值,第一次赋值,相当于在 flag 这个空盒子里面放入了一个数字 0,那么 flag 的值就为 0。第二次赋值时,将 0 拿出来,再将数字 1 放入盒子,flag 的值为 1。

注意:新建变量时,需要给这个变量进行命名,命名时严格遵守变量的命名规则。

(1)一般由数字、字母、下划线构成;

(2)命名不能使用 Python 的关键字,即 Python 中已经有特殊含义的词,如 True、False、def、if、elif、

else、import 等;

(3)名称中不能包含特殊字符(\`~!@ #$% ^&*()+<>?:../;'[]);

(4)命名时最好能做到见名知意;

2、逻辑运算

用于对程序中的逻辑值进行运算,逻辑值也只有两种,真和假。逻辑运算符有三个,分别为与、或、非,对应的程序模块如下图:

从模块可以看出来,逻辑运算符“与”和逻辑运算符“或”,必须要有两个操作数才能进行运算,因此逻辑运算符“与“和逻辑运算符”或“又称为双目运算符。逻辑运算符“非”称为单目运算符,只要求一个操作数就可以进行运算。

逻辑运算符“与”

只有当两个操作数的值都为真时,运算结果为 true(真),否则为 false(假)。例如:当 Y=180 时,Y>150并且 Y<200,那下面整个逻辑表达式的逻辑值为 true(真)。这个“与”就相当于日常生活中表达的“并且”。

逻辑运算符“或”

只要其中一个操作数的值为真时,运算结果就为 true(真),当两个操作数的值都为假时,运算结果为false(假)。逻辑运算符“或”,就相当于生活中我们说的“或者”。

逻辑运算符“非”

只对一个操作数的值进行运算,当操作数的值为真时,逻辑运算结果为 false(假)。当操作数的值为假时,逻辑运算结果为 true。

3、行空板K10内置加速度传感器

行空板K10内置加速度传感器,可以对行空板K10的姿态进行检测,同时可以读取板载加速度传感器(X 方向、Y 方向、Z 方向或强度)的数值。

与加速度传感器相关指令的介绍如下:




公众后台回复“K10教程”可获取程序和相关素材




往期推荐



《行空板 K10 新品震撼上线!开启人工智能学习新旅程》

【义务教育信息科技教学指南】八年级 物联网实践与探索 第15课 实践活动——面容钥匙显智能

*【义务教育信息科技教学指南】八年级 物联网实践与探索 第14课 实践活动——远程控制更便捷

*【义务教育信息科技教学指南】八年级 物联网实践与探索 第13课实践活动—— 门铃通知即时到

*【义务教育信息科技教学指南】八年级 物联网实践与探索 第12课 实践活动——刷卡开锁易实现 

* 深度解读《义务教育信息科技课程教学指南》(三年级)

信息科技教学指南及配套课件上线啦!

硬件在人工智能基础教育中的角色: 机遇和挑战

第十二届全国中小学STEAM教育大会精彩回顾!

*  蘑菇云科创教育团队助力央馆暑期系列培训班

* 第二十五届全国学生信息素养提升实践活动圆满举行!

重磅发布:STEM教育2035行动计划

*  智能校园生活:校园盲区防范欺凌预警系统

二氧化碳温室气体验证实验装置(科创项目式学习方案)

【声明】内容源于网络
0
0
蘑菇云创造
蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
内容 969
粉丝 0
蘑菇云创造 蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
总阅读2.3k
粉丝0
内容969