Γραφικά υπολογιστών Εργαστήριο 2 Παιχνίδια μαντεύματος με τυχαίους αριθμούς και loops

Σχετικά έγγραφα
Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

Δομές Επανάληψης. Εισαγωγή στη C++

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Γραφικά υπολογιστών Εργαστήριο 9 Κλάσεις στην Python. Σκοπός της 9ης άσκησης είναι να μάθουμε αντικειμενοστρεφή προγραμματισμό στην Python.

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Σημειωματάριο Τετάρτης 25 Οκτ. 2017

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Ψευδοκώδικας. November 7, 2011

οριακό PASS 402 PASS Πολύ σωστά, µπράβο οριακό PASS

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Θέματα Προγραμματισμού Η/Υ

Τυχαίοι αριθμοί ρίξε μια «ζαριά»

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

9. Εντολές επανάληψηςκαι η εντολή

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 4/11/2014, 22:00

Εισαγωγή στους Υπολογιστές

Εντολές ελέγχου ροής if, for, while, do-while

Δομημένος Προγραμματισμός

Θέματα Προγραμματισμού Η/Υ

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

Εισαγωγή στην πληροφορική

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

Κεφάλαιο 13: Φτιάχνοντας παιχνίδια

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

18.ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1 Δραστηριότητα 1

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

Πληρουορική Γ Γσμμασίοσ

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ

Κεφάλαιο 6: Οι δομές ελέγχου ροής

Mπαρμπούτι. Φύλλο Εργασίας. Τυχαιότητα

Πληροφορική ΙΙ Θεματική Ενότητα 7

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58

Μάντεψε τον Αριθμό. Έχω Ένα Μυστικό. Το Βρήκα;

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Εισαγωγή στη γλώσσα προγραμματισμού C++

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 3

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Σημειωματάριο Δευτέρας 23 Οκτ. 2017

ΚΕΦΑΛΑΙΟ 5. Eπανάληψη με την εντολή while. 5.1 Εισαγωγή

ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Μάντεψε τον Αριθμό. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Οδηγίες

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

ΕΝΤΟΛΕΣ. 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα

Οδηγός Ασκήσεων Υποδικτύωσης

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)

Mπαρμπούτι. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Τυχαιότητα

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Εισαγωγή στην επανάληψη

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Πληροφορική ΙΙ Θεματική Ενότητα 9

Μάντεψε τον Αριθμό Φύλλο Εργασίας 2

Λειτουργικά Συστήματα

2 ο Εργαστήριο Αλληλεπίδραση και Animation

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

ΕΝΤΟΛΕΣ. 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα

Μεθόδων Επίλυσης Προβλημάτων

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα

Ένα παιχνίδι των πολυγώνων

Υπολογιστικά & Διακριτά Μαθηματικά

Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

Παιχνίδια σε Javascript

Button & MotionSensor

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Εισαγωγή στην επανάληψη

Μάντεψε τον Αριθμό. Φύλλο Εργασίας. Οδηγίες

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

Προγραμματισμός και Εφαρμογές Υπολογιστών

Στοιχεία Θεωρίας Αριθμών Και Εφαρμογές Στην Κρυπτογραφία. Linux Random Number Generator

Υπολογισμός - Εντολές Επανάληψης

ΕΠΑΝΑΛΗΨΗ ΧΩΡΙΣ ΠΡΟΚΑΘΟΡΙΣΜΕΝΑ ΒΗΜΑΤΑ,ΜΕΤΡΗΤΕΣ,ΜΕΓΙΣΤΟΣ,ΜΕΓΙΣΤΟ ΟΝΟΜΑ Χαμηλόμισθος

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το

Διορθώσεις σελ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Δομές επανάληψης

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

KTurtle. KTurtle του KDE. KTurtle (καμβάς), Επεξεργαστής Κώδικα και Επιθεωρητής (Εικόνα 2.1). Στην Κονσόλα (Εκτελεστής) Επιφάνεια Εργασίας (καμβάς)

Εισαγωγή 6. Είσοδος στα Windows και οθόνη κλειδώματος 11. Οι πρώτες ρυθμίσεις των Windows H επιφάνεια εργασίας 49

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Transcript:

Γραφικά υπολογιστών Εργαστήριο 2 Παιχνίδια μαντεύματος με τυχαίους αριθμούς και loops Σκοπός της 2ης άσκησης είναι να μάθουμε να φτιάχνουμε loops, τα οποία θα χρησιμοποιούνται για την επανάληψη μέρους του κώδικα. Τα περισσότερα παιχνίδια επαναλαμβάνουν συνέχεια τον κώδικά τους. 1. Ένα απλό παιχνίδι μαντεύματος αριθμού Ας δούμε ένα απλό παιχνίδι στο οποίο ο υπολογιστής σκέφτεται έναν αριθμό και ο χρήστης έχει έναν αριθμό από προσπάθειες προκειμένου να τον μαντέψει. : Θα σκέφτεστε ήδη τι σχέση έχει αυτό με τα γραφικά, κάποιος μας κοροϊδεύει και άλλα τέτοια! Στην πραγματικότητα, για να φτιάξουμε ένα παιχνίδι, θα πρέπει να γνωρίζουμε άριστα τη χρήση των loops. Όσοι ασχολείστε με παιχνίδια, θα είστε σίγουρα εξοικειωμένοι με τον όρο fps (frames per second). Πρόκειται για τον αριθμό των καρέ που ζωγραφίζονται ανά δευτερόλεπτο. Όσο περισσότερα είναι αυτά, τόσο πιο ομαλή μας φαίνεται η κίνηση. Με πολύ απλά λόγια, η λογική ενός παιχνιδιού με γραφικά είναι η παρακάτω:

