我是一名初级程序员,我知道pascal和C++的基础知识。我用玩家电脑制作了一个Tic Tac Toe游戏,游戏全部结束。解决TicTacToe引擎
计算机生成一个随机的地方,Os在桌子上,这是不好的。
我以为我应该检查每个获胜位置的多个程序,并且计算机应该尝试阻止玩家的X或获得胜利的位置,但是如果是这样的话,这将会浪费很多时间。
然后我想到了一个更简单的版本,但它仍然需要很多时间来完成。
然后我想到更深入的了解:如何找到四个游戏?如何在地球上有人会设法检查每个可用的空间,以及如何有可能做出一个功能,绝对检查任何获胜或进步的球员/计算机的位置,哦,等待,这不是全部,如果玩家正在做一些技巧,所以他阻止了电脑?计算机如何知道?!?当然,这需要很长时间才能编程。我不是在谈论更不可能的事情:国际象棋。
所以我在这里问自己,应该有一种更简单的方式来让计算机搜索和解决一些问题,而不是吨的ifs。在这种情况下,如果你们中的任何一个知道解决这个问题的方法,我怎样才能使最简单的程序在TicTacToe游戏中阻止和击败玩家?
如果有人想检查我的代码或使用它:http://pastebin.com/jhyUn7d1
有* *许多技巧。对于像TTT这样的简单游戏,您应该搜索“深度优先搜索”。对于更复杂的游戏,您可以开始研究“alpha-beta修剪”。对于*真正*复杂的游戏,您可以阅读,比如说,“蒙特卡洛树搜索”。 – 2013-05-10 18:54:05
http://imgs.xkcd.com/comics/tic_tac_toe.png:P – BlackBear 2013-05-10 18:59:22
[Simple tic-tac-toe AI]的可能重复(http://stackoverflow.com/questions/15753572/simple-tic-tac-脚趾爱) – 2013-05-10 19:29:00