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 |
---|---|
Τι θα μάθεις | Global μεταβλητές και λίστες στη γλώσσα Python |
Τι θα χρειαστείς | Έναν browser |
Διάρκεια άσκησης | 30 λεπτά |
Μπορείς να δεις το τελικό παιχνίδι στο Microsoft Make Code και να κατεβάσεις τον κώδικα του παιχνιδιού από το προσωπικό μου GitHub repository.
Πήγαινε στη σελίδα Microsoft Make Code, επίλεξε το micro:bit και στη συνέχεια το project που είχες δημιουργήσει στο πρώτο μέρος της άσκησης.
Μέχρι αυτό το σημείο έχεις δημιουργήσει τη συνάρτηση on_gesture_shake
, η οποία εκτελείται όταν κουνάς το micro:bit και περιέχει τον κώδικα για την υλοποίηση του παιχνιδιού. Έχεις ακόμα ορίσει τις μεταβλητές hand1
και hand2
για τους δύο παίκτες και χρησιμοποίησες τη συνάρτηση randint()
για την προσομοίωση της τυχαίας επιλογής ενός εκ των τριών αντικειμένων. Χρησιμοποιώντας εντολές if
επέλεξες το σύμβολο που πρέπει να εμφανιστεί στο micro:bit ανάλογα με την επιλογή του κάθε παίκτη και ανέδειξες τον νικητή του παιχνιδιού.
Όρισε τη μεταβλητή rounds
έξω από τη συνάρτηση και αποθήκευσε σε αυτή την τιμή 0
(πριν αρχίσει το παιχνίδι ο γύρος είναι 0). Η μεταβλητή rounds
είναι μία global μεταβλητή.
global
πριν το όνομα της μεταβλητής.Σε κάθε γύρου του παιχνιδιού αύξησε την τιμή της μεταβλητής rounds
κατά 1
.
|
|
Η έκφραση rounds += 1
ισοδυναμεί με την έκφραση rounds = rounds + 1
. Δηλαδή προσθέτουμε στην τρέχουσα τιμή της μεταβλητής rounds
τον αριθμό 1 και στη συνέχεια αποθηκεύουμε τη νέα τιμή στη μεταβλητή rounds
.
Για την υλοποίηση της επιλογής του νικητή χρησιμοποιήσαμε πολλαπλές εντολές if
(εμφωλευμένη δομή επιλογής) και τη συνάρτηση basic.show_number()
για την εμφάνιση του αριθμού του παίκτη που νίκησε. Σε αυτή την άσκηση, θα τροποποιήσεις τον κώδικά σου, ώστε να δημιουργήσεις μία μεταβλητή winner
στην οποία θα αποθηκεύσεις τον αριθμό του παίκτη που νίκησε.
Για παράδειγμα, αν νίκησε ο πρώτος παίκτης, τότε στη δομή επιλογής σου έχεις την εντολή basic.show_number(1)
. Αντικατέστησε αυτή την εντολή με την εντολή winner = 1
. Αντίστοιχα, για τον δεύτερο παίκτη χρησιμοποίησε την εντολή winner = 2
, ενώ για ισοπαλία την εντολή winner = 0
.
Μετά τη δομή επιλογής, χρησιμοποίησε την εντολή basic.show_number(winner)
, για την εμφάνιση του αριθμού του νικητή.
|
|
Για την αποθήκευση των πόντων του κάθε παίκτη, μπορείς να δημιουργήσεις 2 μεταβλητές score1
και score2
για τον πρώτο και τον δεύτερο παίκτη αντίστοιχα. Σε αυτό το project όμως θα αποθηκεύσουμε το σκορ των παικτών σε μία λίστα.
Η λίστα είναι μία δομή δεδομένων που χρησιμοποιείται για την αποθήκευση μίας συλλογής από δεδομένα. Δηλαδή, σε μία λίστα αποθηκεύουμε πολλές τιμές. Οι τιμές που θα αποθηκευτούν στη λίστα τοποθετούνται μέσα σε αγκύλες ([ ]
) και χωρίζονται με κόμμα (,
). Για παράδειγμα, η παρακάτω εντολή δημιουργεί τη λίστα numbers
στην οποία αποθηκεύονται οι αριθμοί από 1 έως 5:
|
|
Όρισε τη λίστα score
έξω από τη συνάρτηση και αποθήκευσε σε αυτή δύο φορές την τιμή 0
(πριν αρχίσει το παιχνίδι οι πόντοι και των δύο παικτών είναι 0). Η πρώτη τιμή της λίστας αντιστοιχεί στους πόντους του πρώτου παίκτη και η δεύτερη τιμή στους πόντους του δεύτερου παίκτη.
|
|
Χρησιμοποίησε τη δομή επιλογής if
και τη μεταβλητή winner
(στην οποία αποθήκευσες τον αριθμό του παίκτη που νίκησε) για να αυξήσεις κατά 1 το σκορ του πρώτου ή του δεύτερου παίκτη, στο τέλος κάθε γύρου.
Σε κάθε αντικείμενο μίας λίστας ανατίθεται ένας αριθμός στο εύρος από 0
έως n – 1
, όπου n
είναι ο αριθμός των στοιχείων που περιέχει η λίστα. Έχεις πρόσβαση σε ένα στοιχείο μίας λίστας χρησιμοποιώντας τον αριθμό που αντιστοιχεί σε αυτό. Για παράδειγμα, σε μία λίστα που ονομάζεται list1
, για να χρησιμοποιήσεις το πρώτο στοιχείο της γράφεις list1[0]
, ενώ για το τρίτο στοιχείο της list1[2]
.
|
|
Θα εμφανίσεις το σκορ του παιχνιδιού στη μορφή «1-3». Η πρώτη τιμή αντιστοιχεί στους πόντους του πρώτου παίκτη και η δεύτερη στους πόντους του δεύτερου παίκτη. Για να εκτυπώσεις το αποτέλεσμα με αυτή την μορφή χρησιμοποίησε την εντολή:
|
|
Η συνάρτηση basic.show_string()
χρησιμοποιείται για την εκτύπωση χαρακτήρων. Για αυτό τον λόγο, οι τιμές score[0]
και score[1]
, που είναι αριθμοί, πρέπει πρώτα να μετατραπούν σε χαρακτήρες με τη συνάρτηση str()
. Το σύμβολο +
χρησιμοποιείται για τη συνένωση δύο μεταβλητών τύπου string. Για παράδειγμα, το τμήμα κώδικα:
|
|
θα εμφανίσει: “Hello, John!”.
Αντίστοιχα με το πρώτο μέρος της άσκησης, χρησιμοποίησε τις εντολές pause()
και clear_screen()
μεταξύ των διάφορων εναλλαγών εικόνας στην οθόνη του micro:bit.
Συγχαρητήρια! Δημιούργησες ένα ολοκληρωμένο παιχνίδι Πέτρα-Ψαλίδι-Χαρτί με Python και micro:bit. Μπορείς να κατεβάσεις τον κώδικα του παιχνιδιού από το προσωπικό μου GitHub repository.
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.