import random
def get_bet_or_fold(player_life):
while True:
choice = input("베팅 또는 포기 (bet / fold) 입력: ").strip().lower()
if choice == "fold":
bet = int(input(f"포기 시 잃을 라이프를 입력하세요 (1 이상, 최대 {player_life}): "))
if 1 <= bet <= player_life:
print(f"당신은 포기했습니다. 라이프 -{bet}")
return "fold", bet
else:
print("잘못된 포기 금액입니다.")
elif choice == "bet":
bet = int(input(f"베팅할 라이프를 입력하세요 (1 이상, 최대 {player_life}): "))
if 1 <= bet <= player_life:
return "bet", bet
else:
print("잘못된 베팅 금액입니다.")
else:
print("입력이 잘못되었습니다. 'bet' 또는 'fold' 입력하세요.")
def play_round(player_life, enemy_life):
player_card = random.randint(1, 10)
enemy_card = random.randint(1, 10)
print("\n--- 새 판 ---")
print(f"상대 카드 숫자: {enemy_card}")
print(f"내 라이프: {player_life}, 상대 라이프: {enemy_life}")
choice, bet = get_bet_or_fold(player_life)
if choice == "fold":
player_life -= bet
return player_life, enemy_life, "포기", player_card, enemy_card, bet
# 카드 비교 (내 카드는 라운드 종료 후 공개)
if player_card > enemy_card:
enemy_life -= bet
result = f"승리! 상대 라이프 -{bet}"
elif player_card < enemy_card:
player_life -= bet
result = f"패배... 내 라이프 -{bet}"
else:
result = "무승부. 아무 일 없음."
return player_life, enemy_life, result, player_card, enemy_card, bet
def main():
player_life = 50
enemy_life = 50
player_trophy = 0
enemy_trophy = 0
print("=== 심리전 인디언 포커 시작 ===")
print("상대 카드만 보이며 내 카드는 라운드 끝날 때 공개.")
print("한 명 라이프 0되면 종료. 승자 트로피 +50, 패자 -50")
while player_life > 0 and enemy_life > 0:
player_life, enemy_life, result, player_card, enemy_card, bet = play_round(player_life, enemy_life)
print("\n--- 라운드 결과 ---")
print(f"내 카드: {player_card}, 상대 카드: {enemy_card}")
print(f"결과: {result}")
print(f"현재 라이프 → 당신: {player_life}, 상대: {enemy_life}")
print("\n=== 게임 종료 ===")
if player_life <= 0:
print("패배. 트로피 -50")
enemy_trophy += 50
player_trophy -= 50
elif enemy_life <= 0:
print("승리! 트로피 +50")
player_trophy += 50
enemy_trophy -= 50
print(f"\n최종 라이프 - 당신: {player_life}, 상대: {enemy_life}")
print(f"최종 트로피 - 당신: {player_trophy}, 상대: {enemy_trophy}")
input("\n엔터를 누르면 종료.")
main()
그건 님의 자유죠