目次
Python製の四目並べ(Connect four)ゲームです。
GUI(デスクトップアプリ), CUI(Terminal)でプレイできます。
- Python 3.8 以上
git clone https://github.com/nafuka11/dena-review.git
make gui
画面の青い部分のボードをクリックして、コマを配置します。
「Reset Game」ボタンでゲームをリセットできます。
いずれかのプレイヤーが勝った場合、または引き分けた場合、以下のような表示となります。
make cui
初期状態は以下のような表示となります。
+-------------+
|. . . . . . .|
|. . . . . . .|
|. . . . . . .|
|. . . . . . .|
|. . . . . . .|
|. . . . . . .|
+-------------+
1 2 3 4 5 6 7
TURN: Player1(O)
Please input index(1-7):
1から7までの行番号を入力し、コマを配置します。
プレイヤーのどちらかが勝つか引き分けるかした場合、ゲームを終了します。
以下のツールがインストールされている必要があります。
- Poetry
ディレクトリ名 | 説明 |
---|---|
docs | READMEの画像ファイル, UML図作成に使うpumlファイル |
cui | CUIゲームのソースファイル |
gui | GUIゲームのソースファイル |
logic | 四目並べのロジック部分のソースファイル |
開発に使う各種コマンドは以下で確認できます。
make help
make test
pytestを使って logic/
のテストを行います。
cui/
,gui/
のテストは行っていません。現状、手動で確認しています
make lint
flake8, black, mypy, isortを使ってチェックをします。
それぞれのパッケージは以下の内容をチェックしています。
- flake8:PythonのコーディングスタイルPEP8に沿っているか、ソースコードのエラーがないか。
- black:コードがフォーマットされているか。
- mypy:静的型チェッカー。
- isort:モジュールのimport順がソートされているか。
make format
black, isortを使ってコードをフォーマットします。
- black:PEP8に沿ったコードのフォーマット。
- isort:import順序のフォーマット。
GitHub Actionsを使い、以下のイベントが発生した場合、testとlintが走るようになっています。
- mainブランチへのpush
- mainブランチへのPullRequest
MIT License です。