どうもーASN48です。
Progateの学習コース「Python Ⅲ」が修了しましたので、その復習・アウトプットです!
今回は「じゃんけん」と同じ要領で、ポケモンの御三家属性である「ほのお、みず、くさ」で勝負した時の勝ち負け、引き分け判定を行います。
自分の攻撃する属性を3つから選択して、相手の属性はランダムになります。
/* Your code... */
#ランダムモジュールを読み込みます
import random
#定義
def validate(attribute):
if attribute < 0 or attribute > 2:
return False
return True
def print_attribute(attribute, name='ゲスト'):
attributes = ['ほのお', 'みず', 'くさ']
print(name + 'は' + attributes[attribute] + '属性で攻撃しました')
def judge(player,computer):
if player == computer:
return 'こうかはいまひとつ'
elif player == 0 and computer == 2:
return '勝ち'
elif player == 1 and computer == 0:
return '勝ち'
elif player == 2 and computer == 1:
return '勝ち'
else:
return '負け'
print('勝負を始めます!')
player_name = input('名前を入力して下さい:')
print('なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)')
player_attribute = int(input('数字で入力して下さい:'))
if validate(player_attribute):
computer_attribute = random.randint(0,2)
if player_name == "":
print_attribute(player_attribute)
else:
print_attribute(player_attribute, player_name)
print_attribute(computer_attribute, 'コンピューター')
result = judge(player_attribute, computer_attribute)
print('結果は' + result + 'でした')
else:
print('正しい数値を入力してください')
このプログラムを実行します!
/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:0
ASN48はほのお属性で攻撃しました
コンピューターはくさ属性で攻撃しました
結果は勝ちでした
ちゃんと動いてますね!
自分が「ほのお」で攻撃して、相手が「くさ」で攻撃したので勝ちました。
ではもう一度「ほのお」を選択してみます。
/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:0
ASN48はほのお属性で攻撃しました
コンピューターはみず属性で攻撃しました
結果は負けでした
先ほどと同じ「ほのお」で攻撃しましたが、今度は相手が「みず」でしたので負けてしまいました。
ランダムも無事動いています!
次は「みず」を選択してみます!
/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:1
ASN48はみず属性で攻撃しました
コンピューターはほのお属性で攻撃しました
結果は勝ちでした
自分が「みず」相手が「ほのお」で勝ちました。
次は名前を入力せずに進めます。
/* Your code... */
勝負を始めます!
名前を入力して下さい:
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:1
ゲストはみず属性で攻撃しました
結果は勝ちでした
名前を入力しない場合「ゲスト」と表示されます。
次は「くさ」を選択してみます!
/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:2
ASN48はくさ属性で攻撃しました
コンピューターはくさ属性で攻撃しました
結果はこうかはいまひとつでした
自分も相手も同じ「くさ」でしたので「こうかはいまひとつ」=引き分けですね!
最後に「0~2」以外の数字を入力した場合
/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:5
正しい数値を入力してください
「0~2」以外の数字が入力された場合には「正しい数値を入力してください」とエラーメッセージが表示されています。
これですべてのパターンで動作確認ができバグもなさそうですね!
次からはProgateの学習コース「PythonⅣ」を進めていきます!
ではアデュー。