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

パーソナルブログメモリ

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

チェスのプログラムの作り方

2020-12-23 | プログラムをマスター計画2020

CodinGameに対戦チェス960が登場承認前のものを早速コーディング
といっても何をしていいのかぼんやり頭で検討ポーンの動きが悩ましいです

このチェスゲーム、ランダムで合法手を指し手を指してくれる機能があり、これを有効に使います

まずはポーンが駒を取れる時は取るという一手から実装
これだけでも他のプログラムより優位に(みんな、まだランダムだけっぽい)

ナイト、ビショップ、ルーク、クィーンと駒を取るプログラムを実装します

このあたりではまだビリ
優位には立てるのですが詰められないので相手の王が割と無双して時間切れ
またチェック放置で駒取り

王手がかかっていないことを確認追加で4位
ランダム+チェックは逃げるルーチンといい勝負なようです

そこでポーンを進めてクィーンにするルーチンを入れて
かろうじてランダム合法手に少し勝てるようになりました


画面は枠をつけて一次元化したボードからナイトの駒取りとビショップ、ルーク、クィーンの駒取りのルーチンです

 

その後、クィーンでチェックするルーチンを追加した対局風景です

 


最新の画像もっと見る

コメントを投稿

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