Mini Project 3 : 제어문
제어문을 활용해 mini project를 만들어봅시다.
1. 보물상자에서 무기인 돌, 목검, 화살, 칼, 대포 중 랜덤으로 하나를 획득합니다.
2. 길을 가다가 몬스터인, 늑대, 산적, 드래곤 중 하나를 랜덤으로 만납니다.
3. 무기를 가지고 둘 중 하나의 에너지가 0이 될 때까지 싸웁니다. 이때, 사용자(user)는 공격, 회복 중 하나를 선택하고, 상대는 공격만 합니다.
4. 승리 또는 패배에 따라 메시지를 출력합니다.
1-1. 보물상자를 발견했다는 메시지를 출력하고(input 사용), 사용자가 아무키나 누르기를 기다린다.
03) "당신은 길을 가다가 [보물상자]를 발견했습니다"를 출력합니다.
04) 사용자가 아무키나 입력할 수 있도록 input()을 입력합니다.
1-2. 보물상자에서 랜던으로 1개 무기를 획득한다. (random 함수 및 리스트 활용)
각 무기는 [무기 이름, 최소공격력, 최대공격력]의 데이터를 가집니다.
01) random 함수를 이용하기 위해서 import random을 입력한다.
07) 무기들(weapons)의 데이터를 리스트로 이용하여 입력한다.
1-3. 무기를 랜덤으로 획득한다.
09) random.randint(0,4)은 0 이상 4 이하 범위에서 임의의 정수를 골라 sel에 저장합니다.
10) "당신은 무기의 리스트 중 sel의 숫자로 무기를 획득합니다."
11) my_weapon은 무기들의 리스트 중 sel의 숫자입니다.
2-1. 길을 가다가 랜덤으로 몬스터를 만납니다. (random 함수 및 리스트 활용)
각 몬스터는 [몬스터명, 최소공격력, 최대공격력]의 데이터를 가집니다.
13) 몬스터들(mons)는 리스트를 이용하여 [몬스터명, 최소공격력, 최대공격력]의 데이터를 가집니다.
14) sel은 0 이상 2 이하의 범위에서 임의의 정수를 골라 저장합니다.
15) "당신은 길을 가다가 몬스터의 리스트 중 sel의 숫자로 몬스터를 만납니다."
16) my_mon는 mons들의 리스트 중 sel의 숫자입니다.
3-1. 초기 양쪽 몬스터와 사용자의 에너지는 100입니다.
사용자의 에너지는 my_energy, 몬스터의 에너지는 mon_energy로 저장합니다.
18) my_energy는 100입니다.
19) mon_energy는 100입니다.
3-2. 무한루프(while)로 전투를 합니다. 무한루프는 둘 중 하나의 에너지가 0이하가 되면 탈출한다.(break)
사용자는 공격 또는 회복을 숫자 1, 2로 정해 사용자가 입력하여 선택합니다.
만약 다른 숫자를 입력하면 "잘못 선택하셨습니다"가 입력됩니다.
21) 둘 중 하나의 에너지가 0이하가 되면 탈출하는 프로그램이여서 전체적인 무한루프가 필요합니다.
22 ~ 27) user_input이 1과 2를 선택한다면 무한루프가 종료됩니다.
그러나 다른 숫자를 입력하면 "잘못 선택하셨습니다"가 출력됩니다.
3-3. 공격을 선택한경우 최소, 최대 공격력 사이로 공격, 회복인 경우 0에서 30사이의 회복을 합니다.
29 ~ 32) 만약 user_input이 1인 공격을 선택한 경우,
공격(damage)는 내 무기의 리스트에서 최소공격력(my_weapon[1]) 이상 최대공격력(my_weapon[2]) 이하에서 정합니다.
mon_energy는 mon_energy에서 damage를 빼줍니다.
33 ~ 34) mon_energy가 0이하일 경우 무한루프가 종료됩니다.
36 ~ 39) user_input이 2인 회복을 선택한 경우,
회복(heal)은 0 이상 30 이하에서 정합니다.
my_energy는 my_energy에서 heal을 더해줍니다.
3-4. 몬스터가 공격을 합니다.
42 ~ 44) 몬스터의 공격(damage)은 my_mon의 리스트에서 최소 공격력(my_mon[1]) 이상 최대공격력(my_mon[2])
이하에서 정합니다.
my_energy는 my_energy에서 damage를 빼줍니다.
45 ~ 46) my_energy가 0 이하일 경우 무한루프가 종료됩니다.
4-1. 승리 또는 패배에 따라 화면에 메시지를 출력합니다.
48 ~ 49) my_energy가 0보다 작을경우, 몬스터에게 졌다고 출력합니다.
50 ~ 51) 그 외 몬스터에게 이겼다고 출력합니다.
결과
그 외 다양한 결과가 나올 수 있습니다.