tic-tac-toe相关内容

您将使用什么算法来解决一个非常大的井字游戏?

考虑所有情况,可以轻松解决一个小的(3x3、4x4)井字游戏。但是,例如,您有一个30x30的井字游戏。在这种情况下,您将使用哪种算法来决定下一个最佳动作? Minimax + alpha-beta修剪是我所知道的一种方法。 还有其他更有效/更不高效但更凉爽的方法吗? 我知道这不是一款非常有趣的游戏。我说30x30只是想问我想要什么,即哪种算法在这类游戏中效果最佳,在这种情况下, ..

井字游戏Java MouseListener

因此,我一直在使用MVC开发井字游戏应用程序.我在实现视图页面中的鼠标侦听器时遇到困难.我需要板上的每个面板都是可单击的.有人可以帮我吗? public class TicTacToeView extends JFrame{ private JButton oButton, xButton; public JPanel board; public ArrayList ..
发布时间:2020-05-12 19:13:15 Java开发

Tic Tac Toe和Minimax-在微控制器上创建不完美的AI

我已经在微控制器上创建了一个Tic-Tac-Toe游戏,其中包括一个完美的AI(完美的意思是它不会丢失).我没有为此使用minimax算法,只是一个带有所有可能和最佳移动的小状态机. 我现在的问题是我想实施不同的困难(简单,中等和困难).到目前为止,人工智能将是困难的. 因此,我考虑了最佳方法,最终想使用minimax算法,但是它会计算所有游戏位置的所有得分,因此有时我也可以选择次佳得分最好的.由 ..

Tic Tac Toe获胜并获得支票-Matlab

我正在制作井字游戏,每次尝试调试时都会遇到各种错误.我不确定问题出在哪里.主要错误是 Index exceeds matrix dimensions 或 Subscript indices must either be real positive integers or logicals 我的"checktaken"功能的第8行中的 . 以下是我的代码,其中tttGa ..
发布时间:2020-05-06 15:27:06 其他开发

循环播放井字游戏

我写了一个从头到尾播放井字游戏的代码.游戏结束后,我需要询问用户是否要重复游戏(是/否),并重复直到用户输入否.我不确定在哪里实现循环或如何实现,因此将不胜感激.代码如下: import java.util.Scanner; public class bb2 { static char place1 = ' '; static char place2 = ' '; stati ..
发布时间:2020-05-04 05:44:01 Java开发

Tic-Tac-Toe minimax算法不适用于4x4电路板

所以我过去3星期一直在从事这个项目.我设法使minimax函数可以在3x3板上早期使用,但是当我尝试在4x4板上使用minimax函数时就出现了问题,即Java堆空间错误.从那时起,借助Alpha beta修剪,我设法减少了aprox在minimax函数中所需的minimax调用次数.从59000到16000到11000,然后最终到8000个呼叫(这是假设已填充一个插槽的电路板的初始minimax ..
发布时间:2020-05-04 04:24:56 Java开发

使用reactjs在tic tac toe app中渲染图像

我正在尝试使用reactjs创建一个简单的tic tac toe应用程序,其中包含两种模式:经典和图像,在经典模式下我可以选择显示 X 和 O ,而在图像模式下,我有两个显示两个图像的选项,如下所述。我的文件结构是: src components ChooseGameMode.js choosePlayer.js GameStatus.js Status.js im ..
发布时间:2019-06-08 21:54:43 前端开发

简单的tic-tac-toe AI

我知道这已被问了很多,我已经搜索了其他代码,但我看到的大部分内容似乎都没有完美无缺(永不丢失),而且简单,优雅,高效。我无法确定哪种解决方案适合该描述。 我见过的解决方案是: (1)使用minimax进行alpha-beta修剪。这对我来说似乎很复杂,对于这么简单的游戏可能没必要?它可能太复杂了吗?如果没有,我是否需要进行大量的硬编码或者我是否误解了算法? (2)使用维基百科的伪 ..
发布时间:2019-02-19 19:19:40 AI人工智能

对Tic Tac Toe的建议

我正在为Tic-Tac-Toe游戏设计我的实施策略。由于这是我的第一个游戏实现,我有点困惑,需要一些一般性的指示。 现在,Tic-Tac-Toe的获胜组合总数是8.目前,我计划将这些获胜组合存储在一个数组中。一旦最终用户进行了至少3次移动,我将通过比较Player对阵此阵列的当前位置来开始检查玩家是否赢得了游戏。但是,我确信这不是检查玩家是否有获胜组合的有效方法。 有人可以建议我如何设 ..
发布时间:2018-12-26 14:19:02 Java开发

线程中的异常“AWT-EventQueue-0” java.lang.NullPointerException if-statement

我正在开发一个tic tac toe游戏并且有一个问题 - 线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException,它在我尝试按下按钮时发生。 buttonText更改为X,但之后我遇到了问题。我认为if语句有问题: Main.java的源代码: package mytictactoegame; 公共类Main { pub ..
发布时间:2018-07-17 09:34:09 Java开发

Java:在绘制主画布的类外绘图

我正在尝试使用Graphics开发一个以Java为基础的井字游戏。 我的问题是:我不想在我的Grid.class(绘制3x3行)中添加任何其他方法,但是我想从一个名为Game的类中绘制我的X或O.我的网格类如下所示: import java.awt.Graphics; import javax.swing.JPanel; public class Grid扩展JPanel { ..
发布时间:2018-05-25 19:37:56 Java开发

C ++ Tic Tac Toe游戏

可能重复: C ++ Tic Tac Toe Game 这是我到目前为止,请帮助我。这是我需要完成的代码。 实现displayBoard以显示Tic Tac Toe板。 提示用户在板上选择一个框,即1到9之间的数字,1是左上角。 使用cin.get (框)获取框编号,并使用isdigit来验证它是一个 编号; 1 | 2 | 3 4 | 5 | 6 7 | 8 ..
发布时间:2016-11-02 20:37:13 C/C++开发

C ++ Tic Tac Toe游戏

我很困惑。我试图创建一个tic tac toe游戏使用windows c ++视觉。到目前为止,我做得很好,直到我不断收到错误。我试图寻求帮助,但没有一个答案似乎是对的。这是我的实践问题。 实施displayBoard以显示Tic Tac Toe板。 提示用户在板上选择一个框,即1到9之间的数字,其中1是左上角。 使用cin.get得到框号和isdigit来验证它是一个 号码; ..
发布时间:2016-10-21 00:05:20 C/C++开发

井字棋:如何填充决策树?

我在做一个井字棋程序。我打算使用极小它。我做了一个树空间所有可能的游戏序列和我正在寻找一种方式来填充它。我目前有这种类型的: typedef结构名称 { 炭网格[3] [3]; 结构名*子[9]; }节点; 和我正在寻找一种方式来填补电网就像它的显示的此处。我怎么会去填补电网,以确保所有可能的组合有哪些?我的计划是让游戏中认识的一举一动玩家可以拿,然后再决定采取什么步骤才能 ..
发布时间:2016-08-22 15:20:32 C/C++

Java的游戏井字winCondition?

我怎么会让一个双赢的条件,以我的井字棋游戏?我还需要使它所以当玩家完成后,它会问他们是否想重新播放。如果你想出一个办法,你能告诉我为什么会这样。这里是我的code: 进口java.awt中的*。 java.awt.event中导入*。 进口的javax.swing *。 @燮pressWarnings(“串行”) 公共类游戏扩展的JFrame { JFrame ..
发布时间:2016-06-03 22:20:00 Java开发

井字为n×n个一板N播放器 - 检查赢家

我提出的玩家在N×N的主板N多一个井字游戏,但获胜的条件是连续跳投3。 我迄今解决问题的方法是:当一个移动是由该程序将检查下列方3上的行 (X-1,Y + 1)(x,y + 1)(X + 1,Y + 1) (X-1,y)的(X,Y)(X + 1,y)的(X-1,Y-1)(X,Y-1)(X + 1,Y-1) 其中(x,y)是已经正在取得的举动。我们有4案件这里是检查:连续胜利,列取胜,对角线 ..
发布时间:2016-05-31 20:52:47 Java开发

极大极小算法的井字失败

我想实现一个极大极小算法的井字与α-β剪枝。现在我有程序的运行,但它似乎并不奏效。每当我运行它似乎在所有的方块输入垃圾。所以,我的极小函数接受一个板状态,并修改了状态,这样,当它完成,董事会状态包含了一个最好的举动,我实现它。于是,我把“这”等于修改后的板上。这里是我的函数的极大极小的算法: 无效板:: getBestMove(){ 板returnBoard; 极小(INT_MIN + ..
发布时间:2015-11-30 22:27:28 C/C++开发