청룡을 무찔러 보물찾기
~cpp
# -*- coding: cp949 -*-
import random
class Room:
def __init__(self):
self.place = ['루이스', '청룡탕', '공대', '할매동산', '정문']
class User:
def __init__(self):
self.aRoom = Room()
self.place = '정문'
self.hasKey = False
self.name = '익명'
self.hp = 100
self.aDragon = BlueDragon(self)
self.aTrasure = Trasure()
def setName(self, name):
self.name = name
def checkPlace(self):
if self.place == '청룡탕' and not self.aDragon.die:
self.aDragon.attack()
if self.place == '할매동산':
print '보물상자를 발견했습니다.'
if not self.aTrasure.open:
if self.hasKey:
print '보물상자를 열쇠로 엽니다.'
self.aTrasure.open = True
print '축하합니다. 보물을 발견했습니다.'
print '게임을 끝냅니다.'
else:
print '열쇠를 찾아오세요/'
def move(self):
print self.name, '은',
for room in self.aRoom.place:
if room != self.place:
print room,',',
print '에 갈 수 있습니다.'
place = raw_input("어디로 갈까요?")
self.place = place
print self.name, self.place , '에 들어왔습니다.'
self.checkPlace()
def attack(self):
if self.place != '청룡탕':
return
print '청룡을 공격합니다.'
self.aDragon.hp -= random.randrange(100)
print '청룡의 hp는 ', self.aDragon.hp, '입니다.'
if self.aDragon.hp <= 0:
self.aDragon.die = True
print '청룡을 무찔렀습니다.'
print '열쇠를 취득했습니다.'
self.hasKey = True
else:
self.aDragon.attack()
class BlueDragon:
def __init__(self, user):
self.name = '청룡'
self.die = False
self.aUser = user
self.hp = 100
def attack(self):
print '당신을 물어뜯습니다.'
self.aUser.hp -= random.randrange(100)
print '당신의 hp는 ', self.aUser.hp, '입니다.'
if self.aUser.hp <= 0:
print '당신은 죽었습니다.'
print 'Game Over'
class Trasure:
def __init__(self):
self.name = '보물상자'
self.open = False
if __name__ == '__main__':
print '당신은 중앙대 정문에 서 있습니다.'
print '차가 지나가고, 사람도 지나다닙니다.'
print '어디로 갈까요?'