ポケモンのポーカーゲームをオブジェクト指向を使って実装する演習問題です(Python)。
ポケモンのコンソールゲームを作成しましょう。
以下の要件を満たすように実装してください。
- 2匹のポケモンがバトルします
- それぞれのポケモンにはHP(体力)があり、また攻撃を一つ持っています
- 各ターンではそれぞれのポケモンが相手に対して攻撃を行います。攻撃を受けるとダメージをもらい、HPが減ります
- 攻撃する順番は適当に決めてください
- 先に相手のHPを0にしたポケモンが勝ちです
具体的には、プログラムを実行すると以下のように動作します。
ピカチュウがあらわれた。ピカチュウのHPは20だ。
ヒトカゲがあらわれた。ヒトカゲのHPは18だ。
ピカチュウのこうげき!10万ボルト!ヒトカゲは10ダメージをもらった。ヒトカゲのHPは8だ。
ヒトカゲのこうげき!ひのこ!ピカチュウは5ダメージをもらった。ピカチュウのHPは15だ。
ピカチュウのこうげき!10万ボルト!ヒトカゲは10ダメージをもらった。ヒトカゲのHPは0だ。
ヒトカゲはたおれた。ピカチュウのかち!
オブジェクト指向(クラス)を使わずに実装しましょう。
オブジェクト指向を使わないことで、クラスを使わないことの不便さを実感することが狙いです。
オブジェクト指向を使って実装しましょう。
素早さのパラメータを追加しましょう。素早さが高いポケモンが先に攻撃するようにします。素早さが同じ場合はランダムに攻撃する順番を決めます。
オブジェクト指向を使うことで、素早さのパラメータを追加することが容易になることを実感するのが狙いです。
プロジェクト直下にファイルを設置して開発しましょう。
以下、Docker を使用する場合の開発方法について説明します。
Docker コンテナを起動します。
docker-compose up -d --build
Docker コンテナに接続します。
docker-compose exec python3 bash
プログラムを実行します。
python oop_pokemon.python