tic-tac-toe 相关问题

Tic Tac Toe是开始编码的流行练习,因为有限的资源和游戏机制可以很容易地掌握并以多种方式表现出来。因为它是一个简短的游戏,所以可以创建一个永不丢失的算法。

使用 Javascript TicTacToe 游戏的 <H1> TAG HTML 问题

我正在制作井字游戏,现在正在执行获胜者功能。一名玩家获胜后,我的 h1(玩家)应该说 ${playerOne} Won 或 ${PlayerTwo} Won 但这并没有发生。在某人之后

回答 1 投票 0

井字形使用 minMax 算法

首先你好 我正在尝试使用极小极大算法来实现井字棋游戏,我尝试了很多方法,直到我对这种实现感到满意,但我面临着一些不合逻辑的举动......

回答 1 投票 0

撤消和显示历史按钮不起作用,不知道bug在哪里

我想要一个显示历史记录按钮,在您重新启动游戏时显示最新的比赛,以及一个撤消按钮来撤消 1 个步骤。但显示不正确,撤消按钮总是显示“Th...

回答 1 投票 0

Python Minimax 没有给出正确的输出,我无法查明原因

我正在尝试制作一个 tic tac toe minimax 算法。在某些情况下,我的算法会输出明显错误的动作。例如,在棋盘状态下,当前保存在脚本中,操作...

回答 1 投票 0

井字游戏提前回归?

我对 React 很陌生,正在尝试理解 Tic-tac-toe 中的代码。 从“反应”导入{useState}; //side函数Square(将有值和onClick) 函数 Square({ 值,

回答 1 投票 0

如何在Visual Studio 2022中找到winform应用程序?

在我的 Visual Studio 2022 中,当我尝试构建一款 tic tac toe 游戏时,我需要一个 winform 应用程序,但我无法在我的 Visual Studio 2022 上找到它。有人可以告诉我如何找到吗

回答 1 投票 0

井字棋算法在大于 3x3 的棋盘中找到对角线

所以我用Python开发了一个小型的Tic Tac Toe游戏,它运行得非常好,我确实在这里讨论了它以某种方式改进它。然而,我有一个好主意,让董事会更大并实施......

回答 1 投票 0

如何在单击单个元素时增加数组的大小

我决定摆脱教程地狱,通过自己制作一个 X an O'S(井字棋)游戏来挑战自己。如下所示。我已经成功地实现了在 c 上显示 X 和 O 的功能...

回答 1 投票 0

平局问题且游戏结束

我已经实现了井字棋,如下所示: 将 tkinter 导入为 tk 将 tkinter.ttk 导入为 ttk 从 tkinter 导入字体作为 tkFont #初始化一个名为“board”的 3x3 列表,其中包含空字符串作为元素 博...

回答 1 投票 0

平局和游戏结束问题

导入 tkinter.ttk 为 ttk 从 tkinter 导入字体作为 tkFont #初始化一个名为“board”的 3x3 列表,其中包含空字符串作为元素 board = [['' for _ in range(3)] for _ in range(3)] 游戏活动 = ...

回答 2 投票 0

摆脱游戏获胜后无法按下按钮的问题

导入 tkinter 作为 tk 将 tkinter.ttk 导入为 ttk 从 tkinter 导入字体作为 tkFont # 跟踪游戏板的全局变量 board = [['' for _ in range(3)] for _ in range(3)] #定义

回答 1 投票 0

python tkinter 显示 X 和 O 并交替使用它们

导入 tkinter 作为 tk 将 tkinter.ttk 导入为 ttk 从 tkinter 导入字体作为 tkFont #定义切换到游戏画面的函数 def play_game(): #创建一个顶级窗口(出现在上方...

回答 1 投票 0

如何修正井字游戏中的绘图功能?

对于范围 (1, 10) 内的 i: 有效移动=假 虽然无效_移动: move = (input("玩家 1 轮到 X。请选择一个单元格:")) 如果不移动.isd...

回答 1 投票 0

如何修复 JavaScript 中的 Tic Tac Toe,并且 minimax 不将分数返回到原始调用?

我认为问题可能出在我对emptyIndexes的调用上。 返回 IndexArray 始终返回 0。 Moves 数组不会将分数返回到原始 8 个开放索引。 我怎样才能得到分数返回给...

回答 1 投票 0

Javascript 中的 Tic Tac Toe 与 minimax 不会将分数返回到原始调用,有任何线索如何解决此问题吗?

