데이터 분석가

파이썬 틱택토 프로젝트(Udemy Final Project 2) 본문

유데미 부트캠프 프로젝트(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칸이 연결되면 승자가 결정되죠

 

 

TicTacToe

 

 

 

Comments