问题标签 [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 投票
2 回答
1706 浏览

artificial-intelligence - 带有 alpha-beta 修剪的量子井字游戏 - 状态的最佳表示?

对于我的 AI 课程,我必须使用 alpha-beta 修剪制作一个量子井字游戏。

我正在考虑表示棋盘状态的最佳方式——我的第一个直觉是使用一种邻域矩阵,即 9x9 矩阵,onM[i,j]是表示移动的整数(tic-tac -toe) 正方形i并被j标记(如果没有这样的连接 -M[i,j]为零)。如果正方形折叠M[i,i],则不为 0 。i然后,我将创建一个此类矩阵的博弈树,并使用带有 alpha-beta 修剪的经典极小极大。

然而,这种方法似乎相当昂贵——会有一个相对较大的分支因子加上每个节点的基本操作——检查循环并找到 9x9 矩阵的所有等效状态。

我有一种感觉,必须有一个更聪明的解决方案——也许类似于将量子游戏视为一组经典的井字游戏并使用一种广义的极小极大搜索,所以它都会回归到(小)一组经典的井字游戏问题?我看不出这将如何运作。

有没有人有这个(或类似)问题的经验,你能指出我正确的方向吗?

0 投票
2 回答
702 浏览

c++ - tic tac toe 使用 builder 6 应用程序表单

我正在使用动态按钮在 builder 6 中进行井字游戏,我遇到了一个问题,即当我按下按钮时交替 X 和 0 的功能。

apel 看起来像这样:

如果我不使用object[i][j]->v=i;它只会显示 X 或 0

我想知道如何在 X 之后显示 0 等等。

0 投票
3 回答
3323 浏览

java - Java - 使用多个堆栈来允许“撤消”方法

我正在开发一个井字游戏,我想实现一个撤消方法。我认为最好的方法是设置另一个(多个?)堆栈,并复制刚刚发生的“移动”。然后,如果调用了撤消,只需弹出最后一步并重新填充游戏板。

所以是的,我有这个想法,但无法弄清楚如何实现它。

我拥有的一些东西:

设置:

然后是板法搭建板子,展示法,当然还有一个连续检查3个的方法。

感谢您的任何建议

0 投票
1 回答
526 浏览

c++ - 尝试学习 C++,井字游戏程序不起作用

我正在尝试学习 C++,并且正在编写一个井字游戏程序。我真的很困惑,已经很晚了,但我只是想弄清楚出了什么问题,这样我就可以感觉自己完成了一些事情。任何帮助都会很棒。这是完全不起作用的完整代码。谢谢!

http://codepad.org/fuC4JxBE

这些是我得到的错误:

老实说,我不知道为什么会出现这些错误。我四处寻找错误通常意味着什么,但似乎没有其他问题是相似的。

0 投票
6 回答
3362 浏览

java - 如何暂停/恢复 Java 线程

我正在用 java 制作井字游戏程序,因为我正在学习 java,我认为一个简单的项目将是一个很好的起点。到目前为止,这是我的代码:

和,

这是我的问题,当玩家获胜时,例如玩家 1(蓝色),它会播放动画(闪烁蓝板)。但是当玩家 1 再次获胜时,程序崩溃了。

我调查了一下,发现你不能启动一个线程两次,因为你不能。

我将如何暂停线程,然后在需要时重新启动它?

0 投票
3 回答
2134 浏览

c# - 提交文本框的值而不重新加载页面

我正在开发基于 ASP.NET 的井字游戏。我遇到的问题是:游戏在两个用户之间进行。当第一个在 TextBox 中键入“x”时,我希望在第二个玩家的计算机上显示“x”而不重新加载页面。我不知道某些代码是否会有所帮助,但这是我不重新加载的方式(用户必须手动重新加载页面......愚蠢):

然后,在页面预渲染:

等等......我会非常感谢任何可以提供帮助的人!

0 投票
2 回答
596 浏览

arrays - 井字游戏阵列。获胜者方法并且是免费的

我不知道我在这里做错了什么。谁能告诉我我的checkRow代码checkWinnerisSquareFree方法有什么问题?

这是我的代码:

0 投票
1 回答
230 浏览

python - 我遇到问题的井字游戏程序中的 IndexErrors

追溯:

0 投票
3 回答
291 浏览

python - 我如何摆脱这个 TypeError,为什么它会发生,因为我只是在列表中重新分配一个值?

代码:

http://pastie.org/1961455

追溯:

正如您在我的井字游戏程序中看到的那样,computer_move 函数中的 board[i] = computer 行是导致错误的(如果我没看错的话)。但是,如果我知道这一点,列表中允许项目分配,并且我为我的函数创建“板”的本地副本,以便我可以在函数中重新分配值等等......

任何输入将不胜感激。这是我的第一段严肃的代码,所以如果有问题的函数看起来太混乱了

0 投票
1 回答
65 浏览

c# - 重新加载另一个用户的页面

假设您制作了一个在玩家之间玩的井字游戏或某事的互联网游戏。因此,当玩家输入“x”或“o”或任何输入时,对手必须在他的电脑上接收它。

我知道如何用计时器来做这个。但我有兴趣通过一个活动来实现它。我的意思是,当给出输入时,我们会捕获一个事件。然后,这个事件正在重新加载对手的页面,他会收到信息。

有什么办法可以实现吗?这值得吗?

提前感谢您的任何回复!