見出し画像

[血眼研究所]Pythonでサンドバッグを作ろう???② コード改変編

こんばんは、血眼パイソンです〜
A-CHI-CHIで燃えてるんだろうか状態ですね🔥
今日は、前回の記事で作ったコードをグレードアップしたいと思います!
殴られてばかりじゃ黙っちゃいられん。サンドバッグに攻撃のターンを与えたいと思います!

画像1

HPはお互い100に設定。
このように、自分もpを入力して攻撃したら相手も反撃してくる仕組みです。
サンドバッグも相当辛かったんでしょうね。
だがここで終わるのが人間ではありません。

画像2

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)上でこのゲームを実装したいと思います。
よりゲームっぽくなって面白いですよ〜
別の記事も是非ご覧ください!それではまた明日!


この記事が気に入ったらサポートをしてみませんか?