Create a Rock-Paper-Scissors game with Python and micro:bit [Part 2]
In this project you will learn basic programming concepts by creating a “Rock-Paper-Scissors” game using Python and micro:bit.
Σε αυτή την άσκηση θα μάθεις βασικές έννοιες προγραμματισμού δημιουργώντας το παιχνίδι «Πέτρα-Ψαλίδι-Χαρτί» με τη γλώσσα προγραμματισμού Python και την πλακέτα micro:bit.
Στόχος της άσκησης | Δημιουργία του παιχνιδιού «Πέτρα-Ψαλίδι-Χαρτί» με Python και micro:bit |
---|---|
Τι θα μάθεις | Βασικές έννοιες προγραμματισμού (μεταβλητές, συναρτήσεις, δομή επιλογής if) στη γλώσσα Python |
Τι θα χρειαστείς | Έναν browser |
Διάρκεια άσκησης | 30 λεπτά |
Μπορείς να δεις το τελικό παιχνίδι στο Microsoft Make Code και να κατεβάσεις τον κώδικα του παιχνιδιού από το προσωπικό μου GitHub repository.
Πήγαινε στη σελίδα Microsoft Make Code και επίλεξε το micro:bit. Δημιούργησε ένα νέο project, συμπλήρωσε τον τίτλο του project και στην ένδειξη code options επίλεξε ως γλώσσα την Python. Για την υλοποίηση του παιχνιδιού θα χρησιμοποιήσεις το επιταχυνσιόμετρο και την οθόνη του micro:bit.
Όρισε τη συνάρτηση on_gesture_shake()
, η οποία θα περιέχει τον κώδικα όλου του παιχνιδιού και θα εκτελείται όταν κουνάς το micro:bit.
|
|
Κάθε παίκτης επιλέγει ένα από τα τρία αντικείμενα (πέτρα, ψαλίδι ή χαρτί). Συνήθως στα προγράμματα όμως αποφεύγουμε τη χρήση λέξεων και στη θέση των λέξεων χρησιμοποιούμε αριθμούς. Έτσι λοιπόν έχουμε για κάθε παίκτη 3 επιλογές τις οποίες θα συμβολίσουμε με τα νούμερα 1, 2 και 3.
Η δημιουργία δύο παικτών ισοδυναμεί με τη δημιουργία δύο μεταβλητών. Έτσι ορίζουμε τις μεταβλητές hand1
και hand2
στο εσωτερικό της συνάρτησης. Για την επιλογή τυχαίου αριθμού χρησιμοποιούμε τη συνάρτηση randint()
. Αποθηκεύουμε τους 2 τυχαίους αριθμούς στις μεταβλητές hand1
και hand2
αντίστοιχα.
|
|
randint()
χρησιμοποιείται για την παραγωγή τυχαίων αριθμών. Δέχεται δύο ορίσματα, τα οποία ορίζουν το διάστημα στο οποίο θα βρίσκεται ο αριθμός.Χρησιμοποίησε την εντολή:
|
|
για να εμφανίσεις την επιλογή του πρώτου παίκτη. Τι παρατηρείς; Στην οθόνη θα εμφανιστεί ένας αριθμός (1, 2 ή 3) και όχι η πραγματική επιλογή του παίκτη. Αυτό συμβαίνει επειδή ο υπολογιστής δεν γνωρίζει την αντιστοίχιση μεταξύ των αριθμών και των συμβόλων που κάναμε.
Θα πρέπει να πούμε στον υπολογιστή ότι ΑΝ ο παίκτης έχει επιλέξει το 1, τότε να εμφανίσει την πέτρα, ΑΝ έχει επιλέξει το 2, τότε να εμφανίσει το χαρτί και ΑΝ έχει επιλέξει το 3, να εμφανίσει το ψαλίδι. Αυτό λοιπόν υλοποιείται με την εντολή IF
.
if
(δομή επιλογής) δημιουργεί μία διακλάδωση στο πρόγραμμα. Με αυτόν τον τρόπο ο υπολογιστής λαμβάνει μία απόφαση. Η απόφαση βασίζεται σε μία συνθήκη που του έχει δώσει ο χρήστης. Αν η συνθήκη είναι αληθής, εκτελούμε μία ενέργεια.
|
|
Γράφουμε ακριβώς το ίδιο κομμάτι κώδικα και για την εμφάνιση της επιλογής του δεύτερου παίκτη.
|
|
Θέλουμε να εμφανίσουμε τον αριθμό 1 αν νίκησε ο παίκτης 1, τον αριθμό 2 αν νίκησε ο παίκτης 2 και 0 αν δεν νίκησε κάποιος παίκτης (ισοπαλία). Για την υλοποίηση της επιλογής του νικητή χρησιμοποιούμε πολλαπλές εντολές if
, οι οποίες δημιουργούν μία εμφωλευμένη δομή επιλογής.
Σε ένα πρόγραμμα μπορεί να έχουμε πολλαπλές διακλαδώσεις. Οι διακλαδώσεις αυτές μπορούν να δημιουργήσουν μία εμφωλευμένη δομή επιλογής. Σε αυτή την περίπτωση, μία εντολή if
εκτελείται όταν ισχύει (ή όταν δεν ισχύει) η συνθήκη μίας άλλης εντολής if
.
|
|
Η εναλλαγή των εικόνων των δύο παικτών είναι αρκετά γρήγορη. Χρησιμοποιούμε την εντολή pause(500)
για τη στιγμιαία παύση του παιχνιδιού για 0.5 δευτερόλεπτα (ώστε να μπορούμε να διακρίνουμε καθαρά την εικόνα που προβλήθηκε) και την εντολή clear_screen()
για την εκκαθάριση της οθόνης πριν της εμφάνιση της νέας εικόνας.
|
|
Συγχαρητήρια! Δημιούργησες το πρώτο σου παιχνίδι με Python και micro:bit. Επίλεξε το κουμπί share για να δείξεις το παιχνίδι που μόλις υλοποίησες στους φίλους σου.
Στο επόμενο μάθημα θα μάθεις πώς μπορείς να δημιουργήσεις μεταβλητές για την αποθήκευση του αριθμού του τρέχοντος γύρου του παιχνιδιού και του σκορ των δύο παικτών.
In this project you will learn basic programming concepts by creating a “Rock-Paper-Scissors” game using Python and micro:bit.
In this project you will learn basic programming concepts by creating a “Rock-Paper-Scissors” game using Python and micro:bit.
Σε αυτή την άσκηση θα βελτιώσεις το παιχνίδι «Πέτρα-Ψαλίδι-Χαρτί» που δημιούργησες στο πρώτο μέρος με Python και micro:bit.
This post will take you through the newest Read OCR API of Azure Computer Vision, which is used for extracting text from images.