レッスン 37
pythonでいろんなゲームを遊ぼう⌗
コマンドラインから以下を実行していろいろなpythonのゲームが入っているフォルダーに移動します。
cd mcc1/code/python
いろいろなゲームが入っているので、好きなゲームで遊びましょう。
ファイルを書き換えて自分の好きなようにゲームを改造しても構いません。
-
Calculation.py
暗算をするゲームです。
python3 Calculation.py
を実行すると1桁同士の掛け算の問題が10問でて、正解数とかかった時間を出力します。python3 Calculation.py XX
でXXの部分に数字を入れると1~XX同士の掛け算の問題を出題します。たとえばpython3 Calculation.py 19
とすると1~19同士のかけ算の問題が出題されます。 -
hangman_animals.py
英語の単語を当てるゲームです。今回のお題は「動物」です。
python3 hangman_animals.py
を実行すると単語の長さが「_」の数で表示され、?が表示されるので、その単語の中に存在すると思われるアルファベットを1文字ずつ入力します。あたると、当たった部分の文字が表示され、はずれると絞首刑台がだんだん迫ってきます。7回失敗するとアウト(死刑)なので、それまでに単語をあてましょう。
-
HighCard.py
python3 HighCard.py
を実行するとトランプのカードが表示されるので、次のカードが前のカードと同じかそれ以上かをかけます。1回勝っただけでは同じ金額が戻るだけなので、続けて勝たないと所持金は増えません。続けて勝ち続けると倍率は2倍ずつ増えますが、負けるとそれまでの勝ちはなくなってしまいます。破産するか、所持金が1000$を超えるとゲーム終了です。あなたは破産しないで見事1000$以上所持金を増やせますか。
-
Memory.py
python3 Memory.py
を実行すると3秒間、5つの数字が表示されるので、暗記します。 暗記した数字を1つずつ入力して、すべて覚えていれば正解です。 -
Ninja.py
python3 Ninja.py
を実行すると忍者が現れ分身し、各戦士の前に現れます。忍者は1~4まで番号が振られていますが、忍者1だけ4人いることもあります。戦士1~4の誰のところにいるかを推測し、それぞれの戦士ごとに忍者の番号を入力します。
推測があたると当たった数だけ「X体にダメージを与えた!」と表示され、当たらなくてもその番号の忍者が他の戦士の前にいればいた数だけ「X体の気配を感じる」と表示されます。
この情報をもとにして、忍者の正しい配置を当てましょう。
-
NumberBattle.py
python3 NumberBattle.py
を実行するとコンピュータが1~5の数字を適当な順番で並べます。あなたも1~5の数字を1つずつ入力します。コンピュータの数字よりあなたの数字が大きければ勝ち、小さければ負け、同じなら引き分けです。相手が十分大きい数字(例えば5)の時に、できるだけ小さい数字(例えば1)で負け、逆に相手の数字が十分小さい数字(例えば1)の時にちょっとだけ大きい値(例えば2)で勝ち、あなたが十分大きい数字(例えば5)では相手がそれなりに大きい数(例えば4)で勝てれば、相手に勝つことができます。
なお、全部勝つことはできません。最善は4勝1敗(5対4、4対3、3対2、2対1、1対5)です。
-
PG15puzzle.py
python3 PG15puzzle.py
を実行すると新たなウィンドウが表示され、1~15の数字が表示された箱と1つの空間が4×4で表示されるので空間に移動したい数字の箱をクリックして数字の箱を動かし、左上から右下に1~15が順番に並ぶように並び替えます。正しく並び替えて空間が右下に来たら「OK」が表示されます。「OK」をクリックするとまた新たなゲームが始まります。
-
PG15puzzleImg.py
先ほどの
PG15puzzle.py
の数字の代わりに画像をばらばらに分割し、同じ要領でもとの画像に戻します。python3 PG15puzzle.py イメージファイル名
で分割させるイメージファイルを指定します。同じフォルダにcat.jpg
というファイルが入っているので、このファイルを指定するとネコの画像がばらばらに分割されて表示されます。デフォルトの分割数は4x4ですが、
python3 PG15puzzle.py イメージファイル名 分割数
で分割数を指定すると分割数×分割数で分割されます。さらに、
python3 PG15puzzle.py イメージファイル名 分割数 ランダム数
としてランダム数を指定するとばらばらにする複雑さを変えられるので、簡単にしたいときはランダム数を小さくします。(デフォルトは50)自分の好きな画像をダウンロードしてゲームを楽しみましょう。
-
maze.py
python3 maze.py
を実行すると迷路が表示されます。左上の緑色の箱を矢印キーで動かして、できるだけ速く右下の赤い箱のゴールまで移動しましょう。ただし、黒い壁にぶつかるとゲームオーバーになります。 -
roleplaying.py
python3 roleplaying.py
を実行すると何人で対戦するか聞いてきます。コンピュータと対戦するときは「1」を入力します。最初のhpは各自100です。
武器は剣と魔法の剣、防御は盾と魔法の盾です。
剣を使うと相手のhpが20減ります。魔法の剣を使うと魔法が利けば相手のhpが50減りますが、利かなければ何も起こりません(2分の1の確率)。
盾を使うと自分のhpが20増えます。魔法の盾を使うと魔法が利けば自分のhpが50増えますが、利かなければ何も起こりません(2分の1の確率)。
これらを使って、相手のhpを0にした方が勝ちです。