Kuidas teha Tic Tac Toe mängu Python koos Code Näide
⚡ Nutikas kokkuvõte
Trips-traps-trull sisse Python on algajatele sobiv projekt, mis taasloob klassikalise kahe mängijaga ruudustikumängu. Selle loomine tugevdab põhioskusi, nagu tsüklid, tingimuslaused, loendid, funktsioonid ja rekursioon, kontrollides samal ajal ridu, veerge ja diagonaale võitja leidmiseks.
Tic Tac Toe mäng sisse Python on huvitav projekt, mida võid proovida. See on lahe ja lõbus väljakutse lahendamise projekt, mis aitab sul omandada põhimõisteid. PythonLõbusa trips-traps-trulli mängu loomine aitab sul oma oskusi arendada.
Võite kasutada head Python toimetaja, näiteks PyCharm või käsurealiidese kaudu.
Kuidas mängida trips-traps-traps-traps-traps-trulli mängu?
Trips-traps-trull on lihtne kahe mängijaga mäng, mida igaüks saab mängida ilma mängulauata. See hõlmab kahe mängijaga erinevate lahtrite märgistamist, kuni mäng lõpeb võidu või viigiga.
Siin on, kuidas mängida trips-traps-traps-traps-traps-traps-trull mängu.
Step 1) Trips-traps-trulli mäng algab ruudukujulises võrgus tühjade lahtritega. See on trips-traps-trulli mängulaud.
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 trips-traps-trulli laua lahtreid täites, kuni mängija saab võidukombinatsiooni. See on terve rida, veerg või diagonaal sama märgiga.
Step 4) Viik on võimalik ka juhul, kui kõik lahtrid on täis ja võitjat pole selget.
Nõuded
Trips-traps-trulli ehitamine Python projekt nõuab algaja tasemel arusaamist Python programmeerimiskeeles. See hõlmab „for”-tsüklite ja iteratsioonide mõistmist ning seda, milleks if-lauset kasutatakse programmeerimiskeeles. Python.
Teil peab ka olema Python ja Python arvutisse installitud tekstiredaktor, et täita trips-traps-trulli ülesanne Python projekt. Kuna see on algajate tasemel trips-traps-traps-trulli mäng Python, siis ei ole vaja ühtegi Python raamatukogu.
Koodi vigadele lahenduste leidmiseks võib vaja minna mõningaid silumisoskusi ja teil peaks olema ka piisav arusaam mängu komponentidest.
Tic Tac Toe Python Algoritm
Trips-traps-trulli mängu loomiseks järgi neid samme. Python programmeerimiskeel:
Step 1) Loo laud, et alustada trips-traps-trulli 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õpeta trips-traps-trulli 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 Code väljund
Kui olete ülaltoodud lähtekoodi käivitanud, on allpool oodatav väljund 3 x 3 trips-traps-traps-traps-tahvli jaoks:
------------ 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äis Code Lagunema
loomine Trips-traps-trull sisse Python on lihtne. Vaatleme erinevaid funktsioone bittide kaupa, et mõista, mis iga rea puhul toimub:
Tahvli trükkimine
Trips-tra ... Python, kasutatakse mängulaua kuvamiseks vitriinakent.
Siin on sammud, mis aitavad teil luua trips-traps-trulli mängulaua. 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)
Code 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 kaks järjestikust veergu on samad, siis 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 võrdleme alati diagonaalides olevaid lahtreid. Kui võitjat aga ei leita, võime liikuda järgmise juhise juurde.
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.

