2014年3月6日 星期四

JavaFX Tic Tac Toe

井字遊戲 (Tic Tac Toe) 又稱為井字棋或圈圈叉叉,是我們從小玩到大的益智遊戲,兩個人隨時只要有紙和筆,就可以開始遊戲,其中一方打圈、一方打叉,輪流在3×3的格子上畫上圈叉,最先將三個圈或三個叉連成一線者則獲勝,連線可為橫線、直線或斜線,若格子填滿後仍無任何一方連成一線,則為平手,如下圖所示:
以程式而言,由於此類遊戲通常為人機對戰,因此需設定各個格子的加權比重,藉此分析電腦可能的圈叉位置,此方法稱為Weight。其中以中間的位置,致勝機率最高,因此將其比重設為最高,其餘以此類推,各格子的加權比重如下圖所示:
其中圈圈以GraphicsContext類別的fillOval()方法繪製,並加入漸層效果,讓圈圈更具立體感;叉叉則以圖像處理:
以下分別為玩家與電腦獲勝時之畫面:
若為平手,則顯示Stalemate之訊息:

© Chia-Hui Huang

沒有留言:

張貼留言