利用 Heuristics 撰寫的井字遊戲
Heuristics
井字遊戲有八種可能的結束方式 (三種橫的,三種直的,兩種對角線)。
由上面敘述中可以知道九宮格中分為三種位置, 這三種位置是有不同的重要性的, 中央位置可以有四種可能性來贏得此遊戲, 若是這四種可能性已經有一些被對手搶走了, 下在中央位置至少也可以防堵被對手搶走的, 如此分類後, 這三種位置依序是:
中央位置:只有一個,每一個可以決定四種可能性
四個角落:有四個,每一個可以決定三種可能性
四個側面的位置:有四個,每一個可以決定二種可能性
程式在決定要下哪一子的時候, 基本上依據這個順序來嘗試。
每次輪到電腦下的時候, 先依前面的重要順序找到第一個沒有人下的位置, 然後看看如果自己下在這裡, 對手下一子會不會就贏了, 如果不會, 就下在這裡; 如果會的話, 就再依前面的重要順序找到下一個沒有人下的位置, 再重複地測試即可。
這麼簡單嗎?
都不用考慮多下幾子了嗎? 不相信的話, 請你動手試一試吧? 如果你找到例外的話, 趕快告訴我, 謝謝!
範例執行程式:
這個程式就是利用上面的方法寫出來的, 用滑鼠玩玩看吧!
回
程式設計課程
首頁
製作日期: 09/13/2008 by 丁培毅 (Pei-yih Ting)
E-mail:
pyting@mail.ntou.edu.tw
TEL: 02 24622192x6615
海洋大學
電機資訊學院
資訊工程學系
Lagoon