问题标签 [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++ - 如何标记文件中的值并将其存储在二维数组中
我有一个包含如下内容的文本文件: 1|2|3|4|5|.......23|24|25
我需要阅读这个文件,标记值并将值输入二维数组。
我需要使用“|”标记值 作为 delim 并将值输入到二维数组中...请帮助。我知道以上不正确,请帮助。
java - 我如何在 tictactoe 游戏中执行 check_game_state 方法?
我想了解游戏是否已完成或绘制或仍然可以玩。但我想用动态代码来做。
例如,我对 3*3 tictactoe 游戏进行静态处理,如下所示:
我想为 4*4 或 5*5 或更高的板动态设置它。但是我该怎么做呢?是否可以?
java - 为什么我的递归没有返回但最终导致堆栈溢出?
首先,这是额外功课的一部分,所以请不要给我答案。请帮助我了解我可能对正在发生的事情有什么问题。它是一个井字游戏生成器,游戏在其中递归地根据玩家确定最佳移动。(教授用白色'W'和黑色'B'代替X和O)
我的主要递归方法根据 TTT 板上的输入位置返回状态分数;1 如果白方从该位置强制获胜,0 如果是平局,-1 如果黑方将强制从该位置获胜:
它调用了我的底层私有递归方法:
whiteMove 的布尔值如果是白方走,则为真,如果是黑方走,则为假。函数中的辅助方法包括threeInRow:
和测试入口:
我不明白堆栈溢出是从哪里来的。似乎我的回报涵盖了所有情况,并且我的方法具有适当的回报。我从来没有使用过带有递归的for循环,我是不是搞砸了。另外,我说type [] name = name
(相同类型)不起作用是正确的,对吗?这就是为什么我在这种情况下做了 for 循环。
c - 学习 C - 需要帮助完成我的井字游戏
我一直在尝试学习 C。来自具有 HTML、CSS 和在 Wordpress 中创建自定义主题经验的网页设计背景,我想尝试一下编程。我有一个朋友帮助我,他对我的最新任务是井字游戏。以下是我到目前为止的代码。我目前无法在玩家 1 和 2 之间进行游戏循环,并且无法让游戏识别游戏是 0 不完整、1 p1 获胜、2 p2 获胜或 3 只猫游戏。
谢谢阅读。
java - Java井字游戏:转换字符串以检查二维数组中的值
我正在创建一个简单的井字游戏。我使用单个空格字符初始化了我的 3x3 板。
我要求用户输入坐标,如下所示:
因此,如果 X 进入 B2,O 进入 A3,则棋盘将如下所示:
现在,我正在尝试编写一个方法来检查当前玩家的移动是否有效。
问题: 如何转换用户字符串输入 (A=1,B=2,C=3) 以便查看 board[x][y] 是否包含 ' ' 字符?
c - 用 C 编写井字游戏
我正在用 C 编写一个井字游戏。这是逻辑。用户先走,选择一个插槽。使用简单的公式计算槽的位置。然后填充选定的插槽。接下来,计算机随机选择一个插槽。为此,我在 stdlib.h 中使用了 rand() 函数。最初,3x3 矩阵的所有元素都设置为 0。我的问题是,即使所有其他元素都是 0,并且用户选择插槽 5 或插槽 9,用户也会获胜。comp 也一样。这是我的代码-
您能否建议更改代码,以便我不会遇到这些问题?
algorithm - 二维数组井字棋人工智能算法
我想用数组而不是启发式或树结构制作井字游戏。
因为有什么算法可以告诉你“可能的人工智能”吗?不一定是ai,而是电脑选点。
谢谢。
java - 井字游戏 AI Java
所以这是一个大学作业,除了 AI 不知道如何“赢得胜利”,它的动作一开始并不像我想的那样随机,因为它们总是走上角。并努力下去。这项任务只需要人工智能的两条规则,即它可以“赢得胜利”或“阻止胜利”。
此外,当棋盘被填满时,游戏似乎并没有结束。它要求我选择我的行动。
我希望有些人可能对我如何改进它提出建议,或者指出我哪里出错了。
任何帮助将不胜感激。
这里是戏
这是计算机课
tic-tac-toe - 是否可以使用 4 * 4 板井字游戏应用 Minimax 或需要 Alpha-Beta 修剪?
我在 java 中实现了一个 3 * 3 Tic Tac Toe 游戏,仅应用 Minimax 算法。但是,当我将板尺寸更改为 4 * 4 时,程序似乎挂起。我想问我是否应该应用带有 alpha-beta 修剪的 Minimax 来解决这个问题,或者 Minimax 本身可以吗?
java - 带有 Minimax 的井字游戏:玩家先走时计算机有时会输;否则工作
我正在研究用于无与伦比的井字游戏的 Minimax 算法。我需要它在计算机先行和播放器先行时都能正常工作。使用当前版本,计算机先行永远不会丢失。但是,如果玩家先走,Minimax 似乎永远不会找到最佳移动(总是返回 -1 作为分数)。
如果玩家迈出第一步,是什么导致计算机返回的 Minimax 得分为 -1?
例子:
这是“Minimax”类:
这是“董事会”课程:
如果有任何混淆,这里是“Mark2”类: