python - 带有多维数组和海龟的 Tic-Tac-Toe AI

标签 python

我正在尝试通过使用乌龟在 Repl.it 上绘制棋盘来制作井字游戏。效率不是很高,但我正在尝试开发人工智能,而不必对每种可能的电路板组合进行编程。

我对 python 还很陌生;我正在学校上 AP ComSciPri 类(class)。我在函数和计算等方面学到了很多基础知识,但从总体上看我错过了很多东西。除了创建分支来平局每场比赛之外,还有其他方法可以创建一个过程来执行此操作吗?

不确定这是否有帮助,但是:

gameArray = [["-","-","-"],["-","-","-"],["-","-","-"]]

uArray = [["0","0","0"],["0","0","0"],["0","0","0"]]

cpuArray = [["0","0","0"],["0","0","0"],["0","0","0"]]

winningArrays = [
[["X","X","X"],["0","0","0"],["0","0","0"]],
[["0","0","0"],["X","X","X"],["0","0","0"]],
[["0","0","0"],["0","0","0"],["X","X","X"]],
[["X","0","0"],["X","0","0"],["X","0","0"]],
[["0","X","0"],["0","X","0"],["0","X","0"]],
[["0","0","X"],["0","0","X"],["0","0","X"]],
[["X","0","0"],["0","X","0"],["0","0","X"]],
[["0","0","X"],["0","X","0"],["X","0","0"]]]
<小时/>

我使用海龟绘制棋盘并放置印章,以及操作调试板(gameArray、uArray、cpuArray)。

<小时/>

如果用户输入== 1:

spaceList.remove(1)

turt1.shape("circle")

turt1.color("black")

turt1.penup()

turt1.goto(-75,-25)

turt1.stamp()

gameArray[2][0] = "U"

uArray[2][0] = "X"
<小时/>

我将链接我在hastebin中的内容。大多数情况下,我想要一些我可以研究的信息,或者是否有人可以给我任何建议。提前致谢!

最佳答案

人工智能需要的最重要的一点是衡量董事会状态的好坏。作为一个非常简单的例子,假设衡量标准是棋盘是否处于获胜状态(连续三个 X)。然后让人工智能检查它可以制作的所有不同的棋盘(最多 9 个),如果其中一个获胜,我们就选择那个!否则就随机选择一些东西。这当然应该比随机机会更好,并且可能是您的程序的一个很好的“简单模式”计算机播放器。如果您可以创建一个更复杂的函数,并且棋盘状态更好,那么您就可以创建一个更复杂的计算机播放器。

关于python - 带有多维数组和海龟的 Tic-Tac-Toe AI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55579015/

相关文章:

python - 我无法使用 Google App Engine 更新 appcfg.py,我收到错误 500

python - 如何在 Flask 中允许 HTTP 方法 "PUT"和 "DELETE"?

python - Django AWS Elastic Beanstalk WSGIPath 引用了一个不存在的文件

python - 在 Django 中形成 POST 字典时,请求中的正文被忽略

python - 3D 格式 : obj and duplicate vertices

Python:在谷歌云数据存储模拟器中保存数据

Python Pandas 从 Groupby 中选择组的随机样本

python - 在 Python 中从 JSON 初始化嵌套类?

用于操作 excel 表的 python 脚本

python - SimpleHTTPServer:其他设备无法连接到服务器