Pythonで、CUIとGUI両対応のリバーシを作っていく本です。標準ライブラリーだけを使って実装します。
これまで何十冊か同人技術書を出してきましたが、そのノウハウを反映した内容になっています。本書自体も、この本で解説しているプログラムでEPUBを生成したあと、PDFに変換しています。
実行時引数による分岐、コマンドライン入力による座標の受け取りから始めて、リバーシのデータや情報、ルールの実装、CUIでのプレイ、コンピューターとの対戦、GUIの実装と進んでいきます。
本の前半はCUI版リバーシの作成で、後半はGUI版リバーシの作成になります。内部処理は共通していて、実行時引数で切り換えられます。
コースは、次のように進みます。
■ 第1部 CUIのリバーシを作ろう
● 第1章 イントロダクション
・作るものの確認
・Pythonとは
・Pythonのドキュメント
・ソースコードについて
● 第2章 開発の開始
・プロジェクトの準備
・実行時引数による分岐
・コンソールからの入力
● 第3章 データを作ろう
・盤面グループ
・リバーシのデータ
・ゲームの情報
・ゲーム情報の出力
● 第4章 人対人のリバーシを作ろう
・進行(管理)
・進行:石置きテスト
・進行:8方向のマスのリスト
・進行:裏返せるマスのリスト
・進行:石置き
・人対人のループ
● 第5章 人対COMのリバーシを作ろう
・COM:思考
・COM:盤面評価表
・COM:次手確認
・CUIのループの改良
■ 第2部 GUIのリバーシを作ろう
● 第6章 GUIのウィンドウを表示しよう
・tkinterとは
・GUIの設定
・ウィンドウ初期化
・GUI開始時の処理
● 第7章 テキストエリアとボタンを作る
・テキストエリアの作成と関数
・ボタンの作成と処理
● 第8章 盤面の表示
・キャンバスの作成と描画
・描画:描画の全体
・描画:マスの描画
・描画:石の描画
・描画:配置可能/配置マスの描画
● 第9章 盤面の機能
・キャンバスへの石置き
・COMの実行
・ゲーム終了のメッセージ表示
● 第10章 まとめ
・全体の確認
・終わりに