パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

TwixT用アルゴリズムの検討

2020-02-25 | ゲーム

TwixTという古典のゲーム

下はその盤面の数を24x24から12x12に縮小したものらしい

対戦例は現時点で1位と2位のAI

 

<ルール>

お互いに自分の色のペグを1つずつ打つ、

打つ際に自分のペグが桂馬飛びの位置にあればリンクを張る

ただし相手のリンクに交差する場合はリンクは張れない

赤なら縦、青なら横にリンクがつながれば勝ち

 

1957年にアレックス・ランドルフさんが囲碁を参考に考案したそうな

将棋も有段者でゲームデザイナー連盟の共同創設者

 

まず雛形のプログラムの軽量化

相手の最後の手

自分のペグ

自分のリンク

相手のペグ

相手のリンク

と入力があって

次の手を返す

 

このゲームのアルゴリズムで難しいのではと考えているのは交差の判定

相対的な位置をパターン化するのが良さそう

どのようにデータ化するか…

 

あと距離縦横3つ離れた位置に置くのが重要ではないかと検討中

(相手のペグが内側に一点もなければ必ず2つをつなげられるから)

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。