レッスン 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(4x4数字パズル)
python3 PG15puzzle.py
を実行すると新たなウィンドウが表示され、1~15の数字が表示された箱と1つの空間が4×4で表示されるので空間に移動したい数字の箱をクリックして数字の箱を動かし、左上から右下に1~15が順番に並ぶように並び替えます。正しく並び替えて空間が右下に来たら「OK」が表示されます。「OK」をクリックするとまた新たなゲームが始まります。
-
PG15puzzleImg.py(nxn絵パズル)
先ほどの
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にした方が勝ちです。
-
PGGame.py(一人遊びトランプゲーム)
cd CardGame
を実行後、python3 PGGame.py
を実行するとトランプゲームを選ぶメインメニューが表示されます。トランプでは「J」は11、「Q」は12、「K」は13の番号を意味します。
ゲームに移行したら、画面上にボタンが表示されるので「Restart」ボタンを押すと同じゲームが最初から実行され、「Menu」ボタンを押すとメインメニューに戻ります。
-
モンテカルロ(MonteCarlo)
5 x 5 のトランプカードが表示されるので、縦、横、ななめに同じ数字のカードがあったら、それらを選択するとカードが消去され、新しいカードが後ろに追加されます。
カードが全部なくなったら成功です。
-
ゴルフ(Golf)
7 x 5 のトランプカードと裏返しの山札が表示されます。 最初に裏返しの山札をクリックします。
場の一番下にカード表示されたら、そのカードの前後の番号(カードが2なら1か3、カードが1ならKか2、カードがKならQか1)が表示されている列の一番下の行にあったらクリックすると場の一番下のカードがクリックしたカードに変わります。
変わったカードの前後の番号が表示されている列の一番下の行にあったらクリックし、これを繰り返します。
場の一番下に表示されたカードの前後の番号が表示されている列の一番下の行になくなったら、裏返しの山札をクリックし、新しいカードを場の一番下に表示させ、同様の操作を行います。
最終的にカードが全部なくなったら成功です。
-
ピラミッド(Pyramid)
表示されているカードがKか2つ足して13になればカードを取り除けます。
取り除けるカードがなくなったら、裏になっている山札をクリックして、札を開きます。
開いたカードを含む表示されているカードがKか2つ足して13になればカードを取り除けます。
これを繰り返して、最終的にカードが全部なくなったら成功です。
-
カップル(Couple)
裏返の山札が表示されるので、これをクリックします。
クリックすると4列にカードが表示されていくので、縦・横・ななめに同じ数字のカードがあれば、それらのカードをクリックして取り除きます。
これらを繰り返し、山札がなくなって、表示されるカードがなくなれば成功です。
-
四葉のクローバー(Four Leaf Clover)
4 x 4 のが表示されるので、同じ種類(色)のカードを複数種類クリックして、総計が15になるか、同じ種類の絵札3種類(J、Q、K)をクリックすれば、クリックしたカードが削除され、削除された場所にあたらしいカードが供給されます。 これを繰り返してカードが全てなくなれば、成功です。
-