端午节是中国传统节日之一,其历史源远流长,充满了丰富的文化和民俗内涵。其中,吃粽子是端午节最为独特且深入人心的习俗之一。
粽子的起源有多种传说,其中最为流传的是为了纪念古代伟大的诗人屈原。屈原是战国时期的楚国大臣,因忠言直谏而遭到流放。在楚国被秦国攻破后,屈原深感绝望,于五月初五投汨罗江自尽。当地百姓为了纪念屈原,纷纷划船捞救,并投下饭团等食物以防鱼虾伤害屈原的身体。后来,人们用树叶包裹饭团,外用彩丝缠住,逐渐演变成了现在的粽子。
在这个特殊的节日里白银蚁创空间设计了四款难度递进的游戏“吃粽子”,和大家一起分享。
附件包含所有源码和素材。

步骤1 吃粽子游戏(一)
简单介绍: 角色“粽子”出现在舞台随机区域。用键盘上下左右键控制角色“小女孩”向粽子移动,当吃到粽子时,小女孩出现张嘴动作,并得到1分。当粽子被吃后,会再次随机出现在舞台上。游戏设置倒计时,倒计时归零后,游戏结束。 涉及知识点: 键盘操作、随机位置、角色属性设置、造型切换、声音播放、侦测、变量、循环等。


背景程序: 在背景中对变量时间(倒计时),得分进行初始化,并使用循环执行实现倒计时。 倒计时后使用“停止全部脚本”结束游戏。 循环执行次数可以用变量“时间”代替。

角色“小女孩”程序: 先初始化角色造型、大小、位置和旋转方式。 在循环中实时监测键盘信息,用键盘方向键控制角色移动。 当“小女孩”碰到“粽子后”,小女孩的造型切换一次。

角色“粽子”程序: 先初始化角色大小、位置和显示状态。 在循环中使用“1秒内滑行到随机位置”实现角色的随机移动。 使用循环,实时监测角色“粽子”是否碰到“小女孩”,当碰到后,粽子隐藏,变量“得分”加1,并播放“咬”的音效。

步骤2 吃粽子游戏(二)
简单介绍: 在游戏一的基础上,增加程序编写的难度,游戏的开始时点击角色后启动,游戏结束后还会有成绩总结。同时增加克隆的使用。 涉及知识点: 增加:克隆、广播。


背景程序: 与游戏一不同的是,在接收到广播“游戏开始”后增加了变量初始化。 倒计时也是在收到广播“游戏开始”后才开始的。 在倒计时结束后广播游戏结束。 变量“游戏”为“0”说明游戏未开始或已经结束。

角色“小女孩”程序: 先初始化角色造型、大小、位置和旋转方式。还增加了游戏开始提示,即在点击该角色后游戏开始 增加“当角色被点击”,广播“游戏开始”。 当游戏开始后,该角色的程序与游戏一一样。

角色“粽子”程序: 游戏中增加“克隆”。“克隆”的同时,使用“当克隆体启动时”对克隆体进行操作。 当变量“游戏”为0时,游戏停止克隆停止,并删除克隆体,不然在游戏结束后还会出现很多粽子。

步骤3 吃粽子游戏(三)
简单介绍: 在游戏二的基础上,使用物联网技术,实现多人游戏互动。该游戏有学生端多人,老师端。学生端游戏时,会实时将游戏成绩发送至老师端,游戏结束后,老师端会出现得分最高同学胜出的动态效果。 涉及知识点: 增加:物联网、siot、Mqtt等。


详情: https://mindplus.dfrobot.com.cn/dashboard SIoT是一个针对学校场景的开源免费的MQTT服务器软件, 可一键创建本地物联网服务器。详细知识请按照上面提供的地址进行学习。

SIot的运行:
1.下载压缩包后,解压。可以看见右上图片。双击运行“start SIoT”。 2.运行后可以看到“右下”图片,记住图片中的IP地址。

SIot的登录:
1.打开浏览器按照记住的IP地址登录(记得加入:8080端口号)。 2.右下图为登录界面。账号:siot,密码:dfrobot。

Topic创建:
1.点击新建主题(Topic)新建主题。

Topic解释:
1.右图中“start”,时老师端发送游戏开始信息使用的topic。 2.“stu01”和“stu02”是学生端发送成绩使用的,可以根据实际学生数量增加。

MQTT添加:
1.打开“mind+”软件,在扩展“网络服务”中找到并添加“MQTT”。 2.SIOT包含一个MQTT服务器和一个数据库以及一个网页界面,MQTT服务器负责数据的转发以及判断是否存储,网页界面可以方便的查看数据或者简单的测试程序。

MQTT程序编写:
1.以学生端为例。 2.初始化和发起连接一定不能少。 3.等待连接成功后,用说的内容提示上面程序成功,连接没有任何问题。

MQTT参数设置:
1.以学生端为例。 2.物联网平台一定要选择“SIoT”。 3.右图是学生1订阅的两个主题。每个学生都需要订阅“start”主题,用来游戏的开始,还需要订阅自己发送成绩的主题。 4.老师端需要订阅全部主题。

发送与接收:
右侧为MQTT的发送与接收程序的写法,具体细节参看源程序。 使用到发送的程序有:老师点击开始按钮,学生得分。 使用到接收的程序有:学生接收到开始信息,老师接收到学生的成绩。

下图为老师端,其中一个学生学生的程序,增加了实时成绩显示。在游戏结束后还增加了头像变化来区分胜负。 其他程序说明参考游戏二。

步骤4 吃粽子游戏(四)
简单介绍: 在游戏三的基础上,增加问答环节。由老师端发送题目给学生端,学生回答与端午节有关的知识问答(选择题),如果答对了得分并奖励粽子吃。其他部分与游戏三相同。 涉及知识点: 增加:列表、询问与回答。


老师端发送题目: 首先发送的“1”是一个开始标识,当学生接收到“1”后,会将后面的题目与答案进行接收和保存。 题目发送完成后游戏才开始,并倒计时。

学生端接收题目与回答: 首先是将接收到的题目和答案根据分类将其保存在两个不同的列表里面。因为答案只有一个字母,所以将字符数为1的保存在“答案”列表中,其他的保存在“问题”列表中。 游戏开始后使用随机出题,提升游戏趣味性。用随机变量“题号”实现在所有题目中随机出题。 其他程序说明参见游戏二、三。

步骤5 拓展
端午节除了吃粽子外,端午节还有许多其他的习俗,如赛龙舟、挂艾叶、饮雄黄酒等。这些习俗都蕴含着深厚的文化内涵和民俗风情,共同构成了端午节丰富多彩的文化景观。
借助于SioT,我们可以设计制作更多的多机互动游戏作品。比如:多人赛龙舟等。
附件
附件
麦壳maikemaker2024.06.16
这PPT做的真好,教程详细