依靠"mAnB"的提示猜一个没有重复数字的四位数,'A'表示数字对位置也对,'B'表示数字对位置不对。
符合规则的全部候选是5040个,以排除法的思路,反复过滤掉不符合"mAnB"的候选。算法猜出谜底在最糟情况下不超过8步。
候选集比较大,因此存放于file中。
#过滤候选集
def filter(guess,status)
case status
when 0: #0a0b
remain_include_zero(guess)
when 1: #0a1b
remain_include_upon_one(guess)
remove_include_upon_two(guess)
match_zero(guess)
when 2: #0a2b
remain_include_upon_two(guess)
remove_include_upon_three(guess)
match_zero(guess)
when 3: #0a3b
remain_include_upon_three(guess)
remove_include_four(guess)
match_zero(guess)
when 4: #0a4b
remain_include_four(guess)
match_zero(guess)
when 10: #1a0b
remain_include_upon_one(guess)
remove_include_upon_two(guess)
match_one(guess)
when 11: #1a1b
remain_include_upon_two(guess)
remove_include_upon_three(guess)
match_one(guess)
when 12: #1a2b
remain_include_upon_three(guess)
remove_include_four(guess)
match_one(guess)
when 13: #1a3b
remain_include_four(guess)
match_one(guess)
when 20: #2a0b
remain_include_upon_two(guess)
remove_include_upon_three(guess)
match_two(guess)
when 21: #2a1b
remain_include_upon_three(guess)
remove_include_four(guess)
match_two(guess)
when 22: #2a2b
remain_include_four(guess)
match_two(guess)
when 30: #3a0b
remain_include_upon_three(guess)
remove_include_four(guess)
match_three(guess)
when 40: #4a0b
end
end
分享到:
相关推荐
在这个名为“电脑猜数字(人工智能)”的项目中,我们探讨了一个基于人工智能的猜数字游戏。这个游戏的传统玩法是计算机设定一个数字,然后由用户尝试猜测,但在这个版本中,角色互换,用户设置一个数字,而计算机的...
基于c语言编写的猜数字小游戏源码+exe可执行程序.zip基于c语言编写的猜数字小游戏源码+exe可执行程序.zip基于c语言编写的猜数字小游戏源码+exe可执行程序.zip基于c语言编写的猜数字小游戏源码+exe可执行程序.zip基于...
《猜数字游戏:人工智能与策略探索》 猜数字游戏,作为一个经典的智力挑战,深受各年龄段玩家的喜爱。游戏的核心是通过有限的尝试次数,猜测出一个预设的随机数字。在这个过程中,玩家需要运用逻辑推理和概率分析来...
猜数字游戏是一个经典的编程练习,它通常涉及到随机生成一个秘密数字,然后让用户通过一系列尝试来猜测这个数字。在这个源代码中,提供了字符界面和GUI(图形用户界面)两种版本,这意味着我们可以从中学到如何在...
基于Vue开发的猜数字小游戏源码(课程作业).zip基于Vue开发的猜数字小游戏源码(课程作业).zip基于Vue开发的猜数字小游戏源码(课程作业).zip基于Vue开发的猜数字小游戏源码(课程作业).zip基于Vue开发的猜数字小游戏...
猜数字游戏 根据C语言编写;利用电脑的随机函数。
猜数字游戏通常是一个AI或者系统随机生成一个秘密数字,然后用户尝试猜测这个数字,系统会根据用户的猜测给出提示(过高、过低或正确)。接下来,我们将详细介绍开发这个游戏所需的关键知识点。 1. **微信小程序...
人工智能导论大作业-看图猜数字,猫狗识别+源代码+文档说明 - 小白不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,...
经典的猜数字程序,不过设计了ai,通过电脑来猜用户给出的数字。
输入: cd /home/aimooc/桌面/实例1读心术 进入到实例1的文件夹目录下 再输入: python3 guess.py ...运行之后可以选择让电脑来猜数字,或者是玩家来猜数字。 会统计猜了多少次能得到正确答案,以进行对比。
3. 人机交互:开发AI算法,让计算机能够与玩家进行猜数字游戏。 4. 游戏规则设计:根据猜数字游戏的基本规则,扩展出适合网络环境的玩法。 5. 版本控制:通过"OCGK V1.01-bata"可以看出项目版本管理和迭代的过程。 6...
此外,这个游戏还提供了扩展的可能性,比如添加计时功能,引入人工智能算法,使计算机也能参与猜数字,增加挑战性。 总之,这款C语言编写的猜数字游戏是学习和实践编程的好教材,不仅锻炼了基本的编程技巧,也提供...
Python是一种广泛应用于Web开发、数据分析、人工智能等多个领域的高级编程语言,因其语法简洁、易读性强而受到初学者和专业人士的喜爱。在这个"python小游戏猜数字源码"中,我们可以深入理解Python编程的一些基本...
这个游戏通常被称为“数字猜谜”或者“猜数字”,它由计算机生成一个随机数,然后玩家尝试猜测这个数,根据计算机给出的提示(过高、过低或正确)来逐步接近目标数字。 【描述】中并未提供具体的游戏实现细节,但...
【Java使用JOptionPane猜数字游戏】是一个经典的编程教学示例,它通过对话框交互的方式,让用户或电脑参与猜数字的游戏。下面将详细讲解这个过程。 ### 一、我猜数字 在这个部分,程序首先生成一个0到9之间的...
一个非常简单的猜数字小游戏,起因为作者连输了10局。晚上借着被罚酒的酒力写下了这堆东西 规则大概是这样: 1. 两名玩家同时用手比划出一个数字(0-9),这可能是任何一个玩家想要展示的数字。 2. 同时,两名玩家...
以上这些游戏的开发不仅需要基础的编程知识,还需要对算法、数据结构、图形学和人工智能有一定程度的理解。它们为初学者提供了良好的实践平台,同时也对资深开发者提供了挑战,因为优化游戏性能、提升用户体验始终是...
使用micro位板和紧凑型MU Vision传感器构建一个有趣的迷你“猜数字”游戏机,并使用MakeCode编程! 硬件组件: BBC micro:bit board× 1 Morpx MU视觉传感器III× 1 乐高技术片× 1 Pimoroni pin:bit× 1 扬声器:0.25...
安卓移动开发课程设计/Android期末大作业- 安卓小游戏——猜数字游戏(支持保存游戏) - 运行中有什么问题可以私聊博主,本人高级安卓工程师,主页置顶有常见爆红解决的方法,以及更多代码项目 ## 项目备注 1、该...
利用这个小游戏可以学习一下ython3.3中tkinter的使用方法复制代码 代码如下:# -*- coding: utf-8 -*-import tkinter as tkimport sysimport randomimport re number = random.randint(0,1024)running = Truenum = 0...