まずはポーンから動きを実装していく。まずはというものの実際にはポーンがもっとも複雑な動きをする駒で実装も複雑。
1. 1つ前に進む。ただし、1つ前に敵味方関係なく他の駒があるときは進めない。ポーン以外の他の駒は敵の駒を取りつつ進めるがポーンだけは敵の駒を取るときの動きが異なる。
... ... .P.
... .P. ...
AddPawnMovesはあとで解説。
2. 最初の位置(白だと2列目、黒だと7列目)からだと2つ一度に進める。これはゲームの序盤で同じポーンを2手連続で前に進めることがよくあるので、ゲームの進行を早めるために導入された。したがって1つ前の駒を飛び越えれるわけではなく、1つ前と2つ前が共に開いていることが条件。
....P... ........ PPPP.PPP RNBQKBNR
3. 斜め前に敵の駒があるときは、それを取って進むことができる。このときポーンの前に他の駒があっても構わない。
... .pq .P.
... .pP ...
4. ポーンは最初の位置からだと2つ進めるけど、そのときに斜め前に敵のポーンがいたら2つ進む前に敵は取ることができるよねというわけで、その取り方をアンパッサンという。これはポーンが2つ前進した直後の手でしか有効ではないので最後の手を見て判断。
..p.. ..... PPPPP QKBNR
.Pp.. ..... P.PPP QKBNR
..... .p... P.PPP QKBNR
Pawnは前にしか進めないので、盤の端に到達すると、そのままだと動けなくなってしまう。端まで到達したポーンは必ずポーンとキング以外の他の種類の駒つまり、ナイト、ルーク、ビショップ、クイーンにpromoteしないといけない。「必ず」というのはステールメイトが関わっていて、ポーンが動ける限りステールメイトにならないところが、端のポーンがpromoteしないとステールメイトになりやすくなってしまう。また、クイーン以外にpromoteするというのも、ごくごく稀にクイーンにpromteするとステールメイトという盤面がある程度。普通はpromoteはクイーンにと思ってもいい。
0 件のコメント:
コメントを投稿