#はじめに
Pythonのif文を使用した条件式について学習しました。その勉強記録です!
#概要
Python学習中です。初歩の条件式を「RPGゲームの対戦状況」を再現して、学習したのでアレンジを加えて、まとめてみました。
#学習内容
Python入門
条件式
変数とデータ型
randomモジュール
#完成コード
# RPGの攻撃状況を再現
# モンスターと戦っている。
# 1から10のサイコロをふって、
# 6未満の場合、サイコロの目だけダメージを与えたと表示。
# 6以上の場合、クリティカルヒットとして、100のダメージを与えたと表示。
# 0の場合、防御されたとして、0ダメージを表示。
import random
hit = random.randint(0,10)
if 1 <= hit < 6:
print("スライムに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
print("クリティカルヒットダメージ100を与えた")
else:
print("ダメージは、" + str(hit) + "防御された")
#コードの説明
一つずつコードを確認していきます。
##import
import random
hit = random.randint(0,10)
importとは、組み込むこと。
import random
この場合、randomモジュールを組み込んだことになります。
##randomモジュール
モジュールとはプログラミングを設計する為のパーツです。
Pythonでは、こういったモジュールを組み合わせてプログラムを作成していくそうです。
今回使用するrandomモジュールには、「random関数」、「randint関数」などが格納されています。
- random関数・・・0から1までの間で、ランダムな数値を返す
- randint関数・・・指定した引数の範囲で、ランダムな整数の値を返す
randomモジュールを使用する際には、 「random.関数名()」 で使用します。
例) random.random()
random.randint()
hit = random.randint(0,10)
よってこのコードでは、hitという変数にrandint関数で指定された0〜10の値からランダムに数字が代入されます。
##if文(条件式)
if 1 <= hit < 6:
print("モンスターに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
print("モンスターにクリティカルヒットダメージ100を与えた")
else:
print("ダメージは、" + str(hit) + "防御された")
次のコードは条件式です。
まず基本的なif文による条件分岐の書き方を確認しておきます。
if文による条件分岐
こちらが基本的なif文による条件分岐の書き方。
number = 1
①if 条件式1:
print( "OK!") #条件式1が成立したときの処理
②elif 条件式2:
print( "どちらでもない") #条件式2が成立したときの処理
③else:
print( "NG!") #条件式がどれも成立しなかったときの処理
今回の条件式では、
hitに代入されたrandint関数で指定された0〜10の値が条件となって処理が行われます。
当てはめていきます。
###①【条件式1】
if 1 <= hit < 6:
※代入されたhitの値が「1以上6以下の場合」
→ print("モンスターに、" + str(hit) + "のダメージを与えた!")
の処理が実行されます。
###②【条件式2】
elif hit >= 6:
※代入されたhitの値が「6以上の場合」
→ print("モンスターにクリティカルヒットダメージ100を与えた")
の処理が実行されます。
###③【条件式1と条件式2どちらも成立しない】
else:
※今回だと、代入されたhitの値が「0の場合」
print("ダメージは、" + str(hit) + "防御された")
の処理が実行されます。
##まとめ
以上です。
ランダムに生成された値によって条件分岐され、処理が実行される流れになります。
一連の流れを「RPGゲームの対戦状況」として再現してみました。
import random
hit = random.randint(0,10)
if 1 <= hit < 6:
print("スライムに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
print("クリティカルヒットダメージ100を与えた")
else:
print("ダメージは、" + str(hit) + "防御された")
###参考
randomモジュール
https://docs.python.org/ja/3/library/random.html