Πώς να φτιάξετε ένα παιχνίδι Tic Tac Toe στο Python μαζί σου, Code Παράδειγμα
⚡ Έξυπνη Σύνοψη
Τρίλιζα Python είναι ένα φιλικό προς αρχάριους έργο που αναδημιουργεί το κλασικό παιχνίδι πλέγματος δύο παικτών. Η κατασκευή του ενισχύει βασικές δεξιότητες όπως βρόχους, υποθετικές εκφράσεις, λίστες, συναρτήσεις και αναδρομή, ενώ ελέγχει γραμμές, στήλες και διαγώνιους για έναν νικητή.

Tic Tac Toe Game in Python είναι ένα ενδιαφέρον έργο που μπορείτε να δοκιμάσετε. Είναι ένα ωραίο και διασκεδαστικό έργο επίλυσης μιας πρόκλησης και μπορεί να σας βοηθήσει να κατακτήσετε βασικές έννοιες στο PythonΗ δημιουργία ενός διασκεδαστικού παιχνιδιού Tic Tac Toe σας βοηθά να αναπτύξετε τις δεξιότητές σας.
Μπορείτε να χρησιμοποιήσετε ένα καλό Python συντάκτης όπως PyCharm ή τη διεπαφή γραμμής εντολών.
Πώς να παίξετε το παιχνίδι Tic Tac Toe;
Το Tic Tac Toe είναι ένα απλό παιχνίδι για δύο παίκτες που μπορεί να παίξει ο καθένας χωρίς να χρειάζεται ταμπλό. Περιλαμβάνει δύο παίκτες που σημειώνουν διαφορετικά κελιά μέχρι το παιχνίδι να τελειώσει με νίκη ή ισοπαλία.
Δείτε πώς μπορείτε να παίξετε το παιχνίδι Tic Tac Toe.
Βήμα 1) Το παιχνίδι Tic Tac Toe ξεκινά με άδεια κελιά σε ένα τετράγωνο πλέγμα. Αυτό είναι το ταμπλό Tic Tac Toe.
Βήμα 2) Και οι δύο παίκτες επιλέγουν από δύο σύμβολα, συνήθως Xs ή Os. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο μοναδικό σύμβολο στο παιχνίδι.
Βήμα 3) Ο τρέχων παίκτης βαθμολογεί με τη σειρά του συμπληρώνοντας τα κελιά του ταμπλό Tic Tac Toe μέχρι να συμπληρώσει ένας παίκτης έναν νικηφόρο συνδυασμό. Δηλαδή μια ολόκληρη σειρά, στήλη ή διαγώνιο με το ίδιο πρόσημο.
Βήμα 4) Μια ισοπαλία είναι επίσης πιθανή σε περίπτωση που όλα τα κελιά είναι γεμάτα χωρίς εμφανή νικητή.
απαιτήσεις
Κατασκευή του Tic Tac Toe Python το έργο απαιτεί κατανόηση σε επίπεδο αρχαρίου Python γλώσσα προγραμματισμού. Περιλαμβάνει την κατανόηση των βρόχων "for" και των επαναλήψεων και για ποιο σκοπό χρησιμοποιείται μια εντολή if σε Python.
Πρέπει επίσης να έχετε Python και σε έναν Python πρόγραμμα επεξεργασίας κειμένου που είναι εγκατεστημένο στον υπολογιστή σας για να ολοκληρώσετε το Tic Tac Toe Python έργο. Καθώς αυτό είναι ένα παιχνίδι Tic Tac Toe για αρχάριους στο Python, δεν θα χρειαστείτε καμία Python βιβλιοθήκη.
Μπορεί να χρειαστείτε κάποιες δεξιότητες εντοπισμού σφαλμάτων (debugging) για να βρείτε λύσεις σε σφάλματα στον κώδικά σας και θα πρέπει επίσης να έχετε επαρκή κατανόηση των στοιχείων του παιχνιδιού.
Tic Tac Toe Python Αλγόριθμος
Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε ένα παιχνίδι Tic Tac Toe στο Python γλώσσα προγραμματισμού:
Βήμα 1) Δημιουργήστε το ταμπλό για να ξεκινήσετε το παιχνίδι Tic Tac Toe.
Βήμα 2) Ζητήστε από τον χρήστη να αποφασίσει για τις διαστάσεις του πίνακα παιχνιδιού.
Βήμα 3) Επιλέξτε τυχαία τον πρώτο παίκτη.
Βήμα 4) Το παιχνίδι Tic Tac Toe ξεκινά.
Βήμα 5) Οι παίκτες παίζουν επιλέγοντας ένα κενό σημείο στο ταμπλό.
Βήμα 6) Συμπληρώστε το κενό επιλεγμένο σημείο με το σύμβολο του παίκτη.
Βήμα 7) Προσδιορίστε εάν ένας παίκτης κερδίζει ή παίρνει ισοπαλία στο παιχνίδι χρησιμοποιώντας τη λογική του παιχνιδιού.
Βήμα 8) Εμφανίστε τον πίνακα παιχνιδιού μετά από κάθε παιχνίδι, εάν κανένας παίκτης δεν κερδίσει ή δεν πάρει ισοπαλία με τον δεύτερο παίκτη.
Βήμα 9) Εμφανίστε ένα μήνυμα ισοπαλίας ή νίκης, αντίστοιχα.
Βήμα 10) Τερματίστε το παιχνίδι Tic Tac Toe με επιλογές για να ξεκινήσετε ένα νέο παιχνίδι.
Πλήρης 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()
Tic Tac Toe Python Code παραγωγή
Μόλις εκτελέσετε τον παραπάνω πηγαίο κώδικα, παρακάτω είναι η αναμενόμενη έξοδος για μια πλακέτα 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):
Πλήρης Code Ανάλυση
δημιουργία Τρίλιζα Python είναι απλό. Ας αναλύσουμε τις διαφορετικές συναρτήσεις σε bits για να καταλάβουμε τι συμβαίνει για κάθε γραμμή:
Εκτύπωση του πίνακα
Το ταμπλό 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)
Code παραγωγή:
------------ 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". Το παιχνίδι θα πάρει το μέγεθος του πίνακα αφού ζητήσει από τον χρήστη να εισαγάγει έναν αριθμό.
- Έτσι, όταν εισάγετε την τιμή, υποβάλλεται σε επεξεργασία.
- Δημιουργούμε επίσης ένα μήνυμα σφάλματος για να δείξουμε στους παίκτες όταν πληκτρολογείται κάποιος μη έγκυρος αριθμός.
- Μπορούμε στη συνέχεια να δημιουργήσουμε δύο μεταβλητές που συμπληρώνουν ένα «Χ» ή ένα «Ο» όταν γεμίζει ένα κελί.
- Στη συνέχεια δείξτε στους παίκτες τον πίνακα παιχνιδιού. Μετά από αυτό, λάβετε τη συμβολή του παίκτη.
- Στη συνέχεια, η λογική θα επισημάνει το επιλεγμένο κελί ως γεμάτο και θα ελέγξει για νίκη ή ισοπαλία.
- Εάν δεν υπάρχει νικητής, το παιχνίδι ζητά από τον επόμενο παίκτη να παίξει. Εάν υπάρξει νίκη ή ισοπαλία, το παιχνίδι μπορεί να ρωτήσει τους χρήστες εάν θέλουν ένα νέο παιχνίδι.
