Tic Tac Toe 게임을 만드는 방법 Python 코드 예시 포함
틱택토 게임 Python 시도해 볼 수 있는 흥미로운 프로젝트입니다. 도전 과제를 해결하는 멋지고 재미있는 프로젝트이며 기본 개념을 익히는 데 도움이 될 수 있습니다. Python. 재미있는 틱택토 게임을 만들면 기술을 향상하는 데 도움이 됩니다.
좋은 것을 사용하시면 됩니다 Python Pycharm이나 명령줄 인터페이스와 같은 편집기.
Tic Toc 게임을 어떻게 플레이하나요?
틱택토(Tic tac toe) 게임은 게임판이 없어도 누구나 즐길 수 있는 간단한 XNUMX인용 게임입니다. 게임이 끝날 때까지 두 명의 플레이어가 서로 다른 셀을 표시하여 승리 또는 동점이 달성됩니다.
틱택토 게임 방법은 다음과 같습니다.
단계 1) tic tac toe 게임은 정사각형 격자의 빈 셀로 시작됩니다. 틱택토 보드 입니다.
단계 2) 두 플레이어 모두 일반적으로 Xs 또는 Os라는 두 가지 기호 중에서 선택합니다. 게임에서 다른 고유 기호를 사용할 수 있습니다.
단계 3) 현재 플레이어는 플레이어가 승리 조합을 채울 때까지 틱택토 보드의 셀을 차례로 채워 표시합니다. 이는 동일한 부호를 가진 전체 행, 열 또는 대각선입니다.
단계 4) 명백한 승자가 없이 모든 셀이 가득 찬 경우 게임 동점도 가능합니다.
요구조건 니즈
건물 박하 사탕 발가락 Python 프로젝트 초급 수준의 이해가 필요합니다. Python 프로그래밍 언어. 여기에는 "for" 루프 및 반복에 대한 이해와 if 문이 사용되는 내용이 포함됩니다. Python.
당신은 또한 가지고 있어야합니다 Python 및 Python tic-tac-toe를 완료하기 위해 컴퓨터에 설치된 텍스트 편집기 Python 프로젝트. 이 게임은 초급 수준의 틱택토 게임이기 때문에 Python, 아무것도 필요하지 않습니다 Python 도서관.
코드의 버그에 대한 해결책을 찾으려면 몇 가지 디버깅 기술이 필요할 수 있으며 게임 구성 요소에 대한 적절한 이해도 있어야 합니다.
과자 사탕 발가락 Python 암호알고리즘
tic tac toe 게임을 만들려면 다음 단계를 따르세요. Python 프로그래밍 언어:
단계 1) tic tac toe 게임을 시작하려면 보드를 만드세요.
단계 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 코드 출력
위의 소스 코드를 실행하면 다음은 3 X 3 tic tac toe 보드의 예상 출력입니다.
------------ 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):
전체 코드 분석
만들기 틱택토 인 Python 간단하다. 각 라인에서 무슨 일이 일어나고 있는지 이해하기 위해 다양한 기능을 비트 단위로 분석해 보겠습니다.
보드 인쇄
Tic tac toe 보드는 주요 게임 디스플레이입니다. 안에, Python 디스플레이 창은 게임 보드를 표시하는 데 사용됩니다.
다음은 tic tac toe용 보드를 만드는 데 도움이 되는 단계입니다. 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)
코드 출력:
------------ 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"를 채우는 두 개의 변수를 만들 수 있습니다.
- 그런 다음 플레이어에게 게임 보드를 보여줍니다. 그런 다음 플레이어의 입력을 받습니다.
- 그런 다음 로직은 선택된 셀을 채워진 것으로 표시하고 승리 또는 무승부를 확인합니다.
- 승자가 없으면 다음 플레이어에게 게임을 요청합니다. 승리 또는 무승부가 발생하면 게임은 사용자에게 새로운 게임을 원하는지 물어볼 수 있습니다.
결론
- Tic tac toe는 빈 보드 셀에 고유한 기호를 배치하여 플레이할 수 있는 재미있는 XNUMX인용 게임입니다.
- tic tac toe 게임 만들기 Python 초급 수준의 이해가 필요합니다. Python, 텍스트 편집기 및 Python 설치.
- 이 알고리즘은 모든 언어로 코드를 체계적으로 작성하는 데 도움이 됩니다.
- 게임을 만들려면 먼저 보드를 그리고 코드를 작성하여 승패를 결정합니다.
- tic-tac-toe 코드를 테스트할 수 있습니다. Python 먼저 플레이해서요.