過去總喜歡在上課的時候跟同學用計算紙畫棋盤下五子棋,因此對於五子棋也有一些認識,就嘗試將它移植到程式上,並製作一個難度不弱的人工AI。其實早在四年前就已經有做過這個五子棋遊戲專案,只不過當時是使用Java Swing來完成,而且架構不易重複使用。於是在兩年前就將這個五子棋專案移植成JavaFX應用程式,電腦AI部份基本上是沿用之前寫的,只稍微整理程式碼並優化了運算的效能,其餘的部份有許多是先前沒有的東西,一直慢慢加上去之後,到現在才正式發佈。
五子棋X
之所以要在「五子棋」後面加上「X」,是為了要跟先前使用Java Swing完成的「五子棋」作區別。「五子棋X」改用JavaFX提供的Canvas類別來進行繪圖,擁有更好的效能以及畫質,並且支援中英兩種語言和立體聲音效。如果要下載「五子棋X」,可以使用以下連結:
五子棋的玩法大家應該都知道,就是先將棋子橫向、直向或斜向連成5顆的一方獲勝。
然而,「五子棋X」還支援連珠(Renju)規則,可以對黑子設禁手,讓他不能以目前的一子擺出長連、雙活三、雙四(四四)的連線,以抵消黑棋先下的優勢,讓五子棋遊戲更為平衡。除了遊戲規則可以讓玩家選擇之外,「五子棋X」還有一些下棋音效,讓玩家玩起來更有感覺。另外設有「回到上一步」和「提示下一步」的功能,允許玩家下錯棋的時候回手,也允許玩家在不知道怎麼下的時候提示要下哪個位置哦!
遊戲影片如下: