第5回:はじめてのミニアプリ|数当てゲームを作ってみる
ここまでおつかれ。
たぶん最初の頃は、
「printって何?」みたいな状態だったと思うけど、
今は普通にifとかwhileとか見てるはず。
これ、ちゃんと進んでる証拠。
ということで今回は、今までやったことを全部使って、
**ちゃんと動く“ゲームっぽいもの”**を作る。
内容はシンプルだけど、「自分で作った感」はかなりあるやつ。
作るもの:数当てゲーム
ルールはこんな感じ。
-
コンピュータが数字を1つ決める
-
それを当てる
-
外れたらヒントが出る
-
当たるまで続く
シンプルだけど、ちゃんとゲーム。
とりあえず動かしてみる
細かいことはあとでやるので、まずこれコピペして動かしてみてほしい。
import random
answer = random.randint(1, 10)
while True:
guess = int(input("1〜10の数字を当ててください: "))
if guess == answer:
print("当たり!")
break
elif guess < answer:
print("もっと大きい")
else:
print("もっと小さい")
最初は「よく分からんけど動いた」くらいでOK。
ちょっとだけ中身を見る
全部細かく理解しようとするとしんどいので、
大事なところだけ軽く見る。
ランダムで数字を決めてる
import random
answer = random.randint(1, 10)
ここで「答え」を作ってる。
毎回違う数字になるから、ゲームっぽくなる。
ずっと繰り返してる
while True:
これは「無限に繰り返す」って意味。
当たるまで終わらない仕組み。
入力を受け取る
guess = int(input("1〜10の数字を当ててください: "))
ここで自分が入力した数字を受け取ってる。
int()っていうのは、「文字 → 数字」に変えるやつ。
これ忘れるとエラーになるので注意。
当たり判定
if guess == answer:
ここで「当たったかどうか」を見てる。
当たってたら…
break
これでループを終了。
実際やってみると結構楽しい
これ何回かやると分かるけど、
-
「もっと大きい」って言われて
-
だんだん近づいていって
-
当たる
っていう流れがちゃんとある。
たぶんここで初めて
「プログラミングってこういう感じか」ってなると思う。
少しだけ改造してみる
ここからがちょっと面白いところ。
そのままでもいいけど、少し変えるだけで一気に“自分の作品”になる。
回数制限をつける
無限にできるのもいいけど、ゲームっぽくするなら制限つけてもいい。
count = 0
while count < 5:
count += 1
5回までにする感じ。
正解を見えるようにする(練習用)
print(answer)
最初にこれ入れると、答え見える。
デバッグ用ってやつ。
難しくする
random.randint(1, 100)
これだけで一気に難易度上がる。
正直ここまで来たらすごい
ちょっと冷静に考えると、
-
入力受け取って
-
条件分岐して
-
繰り返して
-
ゲーム作ってる
普通にちゃんとしたことやってる。
最初に思ってた「プログラミング」のイメージに、
だいぶ近づいてるはず。
この講座はここで一区切り
一応ここで基本は一通り終わり。
でも、ここがゴールじゃなくてスタート。
このあと何すればいい?
よくあるやつだけど、結局これに尽きる。
「ちょっとずつ作る」
いきなりすごいもの作ろうとすると詰むので、
-
このゲームを改造する
-
電卓作る
-
タイマー作る
このへんで十分。
最後に
たぶん途中で「わからん」ってなったと思うし、
今も全部理解してるわけじゃないと思う。
でもそれ普通。
むしろ、ちょっと分からないくらいで進むのがちょうどいい。
ここまで来てる時点で、
もう完全な初心者ではない。
あとは触って慣れるだけ。
気が向いたら続編作るかも