https://github.com/CaseyNelson314/Othello_Prosessing
- 2色マトリックスLEDをダイナミック制御して表示させています
-
駒が置かれた場合,そのマスから8方向(上,右上,右...)を検索し色を反転させます
-
実際は駒が置けなくなる場合を考える必要があるため,駒が置かれた後, 一度全マス(8×8)にコマが置けるかどうか検索します。 1マスでも置ける場所があれば続行,なければスキップまたは終了動作を行うようになっています
白の番で上方向を検索する場合
-
1マス上に黒があるかどうか検索 あれば更に1マス上へと進む,なければ次の方向を検索
-
上記の条件を満たした上,その上のマスに白があれば反転できる
マスごとに優先度を設定し、優先度が被る場合にはランダムで選んだマスに駒を置きます
優先度(数値が高いほど優先度大)
9 | 2 | 5 | 6 | 6 | 5 | 2 | 9 |
2 | 1 | 3 | 4 | 4 | 3 | 1 | 2 |
5 | 3 | 8 | 7 | 7 | 8 | 3 | 5 |
6 | 4 | 7 | 0 | 0 | 7 | 4 | 6 |
6 | 4 | 7 | 0 | 0 | 7 | 4 | 6 |
5 | 3 | 8 | 7 | 7 | 8 | 3 | 5 |
2 | 1 | 3 | 4 | 4 | 3 | 1 | 2 |
9 | 2 | 5 | 6 | 6 | 5 | 2 | 9 |
-
序盤は隅4辺を取られないよう、中心の4×4内に優先しておくようにしています
-
中盤は角を取られないように角に近いマスを避けるようにしています
-
終盤は角をなるべく狙います