利用 Heuristics 撰寫的井字遊戲

Heuristics

  1. 井字遊戲有八種可能的結束方式 (三種橫的,三種直的,兩種對角線)。

  2. 由上面敘述中可以知道九宮格中分為三種位置, 這三種位置是有不同的重要性的, 中央位置可以有四種可能性來贏得此遊戲, 若是這四種可能性已經有一些被對手搶走了, 下在中央位置至少也可以防堵被對手搶走的, 如此分類後, 這三種位置依序是:

    1. 中央位置:只有一個,每一個可以決定四種可能性
    2. 四個角落:有四個,每一個可以決定三種可能性
    3. 四個側面的位置:有四個,每一個可以決定二種可能性

    程式在決定要下哪一子的時候, 基本上依據這個順序來嘗試。

  3. 每次輪到電腦下的時候, 先依前面的重要順序找到第一個沒有人下的位置, 然後看看如果自己下在這裡, 對手下一子會不會就贏了, 如果不會, 就下在這裡; 如果會的話, 就再依前面的重要順序找到下一個沒有人下的位置, 再重複地測試即可。

這麼簡單嗎?

範例執行程式:

這個程式就是利用上面的方法寫出來的, 用滑鼠玩玩看吧!

程式設計課程 首頁

製作日期: 09/13/2008 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@mail.ntou.edu.tw TEL: 02 24622192x6615
海洋大學 電機資訊學院 資訊工程學系 Lagoon