どうもです〜 Python誠です。
じゃんけんゲームの第3回目を解説していきます。
今回は・・・
- if 、elif 、 を使った勝敗判定
- 短いプログラムで同じ結果をだす方法
の2つを紹介します。🤔
「if、elif 、を使った勝敗判定」
こちらが、前回勝敗判定のプログラムを追加した「じゃんけんプログラム」です。
# 勝敗判定 について解説していきます。
if文での条件分岐
こちらが# 勝敗判定 のすぐ下2行で、「あいこの時」に実行されます。
- 「 if 」は日本語に訳すと「 もし 」ですね。
- ifを使ったコードをif文といい、もし条件が成りたてば、つづくブロック(半角スペース4字下げした部分)を実行します。
- 上のコードでみてみると、if に続く player == monster : がその条件となり、もし変数playerと変数monsterの中身(出し手)が一緒なら、「 print("引き分け") 」が実行されます。 もし一緒でなければ実行されません。
elif文での条件分岐
こちらが if 文につづく5行で、プレーヤーが「グー」の時に、モンスターの出し手に応じて勝敗を出力します。
- 「 elif 」は、先の if 文の条件が成り立たなかった時に、別の条件が成り立つか?を確認し、条件が成り立てばつづくブロックを実行します。
- 上のコードでみてみると、elif に続く条件「 プレーヤーがグーの時 」に、「 モンスターがチョキ 」か?「 パー 」か?を判定し、勝敗を出力します。
つづく、elif文
つづく5行ごとの elif で、チョキの時は・・・、パーの時は・・・と条件を分岐し勝敗を出力していきます。
これで全ての勝敗パターンを網羅できました。
何度か実行してみよう!
打ち込んだPythonコードを、IDLEのシェルウィンドウで 新規ファイルに保存し実行 します。
何度か実行してみて、勝敗判定が正しく行われるか?確認してみましょう! 😳
それぞれの出し手に合った正しい勝敗結果が表示されました。
if文はゲームプログラムに限らず、あらゆるプログラムで使用されます。
しっかり、復習しておきましょう!🤔
じゃんけんプログラムを短くしよう!
モンスターじゃんけん③では、if文やelif文を使い、出し手・総当たりで勝敗判定を完成させました。
これはこれで、理解しやすいコードになるのですが・・・このままだとプログラムが長すぎます。
今後ゲームプログラミングを作っていくにあたり、長すぎるプログラムはメンテナンスがしにくく、無駄にコンピューターに負担をかけてしまいます。
結果、操作性やレスポンスの悪いプログラムになってしまう恐れがあります。
ここで、短いプログラムで同じ結果をだす方法を紹介します。🤔
次のプログラムを入力し、実行してみてください。
実行すると、こんなに短いプログラムなのに モンスターじゃんけん③ と全く同じ結果になりました!!😳
次回は、じゃんけんプログラムを短くかく方法を解説します。
それでは、また次回お会いしましょう!
「 Let’s Python!!🤗」
・・・ by Python誠。