goo blog サービス終了のお知らせ 

パーソナルブログメモリ

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

囲碁のプログラムを作る

2020-06-16 | Python

発端

囲碁ゲームをみつけたので作ってみました

ルールは少し違っていて、規定ターンまでに多くの石を取ったほうが勝ちです

 

まさか囲碁のプログラムを作る日がくるとは...

 

 

アルゴリズム1

最初はランダムです、端には打たないようにします

 

アルゴリズム2

空きを数えるロジックを組んで、相手の空きが2,1の箇所を優先に打ちます

 

アルゴリズム3

次の一手で取られる場所で伸びて空きが増えるなら最優先に打ちます

(シチョウにキレイにはまります)

 

コウは教えるのが少しむずかしいので避けるようにしてます

 

ここまで、空行をいれて129ステップ(アルゴリズムのみの実装)

それっぽく打っているので少し驚いています

 

 

 

アルゴリズム4

外から2列目で挟まれたあと上からかぶせられて取られているパターンが多いので

nyokkiという名前の上に伸びる関数を追加

 

passの宣言が大文字にしていなくて負けていたので修正

 

今度こそBOSS 2に...

全コマ👾されました

2手で取れる時は打つはずなのでバグです...

 

 

それでも、たまに勝つようになりました


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。
ブログ作成者から承認されるまでコメントは反映されません。