Tic Tac Toe 게임을 만드는 방법 Python 과 Code 예시
⚡ 스마트 요약
틱택토 인 Python 이 프로젝트는 초보자도 쉽게 따라할 수 있는 2인용 격자 게임입니다. 게임을 만드는 과정에서 반복문, 조건문, 리스트, 함수, 재귀 등의 핵심 프로그래밍 기술을 익히고, 행, 열, 대각선을 확인하여 승자를 가립니다.

틱택토 게임 Python 한번 시도해 볼 만한 흥미로운 프로젝트입니다. 도전 과제를 해결하는 재미있고 멋진 프로젝트이며, 기본적인 개념을 익히는 데에도 도움이 될 수 있습니다. Python재미있는 틱택토 게임을 만드는 것은 실력 향상에 도움이 됩니다.
좋은 것을 사용하시면 됩니다 Python 와 같은 편집자 PyCharm 또는 명령줄 인터페이스를 사용합니다.
틱택토 게임 방법은 무엇인가요?
틱택토는 게임판 없이도 누구나 즐길 수 있는 간단한 2인용 게임입니다. 두 플레이어가 서로 다른 칸에 표시를 하면서 게임이 끝나고 승리 또는 무승부가 됩니다.
틱택토 게임 방법은 다음과 같습니다.
단계 1) 틱택토 게임은 정사각형 격자에 빈 칸들이 있는 것으로 시작합니다. 이것이 틱택토 게임판입니다.
단계 2) 두 플레이어 모두 일반적으로 Xs 또는 Os라는 두 가지 기호 중에서 선택합니다. 게임에서 다른 고유 기호를 사용할 수 있습니다.
단계 3) 현재 플레이어는 차례대로 틱택토 보드의 칸을 채워 승리 조합을 완성할 때까지 게임을 진행합니다. 승리 조합이란 한 행, 한 열 또는 대각선 전체에 같은 기호를 채워 넣는 것을 의미합니다.
단계 4) 모든 칸이 채워져 승자가 명확하지 않은 경우 게임 무승부가 발생할 수도 있습니다.
요구조건 니즈
틱택토 만들기 Python 이 프로젝트에는 초급 수준의 이해가 필요합니다. Python 프로그래밍 언어에 대한 내용입니다. "for" 루프와 반복문, 그리고 if 문의 용도를 이해하는 것이 포함됩니다. Python.
당신은 또한 가지고 있어야합니다 Python 및 Python 틱택토 게임을 완료하려면 컴퓨터에 텍스트 편집기가 설치되어 있어야 합니다. Python 이 프로젝트는 초보자 수준의 틱택토 게임입니다. Python그러면 아무것도 필요하지 않을 것입니다. Python 도서관.
코드의 버그를 해결하기 위해서는 디버깅 기술이 필요할 수 있으며, 게임 구성 요소에 대한 충분한 이해도 필요합니다.
과자 사탕 발가락 Python 암호알고리즘
다음 단계를 따라 틱택토 게임을 만들어 보세요. Python 프로그래밍 언어:
단계 1) 틱택토 게임을 시작하기 위한 게임판을 만드세요.
단계 2) 사용자에게 게임 보드 크기를 결정하도록 요청합니다.
단계 3) 무작위로 첫 번째 플레이어를 선택합니다.
단계 4) 틱택토 게임이 시작됩니다.
단계 5) 플레이어는 보드의 빈 자리를 선택하여 플레이합니다.
단계 6) 선택된 빈 자리를 플레이어의 사인으로 채웁니다.
단계 7) 게임 로직을 사용하여 플레이어가 게임에서 승리할지 아니면 무승부를 얻을지 결정합니다.
단계 8) 어떤 플레이어도 이기거나 두 번째 플레이어와 동점을 얻지 못한 경우 매 플레이 후에 게임 보드를 표시합니다.
단계 9) 각각 무승부 또는 승리 메시지를 표시합니다.
단계 10) 틱택토 게임을 종료하고 새 게임을 시작할 수 있는 옵션을 제공합니다.
가득 찬 Python 틱택토 코드
# Guru99 # Code developed by Guru99.com # Guru99 tic-tac-toe game #Get input def getInput(prompt, cast=None, condition=None, errorMessage=None): while True: try: val = cast(input(prompt)) assert condition is None or condition(val) return val except: print(errorMessage or "Invalid input.") # Print the game board def printBoard(board): print() for row in board: print(*row) print() # Check if player won using the winning combinations def checkWin(board): # Check rows for row in range(len(board)): for col in range(len(board)-1): if board[row][col] == "_" or board[row][col+1] == "_" or board[row][col] != board[row][col+1]: break else: return True # Check column numbers for col in range(len(board)): for row in range(len(board)-1): if board[row][col] == "_" or board[row+1][col] == "_" or board[row][col] != board[row+1][col]: break else: return True # Check left diagonal for cell in range(len(board)-1): if board[cell][cell] == "_" or board[cell+1][cell+1] == "_" or board[cell][cell] != board[cell+1][cell+1]: break else: return True # Check right diagonal for cell in range(len(board)-1): emptyCell = board[cell][len(board)-cell-1] == "_" or board[cell+1][len(board)-cell-2] == "_" different = board[cell][len(board)-cell-1] != board[cell+1][len(board)-cell-2] if emptyCell or different: break else: return True # No win return False # Play tic tac toe game def play(): # Introduction print("------------\nN-DIMENSIONAL TIC TAC TOE game by guru 99.com \n------------") # Set up variables N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ", cast=int, condition=lambda x: x >= 3, errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com") board = [['_'] * N for _ in range(N)] used = 0 turn = 0 # Play guru99 tic tac toe game in Python using while infinite loop while True: # Print guru99 tic tac toe game board printBoard(board) # Get user pick pick = getInput(prompt=f"Player {turn+1} - Pick location (row, col): ", cast=lambda line: tuple(map(int, line.split(" "))), condition=lambda pair: min(pair) >= 0 and max(pair) < N and board[pair[0]][pair[1]] == "_", errorMessage="Invalid input. Please enter a valid, unoccupied location as an integer pair.") # Populate location board[pick[0]][pick[1]] = "X" if turn == 0 else "O" used += 1 # Check for win #Guru99 tutorial if checkWin(board): printBoard(board) print(f"Game over, Player {turn+1} wins.") break # Check for tie elif used == N*N: printBoard(board) print("Game over. Players have tied the match.") print("Guru99.com tic tac toe game ") break # If no win yet, update next user turn = (turn+1)%2 # Check for rematch playAgain = getInput(prompt="Play Guru99 tic tac toe_Game again? (y/n): ", cast=str, condition=lambda ans: ans.strip("\n").lower() in {"y", "n"}, errorMessage="Invalid input. Please enter 'y' or 'n'.") if playAgain == 'n': # End the game print("\nGuru99 TicTacToe game ended.") return else: # Rematch play() # Main if __name__ == '__main__': play()
과자 사탕 발가락 Python Code 출력
위 소스 코드를 실행하면 아래와 같이 3x3 틱택토 보드의 예상 출력 결과가 나타납니다.
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _ Player 1 - Pick location (row, col): 1 1 _ _ _ _ X _ _ _ _ Player 2 - Pick location (row, col): 0 1 _ O _ _ X _ _ _ _ Player 1 - Pick location (row, col): 1 2 _ O _ _ X X _ _ _ Player 2 - Pick location (row, col): 0 2 _ O O _ X X _ _ _ Player 1 - Pick location (row, col): 1 0 _ O O X X X _ _ _ Game over, Player 1 wins. Play Guru99 tic tac toe_Game again? (y/n):
가득 찬 Code 분석
만들기 틱택토 인 Python 간단합니다. 각 줄에서 무슨 일이 일어나는지 이해하기 위해 다양한 기능을 비트 단위로 분석해 보겠습니다.
보드 인쇄
틱택토 게임판이 주요 게임 화면입니다. Python게임판을 보여주는 데 디스플레이 창이 사용됩니다.
다음은 틱택토 게임판을 만드는 데 도움이 되는 단계입니다. Python:
Python Tic Tac Toe 코드
def getInput(prompt, cast=None, condition=None, errorMessage=None): while True: try: val = cast(input(prompt)) assert condition is None or condition(val) return val except: print(errorMessage or "Invalid input.") # Print the board def printBoard(board): print() for row in board: print(*row) print() N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ", cast=int, condition=lambda x: x >= 3, errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com") board = [['_'] * N for _ in range(N)] used = 0 turn = 0 printBoard(board)
Code 출력 :
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
Tic Tac Toe 게임 – 승리 준비
어떤 플레이어가 승리했는지 확인하려면 행, 열, 대각선에서 승리 조합을 확인해야 합니다. 승자가 있다면 승자 메시지를 보여줘야 합니다.
행
- 행의 경우 함수는 모든 연속 열 쌍을 가져와서 성공적인 조합을 확인합니다.
- 행을 가장 먼저 채우는 플레이어가 승리합니다. 따라서 두 번째 플레이어는 패배합니다.
- 연속된 두 열의 값이 같으면 해당 행 내의 모든 요소가 동일하다는 것은 자명합니다.
- 둘 중 두 개가 다르거나 행에 빈 셀이 포함되어 있으면 여전히 승자가 없습니다.
- 그런 다음 손실 조건을 구현하고 중단을 추가합니다. 이러한 패배 조건 중 하나라도 해당되면 체크된 행에 승자가 없는 것입니다.
- else 문은 승자가 있음을 보여주기 위해 진정한 반환을 제공합니다.
- 중단은 이 루프에서 벗어나 다음 행으로 진행됩니다.
열
열의 경우 행과 동일한 기능을 반복합니다. 각 플레이어가 자신의 자리를 선택한 후 플레이어가 승리했는지 확인합니다.
대각선 승리
왼쪽 대각선의 경우 작업이 더 간단해집니다. 우리는 항상 대각선에 있는 셀들을 비교할 것입니다. 하지만 승자가 없는 경우 다음 지시로 넘어갈 수 있습니다.
게임 로직 플레이
이것이 게임의 주요 기능입니다. 이를 위해 정보를 저장하는 변수를 사용할 수 있습니다.
- 첫 번째 변수는 “N”에 저장된 보드 크기입니다. 게임은 사용자에게 숫자를 입력하도록 요청한 후 보드 크기를 가져옵니다.
- 따라서 값을 입력하면 처리됩니다.
- 또한 잘못된 숫자를 입력한 경우 플레이어에게 표시되는 오류 메시지도 생성합니다.
- 그런 다음 셀이 채워질 때 "X" 또는 "O"를 채우는 두 개의 변수를 만들 수 있습니다.
- 그런 다음 플레이어에게 게임 보드를 보여줍니다. 그런 다음 플레이어의 입력을 받습니다.
- 그런 다음 로직은 선택된 셀을 채워진 것으로 표시하고 승리 또는 무승부를 확인합니다.
- 승자가 없으면 다음 플레이어에게 게임을 요청합니다. 승리 또는 무승부가 발생하면 게임은 사용자에게 새로운 게임을 원하는지 물어볼 수 있습니다.
