[血眼研究所]Pythonでサンドバッグを作ろう???② コード改変編
こんばんは、血眼パイソンです〜
A-CHI-CHIで燃えてるんだろうか状態ですね🔥
今日は、前回の記事で作ったコードをグレードアップしたいと思います!
殴られてばかりじゃ黙っちゃいられん。サンドバッグに攻撃のターンを与えたいと思います!
HPはお互い100に設定。
このように、自分もpを入力して攻撃したら相手も反撃してくる仕組みです。
サンドバッグも相当辛かったんでしょうね。
だがここで終わるのが人間ではありません。
gを入力すると、プレイヤーがガードをする機能もつけました!
これでサンドバッグに抗えますね!
(実装画面では負けてますが。)
import random
soundlist=["バシッ","バンッ","ドンッ"]
wordlist=["なんでサンドバッグが攻撃してくるん?","痛えよ、おい","漫画じゃないんだからぁ"]
player={"HP":100}
sandbag={"HP":100}
while True:
Punch=random.randint(1,10)
Attack=random.randint(1,10)
Guard=random.randint(1,10)
cmd=input("パンチ(P)するん? ガード(G)するん?")
if cmd=="p" or cmd=="P":
print("サンドバッグ:"+soundlist[random.randint(0,2)])
sandbag["HP"]-=Punch
if sandbag["HP"]<=0:
print("サンドバッグ:"+"ズザーッ")
break
print("サンドバッグの反撃")
print("プレイヤー:"+wordlist[random.randint(0,2)])
player["HP"]-=Attack
if player["HP"]<=0:
print("プレ一ヤーのHP:0")
print("プレイヤー:"+"サンドバッグの前で倒れるなんて...")
break
else:
print("プレ一ヤーのHP:"+str(player["HP"]))
print("サンドバッグのHP:"+str(sandbag["HP"]))
if cmd=="g" or cmd=="G":
print("サンドバッグの攻撃")
damage=int(10/Guard)
print("プレイヤー:"+wordlist[random.randint(0,2)])
player["HP"]-=damage
if player["HP"]<=0:
print("プレ一ヤーのHP:0")
print("プレイヤー:"+"サンドバッグの前で倒れるなんて...")
break
else:
print("プレ一ヤーのHP:"+str(player["HP"]))
print("サンドバッグのHP:"+str(sandbag["HP"]))
print("............")
ソースコードです。前回に比べて肉厚になって来ましたね。(界隈の中ではシンプルなのかもしれませんが)
攻撃力は両者とも1〜10の中からランダムで選ばれるようにしました。
ガード力は、ダメージが10/1〜10の中の数字になるようにし、ガードができないサンドバッグ側にも利があるようなゲームバランスにしました。
いかがでしょうか。段々とゲームっぽくなってますね!
Pythonではこのように、テキスト上でシンプルにゲーム形式のコードを組むことができます。ブラウザ上で試してみたい方はこちら!
次回は、GUI(Graphic User Interface)上でこのゲームを実装したいと思います。
よりゲームっぽくなって面白いですよ〜
別の記事も是非ご覧ください!それではまた明日!
この記事が気に入ったらサポートをしてみませんか?