Kuidas teha Tic Tac Toe mängu Python koodinäite abil

Tic Tac Toe mäng sisse Python on huvitav projekt, mida võite proovida. See on lahe ja lõbus väljakutse lahendamise projekt, mis aitab teil põhikontseptsioone omandada Python. Lõbusa tic tac toe mängu loomine aitab teil oma oskusi arendada.

Võite kasutada head Python redaktor, näiteks Pycharm või käsurea liides.

Kuidas Tic Toc mängu mängida?

Tic tac toe mäng on lihtne kahe mängijaga mäng, mida igaüks saab mängida ilma mängulauda vajamata. See hõlmab kahte mängijat, kes märgivad erinevaid lahtreid, kuni mäng lõpeb, saavutatakse võit või viik.

Siin on, kuidas mängida tic tac toe mängu.

Step 1) Tic tac toe mäng algab tühjade lahtritega ruudustikus. See on tic tac toe pardal.

Step 2) Mõlemad mängijad valivad kahe sümboli vahel, tavaliselt X või Os. Mängus saab kasutada mis tahes muud ainulaadset sümbolit.

Step 3) Praegune mängija märgib kordamööda, täites tic tac toe laua lahtreid, kuni mängija täidab võidukombinatsiooni. See on terve rida, veerg või diagonaal sama märgiga.

Step 4) Mängu viik on võimalik ka juhul, kui kõik lahtrid on täis ilma nähtava võitjata

Nõuded

Hoone ehitamine tic tac toe Python projekt eeldab algaja taseme mõistmist Python programmeerimiskeel. See hõlmab „for” tsüklite ja iteratsioonide mõistmist ning seda, millises if-lauses kasutatakse Python.

Teil peab ka olema Python ja Python tic-tac-toe lõpuleviimiseks arvutisse installitud tekstiredaktor Python projekt. Kuna see on algaja taseme tic tac-toe mäng Python, te ei vaja ühtegi Python raamatukogu.

Võimalik, et koodis leiduvatele vigadele lahenduste leidmiseks vajate mõningaid silumisoskusi ja teil peaks olema ka piisav arusaam mängu komponentidest.

Tic Tac Toe Python Algoritm

Järgige neid samme, et luua tic tac toe mäng Python programmeerimiskeel:

Step 1) Looge laud, et alustada tic tac toe mängu.

Step 2) Paluge kasutajal otsustada mängulaua mõõtmete üle.

Step 3) Valige juhuslikult esimene mängija.

Step 4) Tic tac toe mäng algab.

Step 5) Mängijad valivad mängulaual tühja koha.

Step 6) Täitke tühi valitud koht mängija märgiga.

Step 7) Tehke mänguloogika abil kindlaks, kas mängija võidab või saavutab viigi.

Step 8) Kuvage mängulaud pärast iga mängu, kui ükski mängija ei võida või ei viigi teise mängijaga.

Step 9) Kuvage vastavalt viigi- või võidusõnum.

Step 10) Lõpetage tic tac toe mäng uue mängu alustamise võimalustega.

Täis Python kood tic tac toe jaoks

# 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 Koodi väljund

Kui olete ülaltoodud lähtekoodi käivitanud, on allpool 3 x 3 tic tac toe tahvli eeldatav väljund:

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

Koodi täielik jaotus

loomine tic tac toe sisse Python on lihtne. Lahkame erinevaid funktsioone bittide kaupa, et mõista, mis iga rea ​​puhul toimub:

Tahvli trükkimine

Tic tac toe laud on mängu põhiekraan. sisse, Python ekraaniakent kasutatakse mängulaua kuvamiseks.

Siin on juhised, mis aitavad teil tic tac toe'i jaoks laua luua Python:

Python kood Tic Tac Toe jaoks

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)

Koodi väljund:

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

_ _ _

_ _ _

_ _ _

Tic Tac Toe Game – võidukorraldus

Et kontrollida, kas mõni mängija võitis, peame kontrollima võidukombinatsioone ridade, veergude ja diagonaalide lõikes. Kui on võitja, peame näitama võidusõnumit.

Read

  • Rea puhul võtab funktsioon iga järjestikuse veergude paari ja kontrollib võidukombinatsiooni.
  • Esimene mängija, kes read täidab, võidab. Seega kaotab teine ​​mängija.
  • Kui järjestikuste veergude paar on samad, on ilmne, et kõik selle rea elemendid on samad.
  • Kui kaks neist on erinevad või rida sisaldab tühja lahtrit, pole võitjat ikka veel.
  • Seejärel rakendame kaotamistingimused ja lisame pausi. Kui mõni neist kaotustingimustest vastab tõele, ei olnud meil märgitud real võitjat.
  • Muu väide annab tõelise tulu, mis näitab, et võitja on olemas.
  • Järgmisele reale liikumiseks katkeb paus sellest ahelast välja.

Veerud

Veergude puhul kordame sama funktsiooni nagu ridade puhul. Kontrollime, kas mängija võitis pärast seda, kui iga mängija on oma koha valinud.

Diagonaalrida võidab

Vasaku diagonaali puhul muutub ülesanne lihtsamaks. Me hakkame alati võrdlema diagonaalide lahtreid. Kui aga võitjat pole, saame jätkata järgmise juhisega.

Mängi mänguloogikat

See on mängu peamine funktsioon. Selleks saame kasutada muutujaid, mis salvestavad teavet.

  • Esimene muutuja on N-ga salvestatud tahvli suurus. Mäng saab laua suuruse pärast seda, kui kasutaja palub numbri sisestada.
  • Seega, kui sisestate väärtuse, töödeldakse seda.
  • Samuti loome veateate, et näidata mängijatele, kui sisestatakse vigane number.
  • Seejärel saame luua kaks muutujat, mis täidavad lahtri täitmisel tähe "X" või "O".
  • Seejärel näidake mängijatele mängulauda. Pärast seda hankige mängija sisend.
  • Seejärel märgib loogika valitud lahtri täidetuks ja kontrollib võitu või viiki.
  • Kui võitjat pole, palub mäng mängida järgmisel mängijal. Võidu või viigi korral saab mäng kasutajatelt küsida, kas nad soovivad uut mängu.

Järeldus

  • Tic tac toe on lõbus kahe mängijaga mäng, mida saab mängida, asetades unikaalse sümboli tühja laualahtrisse.
  • Tic tac toe mängu loomine Python eeldab algaja taseme mõistmist Python, tekstiredaktor ja Python paigaldatud.
  • Algoritm aitab teil koodi süstemaatiliselt kirjutada mis tahes keeles.
  • Mängu loomiseks joonistage esmalt laud ja kirjutage kood, et määrata võidu- ja kaotuskokkulepe
  • Saate testida tic-tac-toe koodi Python esmalt mängides.