Last active
January 14, 2017 10:45
-
-
Save yunho0130/b85a92c5dc0cd8b23d350ba743993128 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
""" | |
Created on Sat Jan 14 11:21:47 2017 | |
@author: Yunho | |
""" | |
class Monster: | |
def __init__(self, name, level, element): | |
self.name = name | |
self.level = level | |
self.element = element | |
self.hp = 100*int(self.level) # 체력추가 | |
print "{}레벨의 {} 몬스터가 {} 속성을 가지고 생성되었습니다".format(self.level, self.name, self.element) | |
def skill(self): | |
if self.element == 'fire': | |
print "화덕구이로 만들겠다 으어어: 150 데미지" | |
return 150 | |
elif self.element == 'water': | |
print "물대포 뿌우: 110 데미지" | |
return 110 | |
elif self.element == 'grass': | |
print "솔라빔: 90 데미지" | |
return 90 | |
else: | |
print "일반공격을 실시 합니다. 10의 데미지를 주었습니다." | |
return 10 | |
def hp_check(self): | |
if self.hp <= 0: | |
print "몬스터가 죽었습니다. 전리품을 확인하세요" | |
print "{}골드를 획득했습니다".format(10*int(self.level)) | |
return False | |
else: | |
print "남은 몬스터의 HP : {}".format(self.hp) | |
return True | |
def battle(self, damage): | |
self.hp -= damage # self.hp = self.hp - damage | |
print "몬스터는 {} 데미지를 입었습니다.".format(damage) | |
class BossMonster(Monster): | |
def __init__(self, name, level, element, gift): | |
Monster.__init__(self, name, level, element) | |
self.gift = gift | |
self.skill_counter = 0 | |
def skill(self): | |
if self.skill_counter != 3: | |
print "보스몬스터가 일반공격을 합니다. {} 데미지".format(1500) | |
self.skill_counter += 1 | |
return 1500 | |
else: | |
print "보스몬스터가 필살기를 사용합니다. {} 데미지".format(15000) | |
return 15000 | |
def hp_check(self): | |
if self.hp <= 0: | |
print "보스 몬스터가 죽었습니다. 전리품을 확인하세요" | |
print "{}골드를 획득했습니다".format(100*int(self.level)) | |
print "전리품으로 {} 아이템을 받았습니다.".format(self.gift) | |
return False | |
else: | |
print "남은 몬스터의 HP : {}".format(self.hp) | |
return True | |
class Player: | |
def __init__(self, name, level, job): | |
self.name = name | |
self.level = level | |
self.job = job | |
self.hp = 200*int(self.level) | |
self.gold = 10 | |
print "{}레벨의 {} 유저가 {} 직업을 가지고 생성되었습니다".format(self.level, self.name, self.job) | |
def skill(self): | |
if self.job == 'night': | |
print "어크로스 세이버!! : 1500 데미지" | |
return 1500 | |
elif self.job == 'wizard': | |
print "파이어 볼을 받아랏!! : 2000 데미지" | |
return 2000 | |
else: | |
print "초보자 일반공격을 실시 100의 데미지를 주었습니다." | |
return 100 | |
def hp_check(self): | |
if self.hp <= 0: | |
print "플레이어가 죽었습니다. 계속하시려면 캐쉬템을 지르세요" | |
return False | |
else: | |
print "남은 플레이어의 HP : {}".format(self.hp) | |
return True | |
def battle(self, damage): | |
self.hp -= damage | |
print "플레이어는 {} 데미지를 입었습니다.".format(damage) | |
mon1 = Monster('불꽃숭이', '99', 'fire') | |
p1 = Player('지존검사','99', 'night') | |
def versus(p, mon): | |
condition = True | |
print '===전투시작===' | |
while condition: | |
mon.battle(p.skill()) | |
p.battle(mon.skill()) | |
condition = p.hp_check() & mon.hp_check() | |
#versus(p1, mon1) | |
mon2 = Monster('이상해씨', '199', 'grass') | |
p2 = Player('초보자','30', 'novice') | |
#versus(p2, mon2) | |
# name, level, element, gift | |
boss1 = BossMonster('보스몬스터','200','boss','진명왕의 집행검 +9') | |
for i in range(10): | |
versus(p1,boss1) | |
print "캐시템을 사용해서 부활하여 도전합니다." | |
#mon2.skill() | |
#mon3 = Monster('꼬부기', '88', 'water') | |
#mon3.skill() | |
#mon4 = Monster('슬라임', '11', 'normal') | |
#mon4.skill() | |
#p1 = player() | |
#while True: | |
# p1.battle(mon1.skill()) # 서로 싸우면서 HP에 변화가 생김 | |
# mon1.batte(p1.skill()) | |
# p1.hp_check() | |
# mon1.hp_check() | |
# # break | |
# | |
#print mon1 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment