问题标签 [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.

0 投票
1 回答
859 浏览

java - 需要一个游戏(类似于井字游戏)算法。

首先,我是 Java 编程的初学者。我想申请学校项目。我决定做一个棋盘游戏!很直接。![Board][1] 这是棋盘,有两个玩家(Both Human)。第一个玩家(x)将在棋盘上的任何位置移动。他有 9 个名额。

游戏的动机是将所有三个标记对角线、水平线或垂直线放在一条线上。

![获胜条件][2] 我想要算法来检查获胜者以及如何在用户移动时从用户那里挑选价值。我浏览了很多井字游戏算法,但我不知道它们出了什么问题。![可能的动作][3]请帮助!

0 投票
1 回答
1352 浏览

java - 重新开始游戏

我正在创建一个简单的井字游戏,但是每当游戏结束和单击重新启动按钮时,我都会陷入重新启动游戏的困境。我刚刚做了第一个水平按钮。当您按下它们时,会弹出一个窗口并告诉您有赢家。我只是为了测试而做的。但是当我按下重新启动时如何重新启动游戏?我只是java新手,我正在尝试自己制作游戏以进行改进。以下是我的代码的一些部分:

0 投票
2 回答
1439 浏览

php - 在创建井字游戏时需要帮助

我正在用 PHP 创建一个井字游戏。

我将用户的值作为网格中的整数位置,例如-

我将用户输入的值存储为会话中的 CVS。就像用户在 Ist 行 IInd 列和 IInd 行 IInd 列中创建 X 一样,那么会话中的值将是 2,5。

现在的主要问题是当我想为计算机创建 O 作为 1 到 9 之间的随机位置时,它不应该包含 2 和 5。

如何创建一个 1 到 9 之间的随机数,其中不包含用户输入的值(作为 CVS 字符串存储在会话变量中)?

这是到目前为止的脚本:

0 投票
2 回答
1235 浏览

python - pyschools-tictactoe

在纸笔游戏中,井字游戏中,2 名玩家轮流在 3x3 方格的棋盘上标记“X”和“O”。成功在垂直、水平或斜条纹上连续标记 3 个“X”或“O”的玩家获胜。编写一个函数来确定井字游戏的结果。

例子

我写了这样的代码,但我的范围不起作用(我认为)。因为,它将 r 和 c 的值设为 3,而不是 0、1、2、3。那么,请任何人都可以帮助我吗?谢谢

0 投票
3 回答
2025 浏览

c++ - Negamax 实现似乎不适用于井字游戏

我已经实现了 Negamax,因为它可以在wikipedia上找到,其中包括 alpha/beta 修剪。

然而,它似乎有利于失败的举动,据我所知,这是一个无效的结果。

游戏是井字游戏,我已经抽象了大部分游戏玩法,因此应该很容易在算法中发现错误。

给出这个输入:

算法选择将棋子放置在 0、1 处,造成一定的损失,对这个陷阱执行此操作(没有任何事情可以赢得或以平局告终):

我很确定游戏实现是正确的,但算法也应该是正确的。

编辑:更新evaluatenextMove.

EDIT2:修复了第一个问题,但似乎仍然存在错误

0 投票
1 回答
1085 浏览

python - Hackerrank.com 井字游戏挑战

我想问一下井字游戏有可能赢吗?因为法官机器人知道每一个技巧,他知道如何使技巧动作失败。我只能两回合打平。如果可能的话,你们能给我一个提示吗?

0 投票
3 回答
119 浏览

c# - 数组的值无故更改

我正在尝试在井字游戏中嵌入一个非常基本的 AI,但我在使用数组来识别最合适的方格时遇到了问题。

我有一个数组表示当前状态下的游戏网格,另一个表示如果某个方格被认领时的样子。

人工智能不断做出奇怪的决定,所以我决定让它在某些里程碑报告各种信息。

请记住,上面是实际代码的非常简化的版本。

数组沿线分配值,消息框设置为将 currentGrid 显示为其包含的值的序列。

除了消息框之间的代码外,一切正常。

问题是两个消息框显示不同的结果,即使后者是前者的副本,并且在两者之间的空间中没有指定对 currentGrid 的更改。

中间的两行是直接从源代码复制的,应该只影响假设的网格。应该很明显,这些线应该重置假设的网格,然后在有问题的正方形上添加一个“O”。

但是,由于某种原因,“O”也被放置在当前网格中。

我究竟做错了什么?

0 投票
1 回答
1313 浏览

c# - C# WPF 如何将内容更改为随机按钮?

我正在尝试在 Silverlight 中制作一款可以在 1 人模式下玩的井字游戏。因此,在单击任何按钮并将其内容更改为“X”或“O”后,我需要更改随机按钮的内容。

我试过列出所有按钮并获得一个随机值:

但我不知道如何使我的随机字符串成为按钮,所以我可以调用以下方法:

有任何想法吗?谢谢你!

0 投票
3 回答
921 浏览

java - 井字游戏在游戏树搜索中打印最佳移动路径?

我正在研究带有井字游戏(3x3)的 alpha-beta 修剪算法。目前对于 3x3 网格的任何给定实例,我都能够找出最佳情况:

最佳结构在哪里:

给定一个初始网格以及接下来谁将移动,我可以知道下一个玩家的最佳得分和最佳位置。但是,我不知道如何为这个最佳动作打印整个路径。(注意 - 我不想要整个搜索路径。我只想打印出从这个最佳移动到叶子的单个搜索路径)。有什么想法吗?谢谢!

0 投票
2 回答
1383 浏览

java - 如何在 Java 中创建任意大小的井字游戏板?

对于我的任务,我必须创建一个任意大小的棋盘的井字游戏……我知道如何创建一个 3X3 的棋盘,但我不知道从哪里开始。我的老师希望我们在 TicTacToe 类中使用

所以当我创建任意大小的板时,我应该从这个开始吗?