Pythonプログラミングで
チェスを作る
HOME
STAGES
CODE
Stage 1 プログラムの機能を考える
Stage 2 プログラムの土台を作る
Stage 3 盤面のクラスの基本機能を作る
Stage 4 駒の動きを判定する
Stage 5 駒を動かす
Stage 6 勝敗を判定する
Stage 7 入力の棋譜を駒の動きに変換する
Stage 8 ゲームを進行する
Stage 9 ゲーム進行を記録する
Stage 10 記録からゲームを進める
Stage 11 全体の機能を統括する
HOME
Stage 1
Stage 2
Stage 3
Stage 4
Stage 5
Stage 6
Stage 7
Stage 8
Stage 9
Stage 10
Stage 11
CODE
Stage 1 プログラムの機能を考える
1-1 盤面の機能を考える
1-2 駒の機能を考える
1-3 運営の機能を考える
Stage 2 プログラムの土台を作る
2-1 ロガーを設定する
2-2 定数を設定する
2-3 インデックスが適正か判定する機能を設定する
2-4 文字を変換する機能を設定する
Stage 3 盤面のクラスの基本機能を作る
3-1 コンストラクタを作る
3-2 盤面を表示する
Stage 4 駒の動きを判定する
4-1 全ての駒で不可能な動きを除外する
4-2 ポーンの動きを判定する
4-3 ルーク・ナイト・ビショップ・クイーンの動きを判定する
4-4 キングの動きを判定する
4-5 駒を飛び越える動きを除外する
Stage 5 駒を動かす
5-1 動かせない場合を除外する
5-2 キャスリングの例外処理をする
5-3 アンパッサンの例外処理をする
5-4 プロモーションの例外処理をする
5-5 駒を動かす
5-6 パラメーター処理をする
Stage 6 勝敗を判定する
6-1 キングの位置を特定する
6-2 チェックの数を数える
6-3 チェックメイト・ステイルメイトを判定する
Stage 7 入力の棋譜を駒の動きに変換する
7-1 不要な文字を消去する
7-2 正規表現でふるいにかける
7-3 動かす駒を判定する
7-4 移動元のマスのヒントを整理する
7-5 移動先とプロモーションを特定する
7-6 移動元の候補を列挙する
7-7 移動元の候補を絞り込む
7-8 キャスリングの棋譜を処理する
7-9 勝敗の棋譜を処理する
Stage 8 ゲームを進行する
8-1 ゲームの初期設定をする
8-2 ゲームセットを判定する
8-3 駒の動きを入力する
8-4 ヘルプを処理する
8-5 リザインを処理する
8-6 盤上で駒を動かす
8-7 ゲームセットを処理する
Stage 9 ゲーム進行を記録する
9-1 記録ファイルの初期設定をする
9-2 棋譜から余計な文字を削除する
9-3 記録ファイルに棋譜を書き込む
9-4 ゲームで記録機能を運用する
Stage 10 記録からゲームを進める
10-1 記録ファイルを読み込む
10-2 棋譜の内容を解読する
10-3 1手戻る機能を実装する
10-4 棋譜からゲームを再現する機能を実装する
Stage 11 全体の機能を統括する
11-1 各種設定を変更させる
11-2 ウェルカムページを作る
Stage 11 全体の機能を統括する
チェスのプログラミング第 11 ステージ、ここでは棋譜を解読して駒の動きを再現する機能を実装します。
MENU
11-1 各種設定を変更させる
盤面を固定して表示するか、プレイヤーの向きに合わせて回転させて表示するか設定できるようにしてあげます。
11-2 スタート画面を作る
ゲームスタート前に、各種設定及びモード選択ができるようにスタート画面を作ってあげます。