Μέσα στο loop Draw Everything μπορεί να υπάρχει κι άλλο ένα loop. Π.χ. το παραπάνω θα μπορούσε να είναι κάτι τέτοιο: 2. Loops στην Python Τα βασικά loops στην Python είναι το for και τo while. Για να σκεφτόμαστε και λίγο προσανατολισμένα προς τα παιχνίδια, ένα for loop μπορεί να χρησιμοποιηθεί για να επαναλάβει κάτι έναν προκαθορισμένο αριθμό από φορές, ενώ ένα while για να επαναλάβει κάτι εώς ότου ο παίκτης προβεί σε κάποια ενέργεια, π.χ. πατήσει ένα κουμπί. Το ακόλουθο for loop θα τυπώσει ένα μύνημα 5 φορές. Προσέξτε τη σύνταξη, ίσως σας ξενίσει κάπως στην αρχή. Προσέξτε και τη στοίχιση. Ισχύουν οι κανόνες που είδαμε στο if: Ίσως το παραπάνω να μην αποδειχθεί υπερβολικό. Το i είναι προφανώς ο μετρητής, ενώ το range είναι αυτό που καθορίζει τον αριθμό των επαναλήψεων. Αν για παράδειγμα θέλαμε να τυπώσουμε τους αριθμούς από το 1 εώς το 10, θα αρκούσε κάτι τέτοιο:

H range μπορεί να χρησιμοποιηθεί και κάπως διαφορετικά. Δοκιμάστε το παρακάτω: Δοκιμάστε να τυπώσετε τους αριθμούς ανάποδα με range(11,1). Τι παρατηρείτε; Θα πρέπει με κάποιο τρόπο να επιβάλλουμε στην range ένα συγκεκριμένο βήμα. Δείτε το ακόλουθο παράδειγμα, που κάνει αυτό που θέλουμε: Κάποιες φορές, οι αριθμοί που επιθυμούμε να επαναληφθούν δεν μπορούν έυκολα να προκύψουν από έναν μαθηματικό τύπο. Για το λόγο αυτό, η Python μας επιτρέπει να χρησιμοποιήσουμε μια συγκεκριμένη λίστα: 3. Nested Loops στην Python Το παρακάτω δεν είναι ένα nested loop στην Python. Τι περιμένετε ότι θα τυπώσει; Αντίθετα, με λίγη προσοχή στη στοίχιση, μπορεί εύκολα να μετατραπεί σε nested loop: Άσκηση: Να φτιάξετε ένα πρόγραμμα που να υπολογίζει το άθροισμα των αριθμών από 1 εώς 100. Άσκηση: Να φτιάξετε ένα πρόγραμμα που ζητάει 5 τιμές από το χρήστη και να υπολογίζει πόσες φορές αυτός έδωσε την τιμή 0. 4. While Loops στην Python Ένα while loop μπορεί να χρησιμοποιηθεί οπουδήποτε μπορεί να χρησιμοποιηθεί και ένα for loop. Ωστόσο το τελευταίο είναι πολύ πιο εύκολο να προγραμματισθεί. Για το ακόλουθο for loop:

το αντίστοιχο while loop είναι το παρακάτω: Η σύνταξη του while μας είναι γνώριμη. Ένας φρουρός, τo i χρησιμοποιείται για να ελέγχει τον τερματισμό του βρόχου. Μια πολύ χρήσιμη εφαρμογή του while στα παιχνίδια είναι π.χ. να περιμένει το χρήστη να πατήσει κάποιο κουμπί προκειμένου να εγκαταλείψει: 5. Τυχαίοι Αριθμοί Η Python από μόνη της δεν ξέρει πώς να φτιάξει τυχαίους αριθμούς. Ωστόσο με τη βοήθεια κατάλληλης βιβλιοθήκης, κάτι τέτοιο είναι σχετικά απλό να γίνει, γράφοντας import random. Στη συνέχεια μπορούμε να δημιουργούμε τυχαίους αριθμούς. Π.χ. για να δημιουργήσουμε έναν τυχαίο αριθμό από το 0 ως το 50: Στα δύο πρώτα παραδείγματα, όταν το δίνουμε μοναδική τιμή, εννοείται ότι το εύρος από το οποίο θα εξαχθεί η τυχαία τιμή είναι από 0 εώς την τιμή που δίνουμε (εδώ 50) ενώ στα επόμενα δύο το εύρος είναι από 10 εώς 50. Μπορούμε να χρησιμοποιήσουμε λίστες, προκειμένου να πάρουμε τυχαία στοιχεία από αυτές. Π.χ. για ένα παιχνίδι πέτρα-ψαλίδι-χαρτί:

Μέχρι τώρα είδαμε παραδείγματα τυχαίων ακεραίων αριθμών. Μπορούμε να πάρουμε έναν τυχαίο δεκαδικό αριθμό από 0 εώς 1 ως εξής: και αν θέλουμε π.χ. από 10 εώς 15, πρέπει να διαθέτουμε γνώσεις μαθηματικών: Άσκηση: Να υλοποιήσετε το παιχνίδι μαντεύματος που παρουσιάστηκε στην αρχή της άσκησης. Άσκηση: Στη σειρά The Big Bang Theory, ο Sheldon κάνει ένα reboot του γνωστού σε όλους μας Πέτρα Ψαλίδι Χαρτί σε Πέτρα Ψαλίδι Χαρτί Σποκ Σαύρα. Με βάση το παρακάτω διάγραμμα στο οποίο φαίνονται οι κανόνες του παιχνιδιού, να προσπαθήσετε να φτιάξετε μια command line έκδοση του παιχνιδιού.