const minimax = (newBoard,currentPlayer)=>{ 让availSpots =emptyIndexes(newBoard) newBoard = Array.from(newBoard) if(CheckForWin(newBoard) &...

回答 1 投票 0

棋盘未重置,井字棋游戏

我正在尝试制作一个井字棋游戏,而且我对Python非常陌生,所以我想知道为什么我的棋盘没有被重置,尽管我的函数明确地重置了棋盘。 我尝试摆脱...

回答 1 投票 0

井字棋游戏:我很困惑为什么当用户输入位置变量之一时我的代码不运行

由于某种原因,我无法使用变量来定义函数的这个特定子集中的空间 来自海龟进口 * 约翰 = 海龟() def naughts(n位置): 约翰.佩纳普() 约翰·戈托(

回答 1 投票 0

有什么方法可以更有效地使用某些东西而不是if语句?

if(转=== 1){ if(X1 === 真 && X2 === 真 && X3 === 假 && O3 === 假 && 转 === 1) { document.getElementById("3").innerHT...

回答 1 投票 0

为什么我的井字棋让 X 赢两场,他们赢了?

TD { 边框:1px 纯黑; 高度:50px; 宽度:50px; } 让 O1 = 假; 让 X1 = 假; 让 O2 = fal...</desc> <question vote="-1"> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>&lt;html&gt; &lt;body&gt; &lt;style&gt; td { border: 1px solid black; height: 50px; width: 50px; } &lt;/style&gt; &lt;script&gt; let O1 = false; let X1 = false; let O2 = false; let X2 = false; let O3 = false; let X3 = false; let O4 = false; let X4 = false; let O5 = false; let X5 = false; let O6 = false; let X6 = false; let O7 = false; let X7 = false; let O8 = false; let X8 = false; let O9 = false; let X9 = false; let turn = 0; let XWinNum = 0 let OWinNum = 0 function Xon1() { if (O1 === false &amp;&amp; X1 === false &amp;&amp; turn === 0) { document.getElementById(&#34;1&#34;).innerHTML = &#39;X&#39;; X1 = true; turn++ setTimeout(compMove, 1000); } } function Xon2() { if (O2 === false &amp;&amp; X2 === false &amp;&amp; turn === 0) { document.getElementById(&#34;2&#34;).innerHTML = &#39;X&#39;; X2 = true; turn++ setTimeout(compMove, 1000); } } function Xon3() { if (O3 === false &amp;&amp; X3 === false &amp;&amp; turn === 0) { document.getElementById(&#34;3&#34;).innerHTML = &#39;X&#39;; X3 = true; turn++ setTimeout(compMove, 1000); } } function Xon4() { if (O4 === false &amp;&amp; X4 === false &amp;&amp; turn === 0) { document.getElementById(&#34;4&#34;).innerHTML = &#39;X&#39;; X4 = true; turn++ setTimeout(compMove, 1000); } } function Xon5() { if (O5 === false &amp;&amp; X5 === false &amp;&amp; turn === 0) { document.getElementById(&#34;5&#34;).innerHTML = &#39;X&#39;; X5 = true; turn++ setTimeout(compMove, 1000); } } function Xon6() { if (O6 === false &amp;&amp; X6 === false &amp;&amp; turn === 0) { document.getElementById(&#34;6&#34;).innerHTML = &#39;X&#39;; X6 = true; turn++ setTimeout(compMove, 1000); } } function Xon7() { if (O7 === false &amp;&amp; X7 === false &amp;&amp; turn === 0) { document.getElementById(&#34;7&#34;).innerHTML = &#39;X&#39;; X7 = true; turn++ setTimeout(compMove, 1000); } } function Xon8() { if (O8 === false &amp;&amp; X8 === false &amp;&amp; turn === 0) { document.getElementById(&#34;8&#34;).innerHTML = &#39;X&#39;; X8 = true; turn++ setTimeout(compMove, 1000); } } function Xon9() { if (O9 === false &amp;&amp; X9 === false &amp;&amp; turn === 0) { document.getElementById(&#34;9&#34;).innerHTML = &#39;X&#39;; X9 = true; turn++ setTimeout(compMove, 1000); } } function compMove() { checkForWin() if (turn === 1) { if(X1 === true &amp;&amp; X2 === true &amp;&amp; X3 === false &amp;&amp; O3 === false &amp;&amp; turn === 1) { document.getElementById(&#34;3&#34;).innerHTML = &#39;O&#39;; O3 = true turn-- } if(X1 === true &amp;&amp; X3 === true &amp;&amp; X2 === false &amp;&amp; O2 === false &amp;&amp; turn === 1) { document.getElementById(&#34;2&#34;).innerHTML = &#39;O&#39;; O2 = true turn-- } if(X2 === true &amp;&amp; X3 === true &amp;&amp; X1 === false &amp;&amp; O1 === false &amp;&amp; turn === 1) { document.getElementById(&#34;1&#34;).innerHTML = &#39;O&#39;; O1 = true turn-- } if(X3 === true &amp;&amp; X4 === true &amp;&amp; X5 === false &amp;&amp; O5 === false &amp;&amp; turn === 1) { document.getElementById(&#34;5&#34;).innerHTML = &#39;O&#39;; O5 = true turn-- } if(X3 === true &amp;&amp; X5 === true &amp;&amp; X7 === false &amp;&amp; O7 === false &amp;&amp; turn === 1) { document.getElementById(&#34;7&#34;).innerHTML = &#39;O&#39;; O7 = true turn-- } if(X4 === true &amp;&amp; X5 === true &amp;&amp; X6 === false &amp;&amp; O6 === false &amp;&amp; turn === 1) { document.getElementById(&#34;6&#34;).innerHTML = &#39;O&#39;; O6 = true turn-- } if(X7 === true &amp;&amp; X8 === true &amp;&amp; X9 === false &amp;&amp; O9 === false &amp;&amp; turn === 1) { document.getElementById(&#34;9&#34;).innerHTML = &#39;O&#39;; O9 = true turn-- } if(X7 === true &amp;&amp; X9 === true &amp;&amp; X8 === false &amp;&amp; O8 === false &amp;&amp; turn === 1) { document.getElementById(&#34;8&#34;).innerHTML = &#39;O&#39;; O8 = true turn-- } if(X8 === true &amp;&amp; X9 === true &amp;&amp; X7 === false &amp;&amp; O7 === false &amp;&amp; turn === 1) { document.getElementById(&#34;7&#34;).innerHTML = &#39;O&#39;; O7 = true turn-- } if(X1 === true &amp;&amp; X4 === true &amp;&amp; X7 === false &amp;&amp; O7 === false &amp;&amp; turn === 1) { document.getElementById(&#34;7&#34;).innerHTML = &#39;O&#39;; O7 = true turn-- } if(X1 === true &amp;&amp; X7 === true &amp;&amp; X4 === false &amp;&amp; O4 === false &amp;&amp; turn === 1) { document.getElementById(&#34;4&#34;).innerHTML = &#39;O&#39;; O4 = true turn-- } if(X7 === true &amp;&amp; X4 === true &amp;&amp; X1 === false &amp;&amp; O1 === false &amp;&amp; turn === 1) { document.getElementById(&#34;1&#34;).innerHTML = &#39;O&#39;; O1 = true turn-- } if(X2 === true &amp;&amp; X5 === true &amp;&amp; X8 === false &amp;&amp; O8 === false &amp;&amp; turn === 1) { document.getElementById(&#34;8&#34;).innerHTML = &#39;O&#39;; O8 = true turn-- } if(X2 === true &amp;&amp; X8 === true &amp;&amp; X5 === false &amp;&amp; O5 === false &amp;&amp; turn === 1) { document.getElementById(&#34;5&#34;).innerHTML = &#39;O&#39;; O5 = true turn-- } if(X5 === true &amp;&amp; X8 === true &amp;&amp; X2 === false &amp;&amp; O2 === false &amp;&amp; turn === 1) { document.getElementById(&#34;2&#34;).innerHTML = &#39;O&#39;; O2 = true turn-- } if(X3 === true &amp;&amp; X6 === true &amp;&amp; X9 === false &amp;&amp; O9 === false &amp;&amp; turn === 1) { document.getElementById(&#34;9&#34;).innerHTML = &#39;O&#39;; O9 = true turn-- } if(X3 === true &amp;&amp; X9 === true &amp;&amp; X6 === false &amp;&amp; O6 === false &amp;&amp; turn === 1) { document.getElementById(&#34;6&#34;).innerHTML = &#39;O&#39;; O6 = true turn-- } if(X9 === true &amp;&amp; X6 === true &amp;&amp; X3 === false &amp;&amp; O3 === false &amp;&amp; turn === 1) { document.getElementById(&#34;3&#34;).innerHTML = &#39;O&#39;; O3 = true turn-- } if(X5 === true &amp;&amp; X7 === true &amp;&amp; X3 === false &amp;&amp; O3 === false &amp;&amp; turn === 1) { document.getElementById(&#34;3&#34;).innerHTML = &#39;O&#39;; O3 = true turn-- } if(X5 === true &amp;&amp; X3 === true &amp;&amp; X7 === false &amp;&amp; O7 === false &amp;&amp; turn === 1) { document.getElementById(&#34;7&#34;).innerHTML = &#39;O&#39;; O7 = true turn-- } if(X7 === true &amp;&amp; X3 === true &amp;&amp; X5 === false &amp;&amp; O5 === false &amp;&amp; turn === 1) { document.getElementById(&#34;5&#34;).innerHTML = &#39;O&#39;; O5 = true turn-- } if(X1 === true || X2 === true || X3 === true || X4 === true || X5 === true || X6 === true || X7 === true || X8 === true || X9 === true &amp;&amp; turn === 1) { if(O5 === false &amp;&amp; X5 === false){ document.getElementById(&#34;5&#34;).innerHTML = &#39;O&#39;; O5 = true turn--} else { if(X1 === false &amp;&amp; O1 === false &amp;&amp; turn === 1){ document.getElementById(&#34;1&#34;).innerHTML = &#39;O&#39;; O1 = true turn-- } if(X2 === false &amp;&amp; O2 === false &amp;&amp; turn === 1){ document.getElementById(&#34;2&#34;).innerHTML = &#39;O&#39;; O2 = true turn-- } if(X3 === false &amp;&amp; O3 === false &amp;&amp; turn === 1){ document.getElementById(&#34;3&#34;).innerHTML = &#39;O&#39;; O3 = true turn-- } if(X4 === false &amp;&amp; O4 === false &amp;&amp; turn === 1){ document.getElementById(&#34;4&#34;).innerHTML = &#39;O&#39;; O4 = true turn-- } if(X5 === false &amp;&amp; O5 === false &amp;&amp; turn === 1){ document.getElementById(&#34;5&#34;).innerHTML = &#39;O&#39;; O5 = true turn-- } if(X6 === false &amp;&amp; O6 === false &amp;&amp; turn === 1){ document.getElementById(&#34;6&#34;).innerHTML = &#39;O&#39;; O6 = true turn-- } if(X7 === false &amp;&amp; O7 === false &amp;&amp; turn === 1){ document.getElementById(&#34;7&#34;).innerHTML = &#39;O&#39;; O7 = true turn-- } if(X8 === false &amp;&amp; O8 === false &amp;&amp; turn === 1){ document.getElementById(&#34;8&#34;).innerHTML = &#39;O&#39;; O8 = true turn-- } if(X9 === false &amp;&amp; O9 === false &amp;&amp; turn === 1){ document.getElementById(&#34;9&#34;).innerHTML = &#39;O&#39;; O9 = true turn-- } } } } checkForWin() } function checkForWin() { if(X1 === true &amp;&amp; X2 === true &amp;&amp; X3 === true){ setTimeout(XWins, 100) turn+=2 } if(X4 === true &amp;&amp; X5 === true &amp;&amp; X6 === true){ setTimeout(XWins, 100) turn+=2 } if(X7 === true &amp;&amp; X8 === true &amp;&amp; X9 === true){ setTimeout(XWins, 100) turn+=2 } if(X1 === true &amp;&amp; X4 === true &amp;&amp; X7 === true){ setTimeout(XWins, 100) turn+=2 } if(X2 === true &amp;&amp; X5 === true &amp;&amp; X8 === true){ setTimeout(XWins, 100) turn+=2 } if(X3 === true &amp;&amp; X6 === true &amp;&amp; X9 === true){ setTimeout(XWins, 100) turn+=2 } if(X1 === true &amp;&amp; X5 === true &amp;&amp; X9 === true){ setTimeout(XWins, 100) turn+=2 } if(X3 === true &amp;&amp; X5 === true &amp;&amp; X7 === true){ setTimeout(XWins, 100) turn+=2 } if(O1 === true &amp;&amp; O2 === true &amp;&amp; O3 === true){ setTimeout(OWins, 100) turn+=2 } if(O4 === true &amp;&amp; O5 === true &amp;&amp; O6 === true){ setTimeout(OWins, 100) turn+=2 } if(O7 === true &amp;&amp; O8 === true &amp;&amp; O9 === true){ setTimeout(OWins, 100) turn+=2 } if(O1 === true &amp;&amp; O4 === true &amp;&amp; O7 === true){ setTimeout(OWins, 100) turn+=2 } if(O2 === true &amp;&amp; O5 === true &amp;&amp; O8 === true){ setTimeout(OWins, 100) turn+=2 } if(O3 === true &amp;&amp; O6 === true &amp;&amp; O9 === true){ setTimeout(OWins, 100) turn+=2 } if(O1 === true &amp;&amp; O5 === true &amp;&amp; O9 === true){ setTimeout(OWins, 100) turn+=2 } if(O3 === true &amp;&amp; O5 === true &amp;&amp; O7 === true){ setTimeout(OWins, 100) turn+=2 } } function OWins() { alert(&#34;O Wins&#34;) OWinNum+=1 document.getElementById(&#34;win&#34;).innerHTML = &#39;X:&#39; + XWinNum + &#39;-&#39; + &#39;O:&#39; + OWinNum } function XWins() { alert(&#34;X Wins&#34;) XWinNum+=1 document.getElementById(&#34;win&#34;).innerHTML = &#39;X:&#39; + XWinNum + &#39;-&#39; + &#39;O:&#39; + OWinNum } function Restart() { document.getElementById(&#34;1&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;2&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;3&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;4&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;5&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;6&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;7&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;8&#34;).innerHTML = &#39;-&#39; document.getElementById(&#34;9&#34;).innerHTML = &#39;-&#39; turn = 0 X1 = false X2 = false X3 = false X4 = false X5 = false X6 = false X7 = false X8 = false X9 = false O1 = false O2 = false O3 = false O4 = false O5 = false O6 = false O7 = false O8 = false O9 = false } &lt;/script&gt; &lt;table&gt; &lt;tr&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;1&#34; onclick=&#34;Xon1()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;2&#34; onclick=&#34;Xon2()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;3&#34; onclick=&#34;Xon3()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;4&#34; onclick=&#34;Xon4()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;5&#34; onclick=&#34;Xon5()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;6&#34; onclick=&#34;Xon6()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;7&#34; onclick=&#34;Xon7()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;8&#34; onclick=&#34;Xon8()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;td align=&#34;center&#34;&gt;&lt;button id=&#34;9&#34; onclick=&#34;Xon9()&#34;&gt;-&lt;/button&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;button onclick=&#34;Restart()&#34;&gt;Restart&lt;/button&gt; &lt;h4 id=&#34;win&#34;&gt;&lt;/h4&gt; &lt;/body&gt; &lt;/html&gt;</code></pre> </div> </div> <p></p> <p>嘿,我是堆栈溢出的新手,是的,我知道它有很多代码,但我正在学习循环和数组以缩短它。回到正题。谁能告诉我为什么 X 每次获胜都会赢两次。 (要获胜,请转到右中,然后是左下,然后是右下,然后是右上角。)如果有人能告诉我为什么这样做,我将不胜感激。如果有人能给我一个很好的链接来学习循环和数组,并且不会太令人困惑,那就太好了。</p> <p>当 X 获胜时,我需要它停止给 X 两场胜利。我尝试复制并粘贴 O win 并重命名变量,以便它适用于 X,我也对函数 Xwins() 做了同样的事情。</p> </question> <answer tick="false" vote="1"> <p>在您的 <pre><code>compMove()</code></pre> 函数中 <pre><code>checkForWin()</code></pre> 调用两次。这就是为什么它两次显示获胜者。</p> <ol> <li>函数开始</li> <li>功能结束</li> </ol> <p>当“O”获胜时,仅第二个<pre><code>checkForWin()</code></pre>起作用。但是当“X”获胜时,<pre><code>checkForWin()</code></pre> 都会运行。</p> <p><strong>NOT:</strong> 你确实需要提高你的代码技能。这不是一个干净的代码示例。您可以查看并学习有关 SOLID 和 Clean Code 的一些内容。</p> <p>看一下:<a href="https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29" rel="nofollow noreferrer">https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29</a></p> </answer> </body></html>

回答 0 投票 0

为什么电脑在我的井字棋游戏中随机放下 2 个 O

让 O1 = false; 让 X1 = 假; 让 O2 = false; 让X2=假; 让O3=假; 让X3=假; 让O4=假; 让 X4 = 假; 让O5=假; 让 X5 = 假; 让 O6 = 假; 让 X6 = 假; 让O...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.