淄博杨广峰 发表于 2020-5-5 08:56:07

经典小游戏猜数字

猜数字(又称 Bulls and Cows )是一种古老的的密码破译类益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩。本文尝试用树莓派人工智能技术实现经典的python小游戏。首先程序自动选择一个1到20之间的数字,然后由用户来猜,用户猜测的数字由摄像头拍照,然后识别,与标准答案对比后,给出相应的语音提示,如猜大了,猜小了,猜对了。用户根据程序的提示信息,继续猜测,直至猜对。本文主程序包括四部分,分别是游戏初始化、guess子线程、check子线程和结束提示。下面依次进行说明。
一、游戏初始化创建游戏初始化函数1、创建结束游戏变量并赋值为02、创建测试次数变量并赋值为03、创建开始检测变量并赋值为04、创建标准答案变量并赋值为取一个随机数,最大数可自由设定,如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、语音播报测试反馈。
至此,猜数字小游戏已经全部结束,仔细检查一遍你的程序,运行测试一下吧!作品视频:https://mp.weixin.qq.com/s/3wFsjK1t2NZkz6Szy8uXIw喜欢更多原创作品请关注公众号四五创客。

DFrJ5KYVQaH 发表于 2020-5-5 09:11:02

经典,学习之
页: [1]
查看完整版本: 经典小游戏猜数字