classで1:1ゲームを行う
classを使用してワークロード、弾丸、
一人が死ぬまで順番にゲームをします.
以前プレイした他のゲームよりも簡単です
1 vs 3まで作成
私はただコードを書いただけで、同じ複製感で怪物の行為をランダムに実行します.
1 vs 3ではなく1 vs 10以上の場合、効率は非常に低くなります
重複する文で効率的に整理するつもりです.
一人が死ぬまで順番にゲームをします.
以前プレイした他のゲームよりも簡単です
1 vs 3まで作成
私はただコードを書いただけで、同じ複製感で怪物の行為をランダムに実行します.
1 vs 3ではなく1 vs 10以上の場合、効率は非常に低くなります
重複する文で効率的に整理するつもりです.
import random
class unit():
hp = None
normal_dmg = None
name = None
def attack(self, enemy):
print(f'{self.name}가 {enemy.name}를 공격!')
return enemy.hp - self.normal_dmg
class Warload(unit):
hp = 200
normal_dmg = 20
bash_dmg = 40
name = '워로드'
def bash(self, enemy):
print("읏~차!")
print(f'{self.name}가 {enemy.name} 에게 40의 데미지!')
return enemy.hp - self.bash_dmg
def drink_potion(self):
print(f'{self.name}회복회복 + 10')
return self.hp + 10
class Baltan(unit):
hp = 100
normal_dmg = 30
hard_atk_dmg = 50
name = '발탄'
def hard_atk(self, enemy):
print("으읏~차!")
print(f'{self.name}가 {enemy.name} 에게 50의 데미지!')
return enemy.hp - self.hard_atk_dmg
def drink_potion(self):
print(f'{self.name} 회복회복 + 10')
return self.hp + 10
def wait(self):
print(f'{self.name}이 대기합니다')
turn = random.randint ( 0 , 1 )
while True:
print('워로드 체력:',Warload.hp)
print('발탄 체력:', Baltan.hp)
if turn == 1:
a = input('워로드의 행동을 입력해주세요(일반공격,배쉬,체력회복): ')
if a == '배쉬':
Baltan.hp = Warload.bash(Warload, Baltan)
print("발탄의 체력:",Baltan.hp)
print('턴 종료')
elif a == '일반공격':
Baltan.hp = Warload.attack(Warload, Baltan)
print("발탄의체력",Baltan.hp)
print('턴 종료')
elif a == '체력회복':
Warload.hp = Warload.drink_potion(Warload)
print('턴 종료')
else :
print('다시입력해주세요')
continue
turn -= 1
else :
b = random.randint (1 , 3)
if b == 1:
Warload.hp = Baltan.attack(Baltan, Warload)
print("워로드의 체력:", Warload.hp)
print('턴 종료')
elif b == 2:
Warload.hp = Baltan.hard_atk(Baltan, Warload)
print("워로드의 체력:", Warload.hp)
print('턴 종료')
elif b == 3:
Baltan.wait(Baltan)
print('턴 종료')
turn += 1
if Warload.hp == 0:
print('워로드 사망')
break
if Baltan.hp == 0:
print('발탄 사망')
break
Reference
この問題について(classで1:1ゲームを行う), 我々は、より多くの情報をここで見つけました https://velog.io/@bae-code/class활용으로-11-턴-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol