IT/Python

[Python] 틱택토 게임 (Tic-Tac-Toe)

잿호 2023. 9. 17. 21:36

- 처음 화면 -

 

     

    Tic-Tac-Toe(틱택토) 게임?

    틱택토(tic-tac-toe)는 두 명이 번갈아가며 O X를 3×3 판에 써서 같은 글자를 가로, 세로, 혹은 대각선 상에 놓이도록 하는 놀이이다. 오목 룰과 흡사하다. 

     

    - 예시 이미지 -


    코드

    board = [' ' for _ in range(9)]
    
    def show_board():
        print(f'{board[0]} | {board[1]} | {board[2]}')
        print('- | - | -')
        print(f'{board[3]} | {board[4]} | {board[5]}')
        print('- | - | -')
        print(f'{board[6]} | {board[7]} | {board[8]}')
    
    def check_win(player):
        win_values = [
            [0, 1, 2], [3, 4, 5], [6, 7, 8], 
            [0, 3, 6], [1, 4, 7], [2, 5, 8], 
            [0, 4, 8], [2, 4, 6]  
        ]
        for value in win_values:
            if all(board[i] == player for i in value):
                return True
        return False
    
    player = 'X'
    while True:
        show_board()
        print(f'Player {player}, 차례입니다.')
        choice = int(input('빈 칸에 1부터 9까지의 숫자를 입력하세요: '))-1
    
        if board[choice] == ' ':
            board[choice] = player
            if check_win(player):
                show_board()
                print(f'Player {player}가 이겼습니다!')
                break
            if ' ' not in board:
                show_board()
                print('무승부입니다!')
                break
            player = 'O' if player == 'X' else 'X'
        else:
            print('해당 위치에는 이미 기호가 있습니다. 다른 위치를 선택하세요.')

     

     


    실행

    012
    - 실행 -

     

     


    마무리

    학교 다닐적 공책을 찢어 자주 했던 기억이 나 코딩해본 틱택토 게임입니다.

    3x3의 단순한 게임이라 쉽게 코딩이 가능했던 것 같습니다. 

     

     

    반응형