# 2025.03.04.(화) 물고기 키워 팔기 게임
# 순서도 + 프로그램 만들기
# fish = ["고등어", "도미", "참치"]
price = [10, 100, 1000]
fee = [4, 8, 12]
max_price = [50, 300, 1800]
user_money = 100
num_fish = 0
pool_fish = []
pool_rate = []
count = 0
goal_money = 2000
print("============= 물고기 키워 팔기 게임을 시작합니다. =============")
while True:
print(f"남아있는 물고기 {len(pool_fish)}마리: ", pool_fish)
print(f"물고기의 성장률 {len(pool_fish)}마리: ", pool_rate)
Q1 = input("무엇을 하시겠습니까? [1: 구매 / 2: 판매 / 3. 먹이주기] : ")
Q1 = int(Q1)
if Q1 == 1:
buy_fish = input("어떤 물고기를 구매하실 건가요? [1: 고등어(10원) / 2: 도미(100원) / 3: 참치(1,000원)]")
buy_fish = int(buy_fish)
num_buy_fish = input("몇 마리를 구매하실 건가요? ")
num_buy_fish = int(num_buy_fish)
if num_buy_fish + len(pool_fish) > 10:
print(f"warning!!! 최대 물고기 수는 10마리 입니다. 현재 소지한 물고기는 {len(pool_fish)}마리 입니다.")
continue
buy_money = num_buy_fish * price[buy_fish - 1]
print(f"총 구매 금액은 {buy_money}원 입니다.")
user_money -= buy_money
if user_money < 0:
print(f"금액이 부족합니다. 현재 소지한 돈은 {user_money}원 입니다.")
user_money += buy_money
continue
print(f"현재 소지한 돈은 {user_money}원 입니다.")
for i in range(num_buy_fish):
pool_fish.append(buy_fish)
pool_rate.append(0)
print("수조 물고기들 : ", pool_fish)
print("물고기 성장률 : ", pool_rate)
continue
elif Q1 == 2:
max_fish_location = []
sell_money = 0
money2 = []
for i in range(len(pool_rate)):
if pool_rate.count(100) != 0:
max_fish = pool_rate.index(100)
max_fish_location.append(max_fish)
A = pool_rate.pop(max_fish)
B = pool_fish.pop(max_fish)
money2.append(B)
else:
break
# print(max_fish_location)
# print("다 큰 물고기 인덱스", money2)
# print("남아있는 물고기 : ", pool_fish)
# print("물고기의 성장률 : ", pool_rate)
# print(sell_count) # 몇마리가 성장률 100% 인지 알려줌
# print("다 큰 물고기 인덱스", max_fish_location) # 다 큰 물고기 인덱스
# print(pool_fish)
# print(A)
# print(B)
for i in range (len(money2)):
sell_money += max_price[money2[i]-1]
print("총 판매 금액: ", sell_money) # 총 판매 가격
user_money += sell_money
print("현재 가지고 있는 금액: ", user_money)
if user_money >= goal_money:
print(f"목표 금액 {goal_money}원을 당성하였습니다. {count}턴 만에 승리하였습니다!")
break
continue
elif Q1 == 3:
count += 1
fee = input("먹이를 몇번 주실 건가요? ")
fee = int(fee)
print(f"============ {count}턴이 끝났습니다. ============")
for i in range(len(pool_fish)):
if pool_fish[i] == 1:
pool_rate[i] += (100/4) * fee
elif pool_fish[i] == 2:
pool_rate[i] += (100/8) * fee
else:
pool_rate[i] += (100/12) * fee
if pool_rate[i] > 100:
pool_rate[i] = 100
continue
elif len(pool_fish) == 0 and user_money < 10:
print("물고기를 살 수도 팔 수도 없습니다. GAME OVER")
print(f"가지고 있는 물고기는 {len(pool_fish)}마리, 소지한 돈은 {user_money}원 입니다.")
break
'Python' 카테고리의 다른 글
[2025.03.05] 물고기 키워 팔기 게임_심화_동영상 (4) | 2025.03.05 |
---|---|
[2025.03.04] 순서도 그리기_4_리스트 (0) | 2025.03.04 |
[2025.03.01] 숫자야구 게임 만들기 (0) | 2025.03.04 |
[2025.02.28] 순서도 그리기_3_반복문 (0) | 2025.03.01 |
[2025.02.28] 순서도 그리기_2 (0) | 2025.02.28 |