初心者ですが、プログラミング学習、楽しいです。プログラミング教室で習ったことが増える度、私は、何か遊びを思いついてしまいます。すると、やらずにはいられません。プログラミング教室の休憩時間等、必死になにか打っているように見えるのは、真面目な練習問題でなく、大抵、思いついたことをやってみたくて、組んでいるそれです。
例えば、Pythonで関数の勉強として、乱数モジュールを習っていたら、こんなことを思いついちゃいました。(以前、Javaで乱数発生で条件分岐させるプログラムを習い、その応用です)
だいたい1/5の確率で猫さんに引っかかれるかもしれないプログラム
プログラムの実際の動作をお試しいただくことができます。↓
「猫をなでますか?」で、「はい」を選択すると、猫さんが次の5パターンの反応のうち、どれかの1つの反応をしてくれます。
「痛い!引っ掻かれました」
「猫さんは気持ちよさそうに目を細めています。」
「ニャ~!(ねこ語→日本語 「ありがとう」)」
「お膝の上で寝てくれました」
「猫さんは別のところへ行ってしまいました。」
仕組みとしては、「はい」と入力すると、内部で乱数を発生、その数字によって条件分岐させています。その結果、5パターンの違った画面表示ができます。
from random import randint
def nekodousa():
nekokibun=randint(1,5)
if nekokibun==1:
print("→ 痛い!引っ掻かれました")
elif nekokibun==2:
print("→ 猫さんは気持ちよさそうに目を細めています。")
elif nekokibun==3:
print("→ ニャ~!(ねこ語→日本語 「ありがとう」)")
elif nekokibun==4:
print("→ お膝の上で寝てくれました")
elif nekokibun==5:
print("→ 猫さんは別のところへ行ってしまいました。")
ans=input('猫さんがあなたを見つめています。猫さんを撫でますか?「はい」は1を、「いいえ」は2を半角数字で入れて下さい:')
if ans=="1":
nekodousa()
else:
print('→ 寂しいニャー!')
猫さんは、飼い主すら気分によってはひっかきます。そんな予測できないところこそ、猫さんの醍醐味。猫さんと暮らしている気分を少しだけ味わえるかもしれないという、誰得というか、私得のプログラムです。
猫さんの動作をユーザー関数(nekodousa())にわざわざしているのは、今後、この遊びプログラムに、ループなどを入れて、更に発展させようともくろんでいるからです。
RPGなどで、勇者が攻撃すると、たまに「会心の一撃」的な動作がでてきます。たまにしか出ないそういう動作って、多分こんな感じで、条件分岐を確率でおこしているんだろうな…。(あくまで私の妄想です。ちがったらごめんなさい)
遊びは学習意欲の元
些細なものでも、自分で遊んで作ってみたいプログラムがあると、自力でどうやってやろうと調べたり、復習することになります。
私はこの猫気分プログラムを作っていて、前に習ったinput()関数の戻り値はString型だったと思い出し、if文もそれに合わせておく必要があると、復習できました。
コメント