我是一名初級程序員,我知道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