资料介绍
描述
在看过基于Krishna Lalith 版本的Knights Tour 拼图后,我对她的另一个项目很感兴趣,那就是她的Mastermind Game 。Krishna 的版本创建了一个包含所有可能结果的数组,并且基本上使用蛮力来尝试每一种可能的结果,从而在了解数字是否存在时消除未来的猜测。我的变体基本相同。它不是拥有所有可能结果的数组,而是将用户的结果连同其猜测一起存储在历史数组中,并将任何派生规则存储在规则数组中。规则数组应用于未来的猜测,历史数组用于根据用户之前的响应确定新规则。
该软件基于以下#define
陈述以三种模式运行:
#define AUTO 10000
#define SINGLE 9651
#define RELEASE 0
:
#define COMPILE_MODE RELEASE
#define COMPILE_MODE
可以AUTO
是,SINGLE
或者RELEASE
。
自动模式
在这种模式下,软件将测试玩家可以选择的每个数字排列。它将确定哪个数字进行了最多的猜测。输出显示在 Arduino IDE 控制台上。
单人模式
在确定哪个数字被猜测最多后,它被放置在#define SINGLE xxxx
编译器常量中并COMPILE_MODE
设置为SINGLE
. Arduino IDE 控制台上的输出显示所做的猜测及其创建的规则。有4条规则
- KNOWN - 已知位置的已知数字
- SOMEWHERE - 已知数字在错误的位置并且已知不在特定位置
- 任何地方 - 已知数字在错误的位置,但不知道其他任何东西。
- NEVER - 数字绝对不存在。
通过查看猜测的历史记录,您可以调整算法并再次尝试 AUTO 模式,看看是否有改进,或者是否有任何数字序列无法解决。
发布模式
这是允许用户交互的最终游戏模式。
著名景点
该功能computerGuessPlayer
是计算机将尝试猜测玩家号码的地方。它有两个参数,都是回调函数。
pOutputFunction
- 调用函数以显示正在进行的猜测
这允许 AUTO 和 SINGLE 模式测试不同的值来猜测和 RELEASE 模式使用键盘和显示器。
规则数组仅包含唯一规则并进行排序,以便在 SOMEWHERE 和 ANYWHERE 规则之前测试 KNOWN 规则。
构建游戏
我设计了一个 PCB 来固定开关和显示器,并 3D 打印了一个合适的外壳。ATMega328 芯片安装在电路板的背面。我使用了 28 针 DIL 变体。IC 插座的引脚被压平并像 SMD 设备一样焊接到电路板上。还有一个 5V SMD 稳压器和一个 16 MHz SMD 谐振器。
我已经包含了 Eagle 文件,以防您想将电路板商业化制作或像我一样自己制作。我使用碳粉方法。
3D 打印外壳后,用 2.5 毫米的钻头钻出安装孔,并用 3 毫米的丝锥钻出螺纹。使用 6mm M3 螺钉将电路板固定到位。
制作开关
我提供了一个 Eagle 电路板布局,您可以使用激光打印机将其打印到透明标签上。
切标签
组装开关
最后组装PCB并将其固定到前面板
连接电池和开关
使用 FTDI 编程器对 ATMega328 进行编程。如果 ATMega328 未使用 Arduino UNO 引导加载程序进行预编程,您需要先添加一个。
结论
这是一个有趣的编程练习。该算法可以大大改进。它只回顾历史表中的一两个动作。硬件也可以与扬声器一起使用。
- 仪器手套开源构建
- 蛋打开源构建
- 西蒙小游戏开源构建
- 复古游戏时钟开源构建
- 简单的音乐游戏构建
- Arduino迷宫游戏开源分享
- 使用Arduino UNO构建游戏
- 构建简单的游戏设备
- 液晶记忆游戏开源分享
- Arduino井字游戏和熄灯游戏开源分享
- Arduino扫雷游戏开源分享
- 液晶游戏开源分享
- 接口usb游戏开源分享
- 军工产品的六性原理、概念、策划与设计 0次下载
- 基于数字技术的建筑策划设想
- PyTorch神经网络模型构建过程 276次阅读
- 什么是数字主线?如何构建数字主线?数字主线应用如何? 1990次阅读
- 使用Rust和Nomad进行开源游戏服务器管理 517次阅读
- 构建高密度数字输入(DI)和数字输出(DO)模块时面临的技术挑战 2156次阅读
- 基于AI视觉技术构建柔性生产数字化车间 685次阅读
- 清华等开源「工具学习基准」ToolBench,微调模型ToolLLaMA性能超越ChatGPT 481次阅读
- 鸿蒙上开发“推箱子”小游戏 950次阅读
- 鸿蒙上实现“数字华容道”小游戏 1081次阅读
- 如何使用数字电位计构建可编程振荡器 1052次阅读
- 构建一个很酷数字罗盘的教程分享 7484次阅读
- 寻找开源硬件成功的触发器 636次阅读
- 基于AT89C205构建的电子骰子的电路图 2178次阅读
- 构建开源芯片生态需要什么要的 4327次阅读
- 以数字音频系统为例介绍音频系统的构建 4502次阅读
- 构建区块链游戏的项目有哪一些 478次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多