Kuinka tehdä Tic Tac Toe -peli sisään Python koodiesimerkillä

Tic Tac Toe peli sisään Python on mielenkiintoinen projekti, jota voit kokeilla. Se on hieno ja hauska haasteen ratkaisuprojekti, joka voi auttaa sinua hallitsemaan peruskäsitteet Python. Hauskan tic tac toe -pelin luominen auttaa sinua kehittämään taitojasi.

Voit käyttää hyvää Python editori, kuten Pycharm tai komentorivikäyttöliittymä.

Kuinka pelata Tic Toc -peliä?

Tic tac toe -peli on yksinkertainen kahden pelaajan peli, jota kuka tahansa voi pelata ilman pelilautaa. Siinä kaksi pelaajaa merkitsee eri soluja, kunnes peli päättyy, voittoon tai tasapeliin.

Näin pelaat tic tac toe -peliä.

Vaihe 1) Tic tac toe -peli alkaa tyhjillä soluilla neliöruudukossa. Tämä on tic tac toe -lauta.

Vaihe 2) Molemmat pelaajat valitsevat kahdesta symbolista, yleensä Xs tai Os. Voit käyttää mitä tahansa muuta ainutlaatuista symbolia pelissä.

Vaihe 3) Nykyinen pelaaja merkitsee vuorotellen täyttämällä tic tac toe -laudan soluja, kunnes pelaaja täyttää voittoyhdistelmän. Tämä on kokonainen rivi, sarake tai diagonaali samalla merkillä.

Vaihe 4) Tasapeli on myös mahdollinen, jos kaikki solut ovat täynnä ilman näkyvää voittajaa

vaatimukset

Rakennus tic tac toe Python projekti vaatii aloittelijatason ymmärrystä Python ohjelmointikieli. Se sisältää "for"-silmukoiden ja iteraatioiden ymmärtämisen ja sen, missä if-lausetta käytetään Python.

Sinulla on myös oltava Python ja Python tekstieditori asennettuna tietokoneellesi tic-tac-toe:n viimeistelemiseksi Python hanke. Koska tämä on aloittelijatason tic tac-toe -peli Python, et tarvitse mitään Python kirjasto.

Saatat tarvita joitakin virheenkorjaustaitoja löytääksesi ratkaisuja koodisi virheisiin, ja sinulla tulee myös olla riittävä käsitys pelin komponenteista.

Tic Tac Toe Python algoritmi

Seuraa näitä ohjeita luodaksesi tic tac toe -pelin Python ohjelmointikieli:

Vaihe 1) Luo lauta aloittaaksesi tic tac toe -pelin.

Vaihe 2) Pyydä käyttäjää päättämään pelilaudan mitat.

Vaihe 3) Valitse satunnaisesti ensimmäinen pelaaja.

Vaihe 4) Tic tac toe -peli alkaa.

Vaihe 5) Pelaajat pelaavat valitsemalla tyhjän paikan laudalta.

Vaihe 6) Täytä tyhjä valittu kohta pelaajan merkillä.

Vaihe 7) Määritä pelilogiikan avulla, voittaako tai tasapelin pelaaja.

Vaihe 8) Näytä pelilauta jokaisen pelin jälkeen, jos kukaan pelaaja ei voita tai saa tasapeliä toiselle pelaajalle.

Vaihe 9) Näytä tasapeli- tai voittoviesti.

Vaihe 10) Lopeta tic tac toe -peli vaihtoehtoilla uuden pelin aloittamiseksi.

Koko Python koodi tic tac toe

# 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 Kooditulostus

Kun suoritat yllä olevan lähdekoodin, alla on odotettu tulos 3 x 3 tic tac toe -levylle:

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

Täysi koodin erittely

Luominen tic tac toe sisään Python on yksinkertainen. Tarkastellaan eri funktioita bitteinä ymmärtääksemme, mitä kullekin riville tapahtuu:

Taulun tulostaminen

Tic tac toe -lauta on pelin päänäyttö. sisään, Python näyttöikkunaa käytetään pelilaudan näyttämiseen.

Tässä ovat vaiheet, jotka auttavat sinua luomaan laudan tic tac toe -a varten Python:

Python koodi 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)

Kooditulostus:

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

_ _ _

_ _ _

_ _ _

Tic Tac Toe Game – voittojärjestely

Tarkistaaksemme, voittiko joku pelaaja, meidän on tarkistettava rivien, sarakkeiden ja diagonaalien voittoyhdistelmät. Jos voittaja löytyy, meidän on näytettävä voittajaviesti.

Rivit

  • Rivillä funktio ottaa jokaisen peräkkäisen sarakeparin ja tarkistaa voittavan yhdistelmän.
  • Ensimmäinen pelaaja, joka täyttää rivit, voittaa. Toinen pelaaja siis häviää.
  • Jos peräkkäisten sarakkeiden pari on sama, on selvää, että kaikki kyseisen rivin elementit ovat samoja.
  • Jos kaksi niistä ovat erilaisia ​​tai rivillä on tyhjä solu, voittajaa ei silti ole.
  • Toteutamme sitten häviämisehdot ja lisäämme tauon. Jos jokin näistä tappioehdoista pitää paikkansa, meillä ei ollut voittajaa valitulla rivillä.
  • Muu väite antaa todellisen tuoton osoittaakseen, että voittaja on olemassa.
  • Katko katkeaa tästä silmukasta ja jatkaa seuraavalle riville.

Pylväät

Sarakkeille toistamme saman toiminnon kuin riveillä. Tarkistamme, voittiko pelaaja, kun jokainen pelaaja on valinnut paikkansa.

Diagonaalirivi voittaa

Vasemman diagonaalin osalta tehtävä yksinkertaistuu. Aiomme aina vertailla lävistäjän soluja. Jos voittajaa ei kuitenkaan löydy, voimme jatkaa seuraavaan ohjeeseen.

Pelin logiikka

Tämä on pelin päätoiminto. Tätä varten voimme käyttää muuttujia, jotka tallentavat tietoa.

  • Ensimmäinen muuttuja on "N"-kirjaimeen tallennettu levyn koko. Peli saa laudan koon pyydettyään käyttäjää syöttämään numeron.
  • Joten kun syötät arvon, se käsitellään.
  • Luomme myös virheilmoituksen, joka näyttää pelaajille, kun virheellinen numero kirjoitetaan.
  • Voimme sitten luoda kaksi muuttujaa, jotka täyttävät "X" tai "O", kun solu on täytetty.
  • Näytä sitten pelaajille pelilauta. Tämän jälkeen hanki soittimen syöte.
  • Logiikka merkitsee sitten valitun solun täytetyksi ja tarkistaa voiton tai tasapelin.
  • Jos voittajaa ei löydy, peli pyytää seuraavaa pelaajaa pelaamaan. Jos voitto tai tasapeli tulee, peli voi kysyä käyttäjiltä, ​​haluavatko he uuden pelin.

Yhteenveto

  • Tic tac toe on hauska kahden pelaajan peli, jota pelataan sijoittamalla ainutlaatuinen symboli tyhjään lautasoluun.
  • Tic tac toe -pelin luominen Python vaatii aloittelijatason ymmärrystä Python, tekstieditori ja Python asennettu.
  • Algoritmi auttaa sinua kirjoittamaan koodin systemaattisesti millä tahansa kielellä.
  • Luodaksesi pelin, piirrä ensin taulu ja kirjoita koodi määrittääksesi voitto- ja tappiojärjestelyt
  • Voit testata tic-tac-toe-koodia Python pelaamalla sitä ensin.