问题标签 [tic-tac-toe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Tic Tac Toe C++算法调试帮助
请帮助我理解为什么这不起作用。我不知道我的代码中是否存在错误,或者我的算法是否存在根本的逻辑缺陷。
我的算法基于 minimax,但我放弃了启发式评估函数以获得更简单的技术。由于简单的 3x3 tic tac toe 简单,我只想计算每个潜在动作的所有可能游戏结果,并选择具有最高“分数”的一个。我创建了一个有效移动的“顶级”向量以及它们相应的“分数”的匹配大小的向量 - 即针对该移动之后的每个可能结果:++ 获胜和 - 失败。
然而,我的移动分数向量变得奇怪的非对称值。尽管即使代码有效,但从逻辑上讲,是否有可能计算出导致最多赢和最少输的移动,对诸如分叉之类的简单策略视而不见?我的直觉说是的,但我还没有详细计算出数学。
c++ - C++ 井字游戏
我感到很困惑。我正在尝试使用 windows c++ 视觉创建一个井字游戏。到目前为止,我做得很好,直到我不断出错。我试图寻求帮助,但似乎没有一个答案是正确的。这是我的练习题。
- 实现 displayBoard 以显示井字棋盘。
提示用户在板上选择一个框,即 1 到 9 之间的数字,其中 1 为左上角。
使用 cin.get(box) 获取盒子编号并使用 isdigit 验证它是一个数字;1 | 2 | 3 4 | 5 | 6 7 | 8 | 9 如果该框可用,则将适当的 X 或 O 放入其中并更换球员,即 X 变为 O,反之亦然。如果该框不可用,则警告用户并获取另一个框,直到他们选择一个有效的打开框。
在所有地点都选择后显示“游戏结束!”;
- 编写一个 main 函数来使用 TicTacToe 类并测试上述所有功能。
.
c++ - C++ 井字游戏
可能重复:
C++井字游戏
我尽力了,这就是我到目前为止所拥有的,请帮助我。这是我需要完成的代码。
- 实现 displayBoard 以显示井字棋盘。
提示用户在板上选择一个框,即 1 到 9 之间的数字,其中 1 为左上角。
使用 cin.get(box) 获取盒子编号并使用 isdigit 验证它是一个数字;1 | 2 | 3 4 | 5 | 6 7 | 8 | 9 如果该框可用,则将适当的 X 或 O 放入其中并更换球员,即 X 变为 O,反之亦然。如果该框不可用,则警告用户并获取另一个框,直到他们选择一个有效的打开框。
在所有地点都选择后显示“游戏结束!”;
编写一个 main 函数来使用 TicTacToe 类并测试上述所有功能。
/li>
这就是我到目前为止所拥有的。
c++ - 井字游戏帮助
我不确定如何从已有的内容着手:我无法让我的阵列正常工作,而且每次重新运行程序时我的图表重置也有问题。它不会保存我的 X 和 O,而是重新启动到空白图表中。任何提示都会有所帮助。谢谢
@Bunnit 根据您的建议,我能够对其进行更改。现在我唯一的问题是用 X 或 O 替换每个框,这似乎不像我的 if 和 else if 工作。
algorithm - 如何在井字游戏中确定游戏结束?
我正在开发井字游戏,我需要算法来检查游戏何时结束(以及谁获胜)。在 3x3 游戏中,我会检查每种可能的获胜情况(有 8 种能力)。但是在 7x7 中(需要连续或列或对角线中的 4 个标志)是很多可能的获胜模式。
c++ - 类 draw() 方法在直接调用时有效,但在被另一个对象调用时崩溃
我正在制作九板井字游戏的版本。(每一步都决定了对方玩家必须移动的棋盘)
我的标准Board
适用于:
gameplay->board->draw(w, h, d);
但是,当我尝试绘制一组 3x3 的Board
s 来制作SuperBoard
整个游戏时,个人Board
s 放弃EXC_BAD_ACCESS
了:gameplay->superBoard->drawBig(w, h, d);
我哪里错了?
代码:
游戏板.h:
游戏板.cpp:
//-------------------------------------------- // Superboard 代码: //--------------------------------------------
algorithm - 生成所有独特井字游戏板的列表
我想生成一个包含所有19,683个井字棋棋盘布局的文本文件,其结构为 0 = 空白、1 = X 和 2 = O。不幸的是,数学不是我的强项,我似乎找不到任何例子这个在任何地方。
我向你保证,这不是家庭作业。我打算通过 Minimax 计算器运行这些数据,以生成包含 RGB 值的图像,该值表示基于棋盘设置的最佳移动。我正在为一个不支持功能的平台开发井字游戏(它是事件驱动的),所以我将在我的游戏中将棋盘转换为数字,然后在图像中查找像素的 RGB,这表明什么是最好的移动是。这是一个厚颜无耻的解决方法,但它需要的 RAM 不超过 145x145 像素图像(145x145 = 21,025,因此每个像素有效地代表了基于棋盘的推荐移动)。这也意味着我不必咀嚼 CPU 时间,这是另一个优点。
python - tictactoe 的 Python minimax
在井字游戏的极小极大实现完全失败后,我看不出有什么问题。现在,我的 AI 只是绕了一圈……
为什么会这样?
java - 随机选择后将在板上显示 o 的程序
对不起之前的代码。这是计算机的代码。如果用户选择坐标 N1,那么它会随机选择另一个可以阻挡该位置的坐标。这是我试图用java制作的井字游戏的一部分。我无法在坐标上打印 x。如果你能帮助我,我将不胜感激。只是简单的ai。
c++ - 卡在井字游戏上检查移动是否有效 C++
嗨,我是初学者,在尝试在 unity3d 中完成之前,我正在制作控制台井字游戏 c++,但这是另一个故事,我被困在 get_move1() 函数上,至于如何检查数组是否有如果是 1 或 -1 则已满,并且该函数应该说无效移动,除了 2d 数组之外可以通过其他任何方式完成吗,我的程序只是挂起而没有错误,我还没有处理其他函数然而,他们现在只是空的。谢谢你的帮助。
所以我决定现在使用一维数组来保持简单
谢谢你们的帮助。