유데미 부트캠프 프로젝트(Final)
파이썬 틱택토 프로젝트(Udemy Final Project 2)
PlintAn
2023. 5. 31. 10:00
안녕하세요!

이번 시간에는 부트캠프 프로젝트 2번째 게임 개발의 일환으로
틱택토(TicTacToe) 라는 게임을 만들어보겠습니다 !
import random
# 게임 보드 초기화
board = [' '] * 9
# 플레이어 이름 입력
player1_name = input("Enter Player 1's name: ")
player2_name = input("Enter Player 2's name: ")
# 현재 보드 상태 출력
def print_board():
print(" | |")
print(" " + board[0] + " | " + board[1] + " | " + board[2])
print("___|___|___")
print(" | |")
print(" " + board[3] + " | " + board[4] + " | " + board[5])
print("___|___|___")
print(" | |")
print(" " + board[6] + " | " + board[7] + " | " + board[8])
print(" | |")
# 승리 조건 확인
def check_win():
# 가로 선 확인
for i in range(0, 9, 3):
if board[i] == board[i + 1] == board[i + 2] != ' ':
return True
# 세로 선 확인
for i in range(3):
if board[i] == board[i + 3] == board[i + 6] != ' ':
return True
# 대각선 확인
if board[0] == board[4] == board[8] != ' ' or board[2] == board[4] == board[6] != ' ':
return True
return False
# 게임 실행
def play_game():
current_player = random.choice([player1_name, player2_name])
while True:
print_board()
print("It's", current_player, "'s turn.")
move = input("Enter your move (1-9): ")
if move.isdigit() and int(move) in range(1, 10) and board[int(move)-1] == ' ':
board[int(move)-1] = 'X' if current_player == player1_name else 'O'
if check_win():
print_board()
print("Congratulations!", current_player, "wins!")
break
elif ' ' not in board:
print_board()
print("It's a tie!")
break
else:
current_player = player1_name if current_player == player2_name else player2_name
else:
print("Invalid move. Try again.")
# 게임 실행
print("Let's play Tic Tac Toe!")
play_game()
틱택토라는 게임은 9개의 칸에서 3개를 잇는 사람이 이기는 게임인데요 !
플레이어1, 플레이어2가 번갈아가며 x 표시를 합니다 !
그리고 9칸이 채워지거나 3칸이 연결되면 승자가 결정되죠