Το Battlefield2, το World of Tanks, το The Sims4 και το Freedom Force είναι μερικά από τα χιλιάδες καταπληκτικά παιχνίδια που αναπτύχθηκαν με την Python.
Tkinter, η τυπική διεπαφή Python για την εργαλειοθήκη Tk GUI, είναι μια ισχυρή ενότητα που κάνει τη δημιουργία γραφικών διεπαφών χρήστη εύκολη και διασκεδαστική. Χρησιμοποιήστε αυτήν τη λειτουργική μονάδα για να αναπτύξετε ένα παιχνίδι χρωμάτων που να σας στρέφει το μυαλό. Επίσης, μάθετε πώς να χρησιμοποιείτε τη μονάδα στην πορεία.
Τι είναι το παιχνίδι με τα χρώματα;
Στο Color Game, το πρόγραμμα εμφανίζει το όνομα ενός χρώματος στην οθόνη αλλά σε διαφορετικό χρώμα γραμματοσειράς. Για παράδειγμα, εμφανίζει τη λέξη Κίτρινος χρησιμοποιώντας ένα κόκκινο χρώμα γραμματοσειράς και το πρόγραμμα αναπαραγωγής πρέπει να πληκτρολογήσει το χρώμα του κειμένου.
Αυτή η αναντιστοιχία πληροφοριών μαζί με το χρονόμετρο δημιουργεί πλήθος σύγχυσης και δημιουργεί μια διασκεδαστική εμπειρία παιχνιδιού.
Η ενότητα Tkinter και Random
Για να δημιουργήσετε το Color Game, θα χρησιμοποιήσετε το tkinter ενότητα και το τυχαίος μονάδα μέτρησης. Το Tkinter είναι μια πολυπλατφορμική, απλή και φιλική προς το χρήστη μονάδα GUI που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε γρήγορα γραφικά περιβάλλοντα χρήστη.
Διαθέτει μερικά χρήσιμα εργαλεία, όπως γραφικά στοιχεία ετικέτας και καταχώρισης και διαχειριστές διάταξης, όπως πακέτο, πλέγμα και θέση. Οι λειτουργίες που παρέχονται είναι αρκετά απλές, διευκολύνοντας τους αρχάριους προγραμματιστές να σχεδιάζουν εφαρμογές χωρίς μεγάλη προσπάθεια. Για να εγκαταστήσετε το tkinter στο σύστημά σας, εκτελέστε την ακόλουθη εντολή στο τερματικό:
pip εγκατάσταση tkinter
Η τυχαία μονάδα είναι μια ενσωματωμένη βιβλιοθήκη που χρησιμοποιεί την οποία μπορείτε να δημιουργήσετε τυχαίες επιλογές. Χρησιμοποιώντας αυτήν την ενότητα, μπορείτε να αναπτύξετε παιχνίδια κρίκετ με το χέρι, παιχνίδια μαντείας αριθμών, μαγικά παιχνίδια με οκτώ μπάλες, γεννήτριες τυχαίων κωδικών πρόσβασης, και πολλά άλλα.
Πώς να δημιουργήσετε ένα παιχνίδι χρώματος χρησιμοποιώντας την Python
Ο πηγαίος κώδικας του Color Game είναι διαθέσιμος σε α Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.
Ξεκινήστε εισάγοντας το tkinter και την τυχαία ενότητα. Αποθηκεύστε το όνομα των χρωμάτων ως λίστα συμβολοσειρών και αρχικοποιήστε το σκορ μεταβλητή σε 0 και χρόνος που απομένει έως 60.
από tkinter εισαγωγή *
εισαγωγή τυχαίος
χρώματα = ['Το κόκκινο', 'Πράσινος', 'Μπλε', 'Μαύρος', 'Ροζ', 'Ασπρο', 'Μωβ', 'Κίτρινος', 'Καφέ']
σκορ = 0
χρόνος_υπόλοιπος = 60
Ορίστε μια συνάρτηση με όνομα startGame() που παίρνει Εκδήλωση ως όρισμα εισαγωγής. Η συνάρτηση εκτελεί δύο εργασίες. Αρχικά, ελέγχει εάν το χρόνος που απομένει ισούται με 60. Εάν ναι, καλεί και εκτελεί το αντίστροφη μέτρηση () λειτουργία. Δεύτερον, καλεί το nextcolor() λειτουργία που ανακατεύει τυχαία και εμφανίζει το χρώμα και το σκορ όταν το παιχνίδι είναι σε εξέλιξη.
defstartGame(Εκδήλωση):
αν χρόνος_υπόλοιπος == 60:
αντίστροφη μέτρηση ()
nextColor()
Ορίστε μια συνάρτηση με όνομα nextColor() και αναφορά στις μεταβλητές καθολικά. Εάν ο χρόνος που απομένει είναι μεγαλύτερος από 0, ρυθμίστε την εστίαση στο πεδίο εισαγωγής χρησιμοποιώντας το focus_set() μέθοδος στην ετικέτα καταχώρισης (αποθηκευμένη σε μεταβλητή μι) που ορίζεται στο τελευταίο μισό του κώδικα.
Χρησιμοποιήστε το παίρνω() μέθοδος για να ανακτήσετε το τρέχον κείμενο της καταχώρισης ως συμβολοσειρά και να το μετατρέψετε σε πεζά για να αποφύγετε την αναντιστοιχία πεζών-κεφαλαίων. Εάν αυτό ισούται με το χρώμα που εμφανίζεται στην οθόνη, αυξήστε τη βαθμολογία κατά ένα. Χρησιμοποιήστε το διαγράφω() λειτουργούν από το 0 έως το τελευταίο ευρετήριο στο γραφικό στοιχείο καταχώρισης για εκκαθάριση του περιεχομένου.
defεπόμενοΧρώμα():
παγκόσμια σκορ
παγκόσμια χρόνος που απομένει
αν χρόνος_υπομένει > 0:
e.focus_set()
αν e.get().lower() == χρώματα[1].πιο χαμηλα():
σκορ += 1
e.delete(0, ΤΕΛΟΣ)
Χρησιμοποιήστε το ανάμιξη() λειτουργία για αναδιάταξη στοιχείων στη λίστα και εμφάνιση της ετικέτας χρώματος με το κείμενο ως πρώτο χρώμα στη λίστα και το χρώμα γραμματοσειράς ως δεύτερο χρώμα στη λίστα. Χρησιμοποιήστε το config() λειτουργία ενεργοποιημένη scoreLabel (που ζητά να πατήσετε Enter) για να εμφανιστεί το σκορ καθώς το παιχνίδι βρίσκεται σε περίοδο συνεδρίας.
random.shuffle (colours)
label.config (fg=str (χρώματα[1]), text=str (χρώματα[0]))
scoreLabel.config (κείμενο="Βαθμολογία:" + str (σκορ))
Ορίστε μια συνάρτηση με όνομα αντίστροφη μέτρηση () που αναφέρεται στη μεταβλητή του χρόνου που απομένει και τη μειώνει κατά ένα. Χρησιμοποιήστε το config() λειτουργία στο timeLabel για να εμφανίσετε τον χρόνο που απομένει στην οθόνη και το μετά() λειτουργία για επανάκληση αντίστροφη μέτρηση λειτουργία μετά από καθυστέρηση 1000 χιλιοστών του δευτερολέπτου ή ενός δευτερολέπτου.
defαντίστροφη μέτρηση():
παγκόσμια χρόνος που απομένει
αν χρόνος_υπομένει > 0:
χρόνος_υπόλοιπος -= 1
timeLabel.config (text="Υπολειπόμενος χρόνος: " + str (time_remaining))
timeLabel.after(1000, αντίστροφη μέτρηση)
Αρχικοποιήστε το στιγμιότυπο tkinter και εμφανίστε το ριζικό παράθυρο. Ορίστε τον τίτλο, τις διαστάσεις σε pixel και το χρώμα φόντου του παραθύρου.
ρίζα = Tk()
root.title("Παιχνίδι χρωμάτων με μια ανατροπή")
root.geometry("750x450")
root.configure (background='Πορτοκάλι')
Χρησιμοποιήστε το Επιγραφή widget για να καθοδηγήσει τον παίκτη σχετικά με τις οδηγίες του παιχνιδιού. Αποδέχεται το γονικό παράθυρο στο οποίο θα το τοποθετούσατε. Το κείμενο πρέπει να εμφανίζει τον τύπο και το μέγεθος γραμματοσειράς μαζί με το χρώμα φόντου της ετικέτας. Χρησιμοποιήστε το πακέτο() λειτουργία για την οργάνωση του γραφικού στοιχείου ετικετών σε μπλοκ πριν τα τοποθετήσετε στο γονικό γραφικό στοιχείο.
Ομοίως, ορίστε την ετικέτα βαθμολογίας για να υποδείξετε στον χρήστη να πατήσει Εισαγω για να ξεκινήσει το παιχνίδι καθώς και μια ετικέτα ώρας για την εμφάνιση του χρόνου που απομένει. Βεβαιωθείτε ότι όλες οι ετικέτες έχουν πορτοκαλί χρώμα φόντου, ώστε να αναμειγνύονται στο φόντο. Ορίστε μια κενή ετικέτα που θα περιέχει τα ονόματα των χρωμάτων στο nextColor() λειτουργία.
οδηγίες = Ετικέτα (ρίζα, κείμενο="Πληκτρολογήστε το χρώμα της λέξης όχι το κείμενο ;)", γραμματοσειρά=('Arial', 24), bg="πορτοκάλι")
οδηγίες.pack()
scoreLabel = Ετικέτα (ρίζα, κείμενο="Πατήστε Enter για να ξεκινήσετε", γραμματοσειρά=('Arial', 24), bg="πορτοκάλι")
scoreLabel.pack()
timeLabel = Ετικέτα (ρίζα, κείμενο="Χρόνος που απομένει: " + str (time_remaining), γραμματοσειρά=('Arial', 24), bg="πορτοκάλι")
timeLabel.pack()
ετικέτα = Ετικέτα (ρίζα, γραμματοσειρά=('Arial', 90), bg="πορτοκάλι")
Όπως αναφέρθηκε προηγουμένως, χρησιμοποιήστε το γραφικό στοιχείο καταχώρισης για να καταγράψετε την απάντηση του προγράμματος αναπαραγωγής. Ένα σημαντικό βήμα είναι η σύνδεση του πλήκτρου Enter με ένα συμβάν στο παράθυρο tkinter, έτσι ώστε όταν το πατήσει ο παίκτης, να εκτελείται μια συγκεκριμένη λειτουργία.
Για να το πετύχετε, περνάτε το κλειδί και το startGame() λειτουργούν ως παράμετροι στο δένω() λειτουργία. Επιπλέον, χρησιμοποιήστε το πακέτο() και focus_set() μεθόδους οργάνωσης και ρύθμισης της εστίασης στην ετικέτα εισόδου μόλις πατήσετε το πλήκτρο Enter.
e = Καταχώριση (γραμματοσειρά=20)
root.bind('' , startGame)
e.pack()
e.focus_set()
ο mainloop() Η συνάρτηση λέει στην Python να εκτελέσει τον βρόχο συμβάντων tkinter και να ακούσει για συμβάντα (όπως το πάτημα κουμπιών) μέχρι να κλείσετε το παράθυρο.
root.mainloop()
Συνδυάστε όλο τον κώδικα και έχετε το Color Game με μια ανατροπή έτοιμο να παίξετε στα χέρια σας.
Έξοδος παιχνιδιού χρώματος με χρήση Python
Κατά την εκτέλεση του προγράμματος Color Game, εμφανίζεται ένα παράθυρο στην οθόνη. Πατώντας Enter, αρχίζει η αντίστροφη μέτρηση και ο παίκτης πρέπει να αρχίσει να πληκτρολογεί το χρώμα της λέξης. Για κάθε σωστή απάντηση, η βαθμολογία αυξάνεται κατά ένα και στο τέλος εμφανίζει την τελική βαθμολογία.
Ανάπτυξη παιχνιδιών με χρήση Python
Η Python είναι μια φανταστική γλώσσα για την ανάπτυξη παιχνιδιών. Η γλώσσα δεν είναι μόνο απλή στην κατανόηση και τη χρήση, αλλά επιτρέπει επίσης στους προγραμματιστές παιχνιδιών όλων των επιπέδων εμπειρίας να δημιουργήσουν εκπληκτικούς κόσμους gaming που είναι ενδιαφέροντες και διασκεδαστικοί.
Επιπλέον, οι δημιουργοί έχουν μια τεράστια γκάμα επιλογών όταν πρόκειται να ζωντανέψουν ιδέες, χάρη στις διάφορες πλατφόρμες ανάπτυξης παιχνιδιών που είναι διαθέσιμες στην αγορά, όπως το PyGame ή το Kivy.