Jak zrobić grę w kółko i krzyżyk Python z przykładem kodu

Gra w kółko i krzyżyk Python to ciekawy projekt, którego możesz spróbować. To fajny i zabawny projekt rozwiązywania wyzwań, który może pomóc ci opanować podstawowe koncepcje Python. Stworzenie zabawnej gry w kółko i krzyżyk pomoże Ci rozwinąć swoje umiejętności.

Możesz skorzystać z dobrego Python edytor, taki jak Pycharm lub interfejs wiersza poleceń.

Jak grać w grę Tic Toc?

Gra w kółko i krzyżyk to prosta gra dla dwóch graczy, w którą każdy może grać bez konieczności posiadania planszy. Polega na tym, że dwóch graczy zaznacza różne komórki, aż do zakończenia gry, w wyniku wygranej lub remisu.

Oto jak grać w grę w kółko i krzyżyk.

Krok 1) Gra w kółko i krzyżyk rozpoczyna się od pustych komórek w kwadratowej siatce. To jest tablica do gry w kółko i krzyżyk.

Krok 2) Obaj gracze wybierają jeden z dwóch symboli, zwykle X lub Os. Możesz użyć dowolnego innego unikalnego symbolu w grze.

Krok 3) Obecny gracz zaznacza swoje tury, wypełniając komórki planszy do gry w kółko i krzyżyk, aż któryś z graczy ułoży zwycięską kombinację. Oznacza to cały wiersz, kolumnę lub przekątną z tym samym znakiem.

Krok 4) Remis w grze jest również możliwy w przypadku, gdy wszystkie komórki są zajęte i nie ma wyraźnego zwycięzcy

wymagania

Budowanie kółko i krzyżyk Python projekt wymaga zrozumienia na poziomie początkującym Python język programowania. Obejmuje zrozumienie pętli i iteracji „for” oraz tego, w jakim celu używana jest instrukcja if Python.

Musisz też mieć Python oraz Python edytor tekstu zainstalowany na komputerze, aby ukończyć grę w kółko i krzyżyk Python projekt. Ponieważ jest to gra w kółko i krzyżyk dla początkujących Python, nie będziesz ich potrzebować Python biblioteka.

Aby znaleźć rozwiązanie błędów w kodzie, możesz potrzebować pewnych umiejętności debugowania. Powinieneś także posiadać odpowiednią wiedzę na temat komponentów gry.

Tic Tac Toe Python Algorytm

Wykonaj poniższe kroki, aby stworzyć grę w kółko i krzyżyk Python język programowania:

Krok 1) Utwórz planszę, aby rozpocząć grę w kółko i krzyżyk.

Krok 2) Poproś użytkownika o określenie wymiarów planszy do gry.

Krok 3) Losowo wybierz pierwszego gracza.

Krok 4) Rozpoczyna się gra w kółko i krzyżyk.

Krok 5) Gracze grają, wybierając puste miejsce na planszy.

Krok 6) Wypełnij puste wybrane miejsce znakiem gracza.

Krok 7) Określ, czy gracz wygrywa, czy remisuje w grze, korzystając z logiki gry.

Krok 8) Wyświetl planszę po każdej rozgrywce, jeśli żaden z graczy nie wygra lub nie zremisuje z drugim graczem.

Krok 9) Wyświetl odpowiednio komunikat o remisie lub wygranej.

Krok 10) Zakończ grę w kółko i krzyżyk z opcjami rozpoczęcia nowej gry.

Pełny Python kod do gry w kółko i krzyżyk

# 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()

Tic Tac Toe Python Wyjście kodu

Po uruchomieniu powyższego kodu źródłowego poniżej znajduje się oczekiwany wynik dla tablicy 3 X 3 w kółko i krzyżyk:

------------
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):

Pełny podział kodu

Tworzenie gra w kółko i krzyżyk Python jest proste. Przeanalizujmy różne funkcje w bitach, aby zrozumieć, co dzieje się w każdej linii:

