我在想我自己的算法来实现Tic Tac toe。这将是一台计算机对抗系统。我想实现的算法将是一个hashmap,它包含用户选择的每个节点的所有获胜节点。系统将轮询散列映射以查找用户选择的键,并随机选择获胜的移动选项之一。先前由用户或系统选择的选择可以被移除或设置为布尔值true。这主要是一个基于阻塞的算法。欢迎对此有任何想法或评论。
系统哈希映射
<1,<2,3,4,7,5,9>>
<2,<1,3,5,8>>
<3,<1,2,6,9,5,7>>
<4,<1,7,5,6>>
<5,<2,8,4,6>>
<6,<3,9,5,4>>
<7,<1,4,8,9,5,3>>
<8,<2,5,7,9>>系统将基于用户的键选择来随机选择散列映射的条目之一。我知道这不是一种可伸缩性很强的方法,但我想知道一些关于这方面的评论。系统/用户已经选择的每个条目都可以设置为false /删除,因此这可能不是问题。
发布于 2012-11-11 04:59:07
您的方法可能会起作用,但这不是一个非常好的解决方案。
我宁愿实现一个算法,这样计算机就可以自己计算最佳走法,而不是将包含游戏状态和各自获胜走法的硬编码散列传递给系统。你可能会考虑一些众所周知的算法:
Minimax
Negamax
Alpha-beta pruning
此外,通过使用算法,您将为您的程序添加可伸缩性。
https://stackoverflow.com/questions/13325775
复制相似问题