hp = 30
exp = 0
lv = 1
def 밥먹기():
global hp #hp는 전역변수
print('피카츄가 밥먹는다') # hp 5증가
hp += 5
return hp
def 잠자기():
global hp
print('피카츄가 잠잔다') # hp 10증가
hp += 10
return hp
def 놀기():
global hp, exp, lv
print('피카츄가 논다') # hp 5감소, exp 7증가. hp감소(죽었나?). exp증가(레벨업체크)
hp -= 5
flag = hp>0 #살았나 죽었나
if flag:
exp +=7
레벨체크()
return flag
def 운동하기():
global hp, exp, lv
print('피카츄가 운동한다') # hp 5감소, exp 7증가. hp감소(죽었나?). exp증가(레벨업체크)
hp -= 15
flag = hp > 0 # 살았나 죽었나
if flag:
exp += 15
레벨체크()
return flag
def 상태체크(): #그냥 읽어올때는 전역변수를 알아서 찾아가기 때문에, 따로 변수 지정 안해도 됌.
print('Lv:', lv, 'HP:', hp, 'EXP:', exp)
def 레벨체크():
global exp, lv
if exp>=20:
lv+=1
exp -=20
print('레벨업!!')
def 종료():
print('종료')
def main():
global hp, exp, lv
global exp
global lv
flag = True
while flag:
print('메뉴를 선택하시오.')
num = int(input('1.밥먹기 2.잠자기 3.놀기 4.운동하기 5.상태체크 6.종료'))
if num == 1:
밥먹기()
elif num == 2:
잠자기()
elif num == 3:
flag = 놀기()
elif num == 4:
flag = 운동하기()
elif num == 5:
상태체크()
elif num == 6:
종료()
break
if not flag:
print('캐릭터사망')
종료()
main()
out)
'파이썬이 제일 쉽다면서요' 카테고리의 다른 글
python #인자 (0) | 2021.06.07 |
---|---|
python #immutable과 mutable (0) | 2021.06.07 |
python #함수(4) 지역변수, 전역변수 (0) | 2021.06.04 |
python #함수(3) (0) | 2021.06.04 |
python #함수(2) 예제.약수구하기 (0) | 2021.06.04 |