Drukowanie planszy

Tablica „Kółko i krzyżyk” jest głównym wyświetlaczem gry. W, Python Okno wyświetlacza służy do pokazywania planszy gry.

Oto kroki, które pomogą Ci stworzyć tablicę do gry w kółko i krzyżyk Python:

Python kod do gry w kółko i krzyżyk

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)

Dane wyjściowe kodu:

------------
N-DIMENSIONAL TIC TAC TOE game by guru 99.com
------------
Guru99 says>>> Enter N, the dimensions of the board: 3

_ _ _

_ _ _

_ _ _

Gra w kółko i krzyżyk – zwycięski układ

Aby sprawdzić, czy któryś z graczy wygrał, musimy sprawdzić zwycięskie kombinacje w rzędach, kolumnach i po przekątnych. Jeśli zostanie zwycięzca, musimy pokazać zwycięską wiadomość.

Wydziwianie

  • W przypadku wiersza funkcja pobiera każdą kolejną parę kolumn i sprawdza zwycięską kombinację.
  • Pierwszy gracz, który wypełni rzędy, wygrywa. W ten sposób drugi gracz przegrywa.
  • Jeśli para kolejnych kolumn jest taka sama, to oczywiste jest, że wszystkie elementy w tym wierszu są takie same.
  • Jeśli dwa z nich są różne lub wiersz zawiera pustą komórkę, nadal nie ma zwycięzcy.
  • Następnie wdrażamy warunki przegrywające i dodajemy przerwę. Jeśli którykolwiek z tych warunków przegranej jest spełniony, w zaznaczonym rzędzie nie ma zwycięzcy.
  • Instrukcja else daje prawdziwy zwrot, pokazując, że istnieje zwycięzca.
  • Przerwa przerywa tę pętlę i przechodzi do następnego wiersza.

kolumny

Dla kolumn powtarzamy tę samą funkcję jak w wierszach. Po wybraniu przez każdego gracza swojego miejsca, sprawdzamy, czy gracz wygrał.

Wygrywa rząd ukośny

Dla lewej przekątnej zadanie staje się prostsze. Zawsze będziemy porównywać komórki na przekątnych. Jeżeli jednak nie zostanie wyłoniony zwycięzca, możemy przejść do kolejnej instrukcji.

Zagraj w logikę gry

To jest główna funkcja gry. W tym celu możemy wykorzystać zmienne przechowujące informacje.

  • Pierwszą zmienną jest rozmiar płytki zapisany w „N”. Gra uzyska rozmiar planszy po poproszeniu użytkownika o wprowadzenie liczby.
  • Zatem po wprowadzeniu wartości jest ona przetwarzana.
  • Tworzymy również komunikat o błędzie, aby pokazać graczom, gdy zostanie wpisany nieprawidłowy numer.
  • Następnie możemy utworzyć dwie zmienne, które po wypełnieniu komórki wpisują „X” lub „O”.
  • Następnie pokaż graczom planszę. Następnie pobierz dane wejściowe gracza.
  • Następnie logika oznaczy wybraną komórkę jako wypełnioną i sprawdzi wygraną lub remis.
  • Jeśli nie ma zwycięzcy, gra prosi następnego gracza o grę. W przypadku wygranej lub remisu gra może zapytać użytkowników, czy chcą nowej gry.

Podsumowanie

  • Kółko i krzyżyk to zabawna gra dla dwóch graczy, w którą można grać poprzez umieszczenie unikalnego symbolu w pustej komórce planszy.
  • Tworzenie gry w kółko i krzyżyk w Python wymaga zrozumienia na poziomie początkującym Python, edytor tekstu i Python zainstalowany.
  • Algorytm pomaga systematycznie pisać kod w dowolnym języku.
  • Aby stworzyć grę, najpierw narysuj planszę i napisz kod określający układ wygranej i przegranej
  • Możesz przetestować kod w kółko i krzyżyk Python najpierw grając.