2158| 1
|
经典小游戏猜数字 |
猜数字(又称 Bulls and Cows )是一种古老的的密码破译类益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩。 本文尝试用树莓派人工智能技术实现经典的python小游戏。首先程序自动选择一个1到20之间的数字,然后由用户来猜,用户猜测的数字由摄像头拍照,然后识别,与标准答案对比后,给出相应的语音提示,如猜大了,猜小了,猜对了。用户根据程序的提示信息,继续猜测,直至猜对。 本文主程序包括四部分,分别是游戏初始化、guess子线程、check子线程和结束提示。下面依次进行说明。 一、游戏初始化 创建游戏初始化函数 1、创建结束游戏变量并赋值为0 2、创建测试次数变量并赋值为0 3、创建开始检测变量并赋值为0 4、创建标准答案变量并赋值为取一个随机数,最大数可自由设定,如10、20、1000,甚至更大。 5、输出程序自动设定的标准答案 为了帮助大家理解,可以输出标准答案,程序设计检验完成后,可将此积木禁用。 6、创建输出反馈变量并赋值为欢迎您参与猜数字小游戏! 程序开始前给出一点程序开始的语音提示,增强互动性。当然也可以添加更多的语音提示内容。 7、播放语音提示内容 二、guess子线程: 1、创建guess子线程 2、创建guess函数 注意子线程名称与函数名称要完全一致。特别是大小写也要完全一致。 3、创建红外值变量,接收红外线传感器返回的数据。 4、条件判断,如果红外值为真。 5、输出红外值,便于程序调试。 6、给红外值赋值为0 给条件判断增加退出的条件,确保触发一次,只执行一次。 7、输出正在拍照的信息 由于受硬件设备影响,给出提示,告知用户程序运行到哪一步了。 8、创建照片变量,接收摄像头拍照得到的数据。 9、输出拍照已经结束的提示信息。 10、输出图片到网页,用于程序调试。 11、创建您的答案变量 将图片识别的数字信息赋值给您的答案变量。 12、将答案变量获取整数后再赋值给您的答案 图片识别后获取的数据是字符串类型的,后续的数字比较需要数字型的数据,因此增加获取整数积木,使字符串类型的数据变为数字型的数据。 13、语音播报您的答案。 增加延时2秒,考虑网络因素。 14、输出您的答案变量,便于调试。 15、赋值开始检测变量为1 为下一线程开始提供条件。 16、关闭摄像头。 用完了摄像头,要及时关闭。最大限度保护摄像头,同时也方便下次使用。 三、check子线程 1、创建check子线程和check函数: 注意子线程名称与函数名称要完全一致。特别是大小写也要完全一致。 2、条件判断,如果开始检测变量为1,则开启后续程序。 3、赋值开始检测变量为0,确保后续程序只运行一次。 4、判断您的答案与标准答案是否一致。 5、如果答案一致,赋值输出反馈为猜对了,祝贺您! 6、如果答案一致,赋值结束结束游戏变量为1,为退出程序提供条件。 7、如果您的答案大于标准答案,赋值输出反馈为您猜的数字太大了。 8、如果您的答案小于标准答案,赋值输出反馈为您猜的数字太小了。 9、将输出反馈变量的值输出到屏幕,便于程序调试。 10、如果结束游戏变量为1或者测试次数变量为5, 说明已经猜对了,或者已经用完了测试次数,那么程序就应该结束了。 11、增加输出反馈变量的内容。 在原有的输出反馈提示信息的后面再追加上,谢谢您的N次参与。 其中测试次数是一个变量,由程序自动调用。 12、语音播报反馈信息。 13、停止check子线程。 14、如果没有猜对,同时,还有测试机会。 15、将原来的输出反馈后面追加上您还有N次机会。 其中测试次数是一个变量,由程序自动调用。 16、语音播报测试反馈。 至此,猜数字小游戏已经全部结束,仔细检查一遍你的程序,运行测试一下吧! 喜欢更多原创作品请关注公众号四五创客。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed