«ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ ΓΛΩΣΣΑ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ BINARY DROIDS»

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "«ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ ΓΛΩΣΣΑ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ BINARY DROIDS»"

Transcript

1 Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Α.Ε.Μ «ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ ΓΛΩΣΣΑ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ BINARY DROIDS» (Learning Games Development in Python: The Binary Droids Game) ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΤΑΥΡΟΣ Επ. Καθηγητής ΘΕΣΣΑΛΟΝΙΚΗ 2015

2

3 ΠΕΡΙΛΗΨΗ Π Ε Ρ Ι Λ Η Ψ Η Αντικείμενο της παρούσας εργασίας είναι η παιχνιδοκεντρική μάθηση και η ανάπτυξη ενός εκπαιδευτικού παιχνιδιού. Με την ανάπτυξη της τεχνολογίας στις μέρες μας, η διαδικασία της εκπαίδευσης και της μάθησης έχουν αλλάξει δραματικά. Η μάθηση δεν είναι πλέον μια κλασσική διαδικασία που στηρίζεται μόνο στα βιβλία. Η εργασία ασχολείται με την παιχνιδοκεντρική μάθηση και τη χρήση των παιχνιδιών σε αυτή τη διαδικασία, ενώ περιγράφεται και η ανάπτυξη ενός τέτοιου εκπαιδευτικού παιχνιδιού. Στο πρώτο μέρος περιγράφεται η έννοια της παιχνιδοκεντρικής μάθησης, εκείνης της διαδικασίας μάθησης που χρησιμοποιεί ως μηχανισμό το παιχνίδι. Επίσης περιγράφονται οι διάφορες κατηγορίες εκπαιδευτικών παιχνιδιών. Στο δεύτερο μέρος γίνεται αναφορά στη γλώσσα Python, το μοντέλο εκτέλεσής της και την ιστορία της. Έπειτα γίνεται αναφορά στη βιβλιοθήκη Pygame και στα εργαλεία που χρησιμοποιήθηκαν στην ανάπτυξη του παιχνιδιού. Στο τρίτο μέρος της εργασίας αναλύεται η υλοποίηση ενός εκπαιδευτικού ψηφιακού παιχνιδιού με τίτλο «Binary Droids», υλοποιημένο σε Python, με χρήση της Pygame. Το παιχνίδι έχει σκοπό την εκμάθηση μιας βασικής έννοιας της Πληροφορικής, αυτήν του δυαδικού συστήματος αρίθμησης, και της μετατροπής αριθμών από το δυαδικό σύστημα στο γνωστό σε όλους δεκαδικό. Το παιχνίδι χρησιμοποιεί επιβραβεύσεις και ποινές, όταν ο χρήστης εκτελεί τις μετατροπές των αριθμών σωστά και όταν τις εκτελεί λάθος, αντίστοιχα. Όσο ο χρήστης επιβραβεύεται για τις επιδόσεις του στο παιχνίδι, ανεβαίνει επίπεδα και συνεπώς αυξάνεται και η δυσκολία. Μετά το πέρας του παιχνιδιού, ο παίκτης έχει μια καλύτερη εικόνα του δυαδικού αριθμητικού συστήματος και του τρόπου λειτουργίας του. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' III

4

5 ABSTRACT A BST R A C T The subject of this thesis is game-based learning and the subsequent development of a learning game. Given the steep rise of technology in our days, the learning and the education process have changed dramatically. Learning is no more a conventional process based solely on books. This thesis focuses on game-based learning and the use of games in that process, while the development of an educational game is described. The first part describes the concept of game-based learning, the learning process using games as a device. Furthermore, there are references to different educational game categories. The second part focuses on the programming language Python, its execution model and its history. Later on, the second part focuses on the Pygame library and specific modules that were used in the development of the game. In the third part, the development of the game, titled Binary Droids, which was developed in Python, with the aid of the Pygame library, is analyzed. The game s purpose is the teaching of a fundamental concept in computer science, that of the binary numerical system, and the conversion of binary numbers to the already known decimal system. The game uses rewards and penalties when the player converts the numbers correctly and when he converts them mistakenly, respectively. While the player receives rewards for his achievements, he climbs up the game levels, therefore climbing up the difficulty levels. After the game is over, the player has a clearer picture of the binary numerical system and its functionality. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' V

6

7 ΕΥΧΑΡΙΣΤΙΕΣ Ε Υ Χ Α Ρ Ι Σ Τ Ι Ε Σ Πριν την παρουσίαση των αποτελεσμάτων της παρούσας εργασίας, αισθάνομαι την υποχρέωση να ευχαριστήσω ορισμένους από τους ανθρώπους που γνώρισα, συνεργάστηκα μαζί τους και έπαιξαν πολύ σημαντικό ρόλο στην πραγματοποίησή της. Θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή κ. Δημητριάδη, για τη βοήθειά του και την καθοδήγησή του. Ευχαριστώ τους φίλους και συναδέλφους, πολλοί από τους οποίους έχουν ζήσει και οι ίδιοι τη διαδικασία της πτυχιακής εργασίας, για τις συμβουλές τους και το σημαντικό feedback για το παιχνίδι μου. Θέλω να ευχαριστήσω την οικογένειά μου για την ενθάρρυνση και την πολύτιμη συμπαράσταση της όλους αυτούς τους μήνες που ασχολούμαι με την εργασία, και όσα χρόνια φοιτώ στη σχολή, καθώς και τις φίλες μου και τους φίλους μου για τη σημαντική ψυχολογική υποστήριξη τους. Επίσης, θα ήθελα να ευχαριστήσω όσα άτομα έκαναν τη δουλειά μου όλον αυτόν τον καιρό πιο εύκολη, με ενέπνευσαν και έμμεσα με στήριξαν, μέσω της κωμωδίας και της μουσικής. 04/07/2015 Αντωνία Στράντζη ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' VII

8

9 ΠΕΡΙΕΧΟΜΕΝΑ Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α ΠΕΡΙΛΗΨΗ... III ABSTRACT... V ΕΥΧΑΡΙΣΤΙΕΣ... VII ΠΕΡΙΕΧΟΜΕΝΑ... IX ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΚΕΦΑΛΑΙΟ 2: ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ Ο ΟΡΟΣ GAMEPLAY ΚΑΤΗΓΟΡΙΕΣ ΠΑΙΧΝΙΔΙΩΝ ΑΝΑΠΤΥΞΗ ΨΗΦΙΑΚΩΝ ΠΑΙΧΝΙΔΙΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΜΑΔΑ ΑΝΑΠΤΥΞΗΣ ΕΡΓΑΛΕΙΑ ΣΥΓΓΡΑΦΗΣ ΠΑΙΧΝΙΔΙΩΝ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΒΑΣΙΚΟΙ ΠΑΡΑΓΟΝΤΕΣ ΔΟΜΗΣ ΚΑΙ ΟΡΓΑΝΩΣΗΣ ΠΑΙΧΝΙΔΙΩΝ ΣΧΕΣΗ ΣΕΝΑΡΙΟΥ ΚΑΙ ΠΑΙΧΝΙΔΙΟΥ ΜΑΘΗΣΗΣ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ ΤΟ ΜΟΝΤΕΛΟ PRENSKY ΕΜΠΛΟΚΗ ΤΩΝ ΜΑΘΗΤΩΝ ΣΤΟ ΠΑΙΧΝΙΔΙ ΚΕΦΑΛΑΙΟ 3: Η ΓΛΩΣΣΑ PYTHON ΚΑΙ Η ΒΙΒΛΙΟΘΗΚΗ PYGAME Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PYTHON ΤΟ ΜΟΝΤΕΛΟ ΕΚΤΕΛΕΣΗΣ ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' IX

10 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ ΙΣΤΟΡΙΑ ΕΚΔΟΣΕΙΣ ΧΡΗΣΗ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ (IDE) Η ΒΙΒΛΙΟΘΗΚΗ PYGAME MODULES, ΜΕΘΟΔΟΙ ΚΑΙ ΚΛΑΣΕΙΣ ΤΗΣ PYGAME MODULE: PYGAME MODULE: DISPLAY ΚΛΑΣΗ: SURFACE MODULE: SPRITE ΚΛΑΣΗ: RECT MODULE: IMAGE MODULE: TRANSFORM MODULE: MOUSE MODULE: TIME MODULE: MUSIC MODULE: FONT ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» ΤΟ ΣΕΝΑΡΙΟ ΚΑΙ Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ ΤΟ ΣΕΝΑΡΙΟ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ Ο ΜΗΧΑΝΙΣΜΟΣ ΜΑΘΗΣΗΣ Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ Ο ΣΚΟΠΟΣ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ ΕΠΙΒΡΑΒΕΥΣΕΙΣ / ΠΟΙΝΕΣ ΠΡΟΣΘΕΤΕΣ ΕΠΙΛΟΓΕΣ ΤΟ INTERFACE ΤΟ ΜΕΝΟΥ ΚΛΑΣΕΙΣ ΚΛΑΣΗ BUTTON ΚΛΑΣΗ PLANET ΚΛΑΣΗ DROID ΚΛΑΣΗ SPEECHBUBBLE ΚΛΑΣΗ HEALTHBAR ΚΛΑΣΗ TEXT ΜΕΘΟΔΟΙ CHECKAREA GENERATEBINARYNUMBER X ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

11 ΠΕΡΙΕΧΟΜΕΝΑ GETDECIMALANSWER CHECKTOOMANY ADJUSTMINMAXBIN VIEWSCORES UPDATESCORES Η ΠΟΡΕΙΑ ΤΟΥ ΠΑΙΧΝΙΔΟΥ ΣΕ ΣΤΑΔΙΑ (STAGES) ΣΤΑΔΙΟ ΣΤΑΔΙΟ ΣΤΑΔΙΟ ΣΤΑΔΙΟ ΣΤΑΔΙΟ ΣΤΑΔΙΟ ΣΤΑΔΙΟ ΣΤΑΔΙΟ ΚΕΦΑΛΑΙΟ 5: ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΑΡΑΡΤΗΜΑ I: ΑΝΑΦΟΡΕΣ ΠΑΡΑΡΤΗΜΑ II: ΑΚΡΩΝΥΜΑ ΠΑΡΑΡΤΗΜΑ III: ΓΛΩΣΣΑΡΙΟ ΠΑΡΑΡΤΗΜΑ IV: ΕΥΡΕΤΗΡΙΟ ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' XI

12

13 Κ Ε Φ Α Λ Α Ι Ο 1 : Ε Ι Σ Α Γ Ω Γ Η

14

15 ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΕΙΣΑΓΩΓΗ Αντικείμενο της παρούσας εργασίας είναι η παιχνιδοκεντρική μάθηση και η υλοποίηση εκπαιδευτικών παιχνιδιών. Η εργασία δομείται σε κεφάλαια ως εξής: Στο Κεφάλαιο 2 περιγράφονται οι έννοιες της παιχνιδοκεντρικής μάθησης και των εκπαιδευτικών παιχνιδιών. Στο Κεφάλαιο 3 αναλύεται η γλώσσα Python και η βιβλιοθήκη Pygame. Στο Κεφάλαιο 4 γίνεται εμβάθυνση στο σενάριο και τον κώδικα του παιχνιδιού «Binary Droids». Στο Παράρτημα I παρουσιάζονται η βιβλιογραφία και οι δικτυακοί τόποι που αναφέρονται στην εργασία. Στο Παράρτημα IΙ παρουσιάζονται τα ακρωνύμια τα οποία χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. Στο Παράρτημα IIΙ παρουσιάζεται το γλωσσάριο ξενικών όρων οι οποίοι χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. Στο Παράρτημα IV παρουσιάζεται το ευρετήριο των όρων οι οποίοι χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 15

16

17 Κ Ε Φ Α Λ Α Ι Ο 2 : Ε Κ Π Α Ι Δ Ε Υ Τ Ι Κ Α Π Α Ι Χ Ν Ι Δ Ι Α Κ Α Ι Π Α Ι Χ Ν Ι Δ Ο Κ Ε Ν Τ Ρ Ι Κ Η Μ Α Θ Η Σ Η

18

19 ΚΕΦΑΛΑΙΟ 2: ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ Η ραγδαία ανάπτυξη της ψηφιακής τεχνολογίας στις μέρες μας, έχει κάνει τα ψηφιακά παιχνίδια ιδιαίτερα προσιτά, σε πολύ κόσμο και σε πολλές διαφορετικές πλατφόρμες. Αυτή η διείσδυση των ψηφιακών παιχνιδιών στην καθημερινότητά μας, έχει επηρεάσει και τομείς όπως η εκπαίδευση. Χρησιμοποιώντας την ψηφιακή τεχνολογία, τα ψηφιακά παιχνίδια και τεχνικές που βασίζονται πάνω σε αυτά, οι διαδικασίες της εκπαίδευσης και της μάθησης έχουν αλλάξει δραματικά. Η μάθηση πλέον δεν είναι η κλασική διαδικασία που ήταν παλιότερα, ενώ τα εργαλεία που χρησιμοποιούνται δεν είναι μόνο τα βιβλία. Για να χρησιμοποιηθεί ένα παιχνίδι αποτελεσματικά σε μια διαδικασία μάθησης, είτε είναι ψηφιακό είτε όχι, πρέπει να συνδυάζει μαθησιακά στοιχεία αλλά ταυτόχρονα και όλα αυτά τα χαρακτηριστικά που κάνουν ένα παιχνίδι ενδιαφέρον και διασκεδαστικό. Αν το παιχνίδι δεν είναι αρκετά διασκεδαστικό και δε βάζει το μαθητή σε μια «λειτουργία» ανταγωνισμού, είτε με τον εαυτό του είτε με άλλους, τότε η γνώση δεν εμπεδώνεται με την παραστατικότητα που μπορεί ένα καλό παιχνίδι να προσφέρει. 2.1 ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ Οι Alessi και Trolip όρισαν το παιχνίδι ως «μια δομημένη ή ημιδομημένη δραστηριότητα ανταγωνιστικού χαρακτήρα, ατομική ή ομαδική, που γίνεται για ψυχαγωγικούς σκοπούς ακολουθώντας ορισμένους κανόνες για την επίτευξη κάποιου στόχου, ώστε να ανακηρυχθεί ένας η περισσότεροι νικητές». [2] Ως ψηφιακό παιχνίδι ορίζεται ένα παιχνίδι που παίζεται σε σύγχρονες ψηφιακές πλατφόρμες. Οι πλατφόρμες αυτές μπορεί να είναι: Οι γνωστές παιχνιδομηχανές τελευταίας τεχνολογίας: PlayStation και το φορητό του ανάλογο, το PSP (PlayStation Portable), Xbox, Wii, Nintendo. Υπολογιστές, όπου ο παίκτης μπορεί να παίξει ένα παιχνίδι είτε σε μορφή standalone εφαρμογής, είτε συνδεδεμένος σε κάποιο δίκτυο με άλλους παίκτες, οι οποίοι έχουν ρόλους συμμάχων και αντιπάλων. Φορητές συσκευές, όπως tablets και κινητά. Τα ψηφιακά παιχνίδια σε τέτοιου είδους συσκευές έχουν γίνει ιδιαίτερα δημοφιλή τα τελευταία χρόνια, με την παρουσία υπηρεσιών όπως το App Store της Apple και το Play Store της Google, όπου οι χρήστες μπορούν να επιλέξουν ανάμεσα σε εκατοντάδες δωρεάν παιχνίδια. [10] Ο όρος gameplay Ένας όρος που χρησιμοποιείται στο χώρο των παιχνιδιών είναι το «gameplay». Με τον όρο «gameplay» εννοείται ο τρόπος με τον οποίο οι παίκτες αλληλεπιδρούν με το ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 19

20 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ παιχνίδι που παίζουν. Αρχικά ο όρος ήταν συνδεδεμένος κυρίως με ψηφιακά παιχνίδια αλλά πλέον χρησιμοποιείται και για παραδοσιακά παιχνίδια. Υπάρχουν κάποιες παραλλαγές στην ερμηνεία του gameplay. Οι Rollings και Adams υποστηρίζουν ότι «το gameplay αναφέρεται στο συνδυασμό των προκλήσεων που συναντά ο χρήστης στο παιχνίδι και των ενεργειών που εφαρμόζει ώστε να ανταποκριθεί σε αυτές». [6] Ο Juul δίνει τον ορισμό «η καθαρή διάδραση του παιχνιδιού». [3] Ο Rouse αναφέρει ότι το gameplay είναι «το αποτέλεσμα της συσχέτισης εισόδου και εξόδου μέσω επιλογών του χρήστη, και αποκρίσεων του παιχνιδιού». [7] Ο όρος gameplay έχει δεχτεί αρνητική κριτική γιατί δεν ορίζει κάποιο συγκεκριμένο χαρακτηριστικό ή κατάσταση του παιχνιδιού, καθώς μπορεί να αναφέρεται στη γενικότερη ποιότητα του παιχνιδιού, στο επίπεδο δυσκολίας του ή ακόμα και στη δυνατότητα έξαψης του ενδιαφέροντος στους παίκτες. Οι Rollings και Adams υποστηρίζουν πως δεν υπάρχει καθολικά αποδεκτός όρος για το gameplay, καθώς αποτελεί τη συνισταμένη διάφορων στοιχείων του παιχνιδιού. Για αυτό το λόγο, το gameplay εξετάζεται πάνω σε συγκεκριμένα παραδείγματα παιχνιδιών, ώστε να αποφανθεί κατά πόσο καλά εφαρμόζεται σε κάθε παιχνίδι η έννοια αυτή. [10] Κατηγορίες παιχνιδιών Με βάση το gameplay τους, τα παιχνίδια χωρίζονται συνήθως στις εξής κατηγορίες: Παιχνίδια δράσης: ο παίκτης ελέγχει το avatar του πρωταγωνιστή, μέσω του οποίου συλλέγει αντικείμενα, αποφεύγει εμπόδια και χρησιμοποιεί διάφορες τεχνικές για να μάχεται εναντίον εχθρών. Παιχνίδια στρατηγικής: ο παίκτης εφαρμόζει μία γενική στρατηγική ώστε να φτάσει τους στόχους του. Παίζει μεγάλο ρόλο η δυνατότητα λήψης κατάλληλων αποφάσεων κατά τη διάρκεια του παιχνιδιού. Παιχνίδια άθλησης: λειτουργούν σαν περιβάλλοντα προσομοίωσης ενός πραγματικού αθλητικού παιχνιδιού. Σε προχωρημένα παιχνίδια, όπως Pro Evolution, NBA 2K κλπ., υπάρχουν ετησίως νέες εκδόσεις, έτσι ώστε τα παιχνίδια αυτά να συμβαδίζουν με τον πραγματικό κόσμο όσο το δυνατόν περισσότερο. Παιχνίδια περιπέτειας: τα παιχνίδια αυτά έχουν άμεση σχέση με αφηγηματικά μέσα όπως οι κινηματογραφικές ταινίες. Μέσα στα πλαίσια του παιχνιδιού, ο παίκτης υιοθετεί το ρόλο του πρωταγωνιστή και παίρνει μέρος σε μια διαδραστική ιστορία, μέσα στην οποία πρέπει να εξερευνήσει και να λύσει διάφορα είδη προβλημάτων που μπορούν να προκύψουν. Παιχνίδια προσομοίωσης: αναπαριστούν διάφορες καταστάσεις και δραστηριότητες που συμβαίνουν στον πραγματικό κόσμο. Ένα ιδιαίτερα δημοφιλές παιχνίδι προσομοίωσης είναι το Sims. Παιχνίδια ρόλου: οι παίκτες υιοθετούν ρόλους χαρακτήρων μέσα στο παιχνίδι, και έχουν την ευθύνη για την πρόοδο αυτού του χαρακτήρα μέσω δομημένων επιλογών. Παιχνίδια εξάσκησης ικανοτήτων και επιτραπέζια: είναι παιχνίδια στα οποία έχουν μεγάλη σημασία οι σωματικές ή διανοητικές ικανότητες του παίκτη, έτσι ώστε να φτάσει σε έναν τελικό στόχο. 20 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

21 ΚΕΦΑΛΑΙΟ 2: ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ Παιχνίδια τύχης: η έκβαση του παιχνιδιού καθορίζεται από την τύχη. Το πιο κλασσικό παιχνίδι τύχης είναι τα ζάρια. [10] Ανάπτυξη ψηφιακών παιχνιδιών Αρχιτεκτονική Η αρχιτεκτονική ενός ψηφιακού παιχνιδιού είναι βασική για τη διεκπεραίωση των επιμέρους εργασιών που θα εκτελεί. Σύμφωνα με τον McShaffry η αρχιτεκτονική ενός παιχνιδιού περιλαμβάνει πάντα τα εξής τρία τμήματα: Εφαρμογή: υλοποιεί τις βασικές λειτουργίες του παιχνιδιού. Το τμήμα αυτό περιλαμβάνει τη διαχείριση των περιφερειακών μονάδων εισόδου, της μνήμης, των αρχείων και του χρόνου εκτέλεσης του παιχνιδιού. Επίσης περιλαμβάνει την επικοινωνία με το λειτουργικό σύστημα και τη διαχείριση της εξέλιξης του παιχνιδιού. Λογική: υλοποιεί τους κανόνες εξέλιξης και διάδρασης του παιχνιδιού με τον εξωτερικό κόσμο. Οι κανόνες αυτοί αφορούν την κατάσταση του παιχνιδιού, τις δομές δεδομένων καθώς και τη βάση δεδομένων για τα αντικείμενα, τους νόμους φυσικής που ισχύουν ανάλογα με το σενάριο του παιχνιδιού και τη διαχείριση των γεγονότων στον κόσμο του παιχνιδιού και από τη μεριά του χρήστη. Εκτός από αυτά, μέρος του τμήματος της λογικής είναι η διαχείριση των προγραμματιστικών διεργασιών και ο διερμηνέας των εντολών του χρήστη από τη διεπαφή στο χαμηλότερο επίπεδο του προγραμματιστικού κώδικα. Οπτική: υλοποιεί την παρουσίαση του παιχνιδιού με χρήση (συνήθως) πολλαπλών οπτικών ανάλογα με τις ανάγκες εξέλιξης του παιχνιδιού. Μπορεί να διακρίνεται σε: «Human View», δηλαδή οι οπτικές θέασης του παιχνιδιού που αφορούν τον άνθρωπο-παίκτη, και «AI Agent View», που αφορούν αντίστοιχα το τμήμα τεχνητής νοημοσύνης του παιχνιδιού. Το τμήμα του «Human View» αυτό περιλαμβάνει τα εξής μικρότερα τμήματα: την οθόνη, τον ήχο, το διερμηνέα της εισόδου διεπαφής χρήστη, τη διαχείριση εργασιών που αφορούν την οπτική και τις επιλογές που έχει ο χρήστης για να ρυθμίσει τις λειτουργίες του παιχνιδιού με βάση τις προτιμήσεις του. Το τμήμα «AI (Artificial Intelligence) Agent View» περιλαμβάνει διερμηνέα ερεθισμάτων, για να ερμηνεύει οποιαδήποτε πληροφορία συμβάλλει στην εξέλιξη του παιχνιδιού, τμήμα αποφάσεων, όπου αποφασίζεται ποια θα είναι η απόκριση σε κάθε ερέθισμα, διαχείριση εργασιών για την AI οπτική και τις επιλογές που έχει ο χρήστης για να ρυθμίσει τη λειτουργία του AI τμήματος. [8][10] Ομάδα ανάπτυξης Σε μεγάλα παιχνίδια υψηλών απαιτήσεων, πρέπει να συγκροτηθεί μια ομάδα ανθρώπων από διάφορες ειδικότητες, έτσι ώστε να αναπτυχθεί το παιχνίδι αποτελεσματικά. Οι ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 21

22 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ τέσσερις βασικές ειδικότητες που πρέπει να εμπλακούν στη διαδικασία της ανάπτυξης είναι: Σεναριογράφος/Ψυχολόγος: ο άνθρωπος της ομάδας με αυτήν την ειδικότητα ασχολείται με τη δημιουργία του σεναρίου του παιχνιδιού και τις διάφορες εκδοχές που μπορεί να πάρει αυτό το σενάριο. Οι γνώσεις ψυχολογίας είναι απαραίτητες ώστε το σενάριο να είναι ενδιαφέρον, διασκεδαστικό και να προκαλεί συναισθήματα και σκέψεις. Σχεδιαστής/Αναλυτής: ο υπεύθυνος για τη μετατροπή του σεναρίου σε gameplay. Ο ρόλος περιλαμβάνει το σχεδιασμό των οθονών (storyboards) και την ανάλυση των τεχνικών θεμάτων που μπορούν να προκύψουν βάσει του σεναρίου. Προγραμματιστής: ο υπεύθυνος για τη συγγραφή του κώδικα με βάση τις οδηγίες του σχεδιαστή/αναλυτή. Η γλώσσα C++ είναι το βασικό εργαλείο του προγραμματιστή, αλλά συνήθως μπορούν να χρησιμοποιηθούν και άλλες γλώσσες για τη συγγραφή επιμέρους κομματιών. Ειδικός πολυμέσων: είναι αυτός ο οποίος έχει την ευθύνη όλων των πολυμέσων που θα συμμετέχουν στο παιχνίδι, όπως ήχοι, γραφικά, animation και βίντεο. [10] Εργαλεία συγγραφής παιχνιδιών Στις μέρες μας δεν είναι απαραίτητη η καλή γνώση προγραμματισμού, έτσι ώστε κάποιος να φτιάξει ένα παιχνίδι. Με συγκεκριμένα εργαλεία και κάποιες βασικές προγραμματιστικές γνώσεις, ο χρήστης μπορεί να φτιάξει το δικό του παιχνίδι. Τα εργαλεία αυτά είναι περιβάλλοντα που δίνουν τη δυνατότητα στο χρήστη να δημιουργήσει ένα παιχνίδι χρησιμοποιώντας ένα ενδιάμεσο επίπεδου προγραμματισμού, μέσω μιας διεπαφής. Σε αυτά τα περιβάλλοντα ο χρήστης μπορεί να δημιουργήσει εικονικούς κόσμους και οντότητες, τη λειτουργία και συμπεριφορά των οποίων μπορεί να ρυθμίσει με σχετικά απλές προγραμματιστικές τεχνικές. Με αυτές τις τεχνικές μπορεί επίσης να ρυθμίσει την εξέλιξη και τους κανόνες του παιχνιδιού. [10] Κάποια από τα πιο γνωστά εργαλεία συγγραφής παιχνιδιών είναι: Kodu (Microsoft) GameMaker (YoYo Games) Unity (Unity Technologies) Scratch (MIT, Media Lab) 22 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

23 ΚΕΦΑΛΑΙΟ 2: ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ 2.2 ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ Ένα εκπαιδευτικό παιχνίδι (ή παιχνίδι μάθησης) ορίζεται ως «μια οργανωμένη δραστηριότητα με μορφή παιχνιδιού που αποσκοπεί στο να προσφέρει συνδυασμό ψυχαγωγίας και μάθησης, δηλαδή στοχεύει σαφώς στην επίτευξη κάποιων μαθησιακών στόχων». [10] Πιο συγκεκριμένα, τα ψηφιακά παιχνίδια μάθησης μπορούν να οριστούν, σύμφωνα με τους Michael και Chen, ως «λογισμικό τύπου ψηφιακού παιχνιδιού που έχει όμως σχεδιαστεί ώστε να υποστηρίξει συγκεκριμένους εκπαιδευτικούς στόχους». [9] Ένα παιχνίδι μάθησης είναι ένα ψηφιακό παιχνίδι τα δύο εξής χαρακτηριστικά: Σενάριο παιχνιδιού: το γενικό σενάριο του παιχνιδιού που εμπλέκει το μαθητήπαίκτη δημιουργικά, του προκαλεί το ενδιαφέρον και τον διασκεδάζει. Συνηθισμένα σενάρια είναι ο παίκτης που πρέπει να αποφύγει εχθρούς ή να συγκρουστεί μαζί τους, να συλλέξει αντικείμενα, να μαζέψει πόντους κλπ.. Μηχανισμός μάθησης: οι τεχνικές μάθησης που χρησιμοποιούνται στα πλαίσια του παιχνιδιού. Πρόκειται για κάθε μηχανισμό που ενεργοποιεί γνωστικές διεργασίες του μαθητή-παίκτη ώστε να επεξεργαστεί όλες τις απαραίτητες πληροφορίες για την επίτευξη των στόχων του. Παράδειγμα μηχανισμού μάθησης είναι η εφαρμογή κάποιας συγκεκριμένης στρατηγικής ώστε ο παίκτης να μπορεί να περιηγηθεί μέσα στο παιχνίδι και να προχωρήσει στα επόμενα επίπεδα. [10] Βασικοί παράγοντες δομής και οργάνωσης παιχνιδιών Οι Alessi και Trolip περιγράφουν τους εξής παράγοντες που αφορούν τη δομή και οργάνωση ενός παιχνιδιού. Στόχος-σκοπός: ο στόχος που πρέπει να επιτευχθεί από τον παίκτη, και ο οποίος πρέπει να δηλώνεται εξ αρχής ή να συνάγεται στην πορεία του παιχνιδιού. Παραδείγματα είναι το κέρδισμα συγκεκριμένων πόντων, η άφιξη σε κάποιον συγκεκριμένο προορισμό, η εύρεση κάποιου αντικειμένου κ.α.. Κανόνες: οι οποίοι ορίζουν τις ενέργειες που επιτρέπονται στον παίκτη, καθώς οι περιορισμού που μπορεί να υπάρχουν. Ανταγωνισμός: η οντότητα την οποία πρέπει να ανταγωνιστεί ο παίκτης. Η οντότητα αυτή μπορεί να είναι ο εαυτός του, ο χρόνος, κάποιος άλλο παίκτης ή και ο υπολογιστής. Δυσκολία-πρόκληση: η δυσκολία που πρέπει να υπερνικήσει ο παίκτης για να φτάσει στο στόχο του. Το επίπεδο δυσκολίας συνήθως είναι προσαρμόσιμο ώστε ο παίκτης να παίζει το παιχνίδι που είναι συμβατό με τις ικανότητες του. Φαντασία: κατά πόσο το παιχνίδι μοιάζει με τον πραγματικό κόσμο. Τα περισσότερα παιχνίδια στηρίζονται σε φανταστικά σενάρια που προσομοιώνουν ρεαλιστικές συνθήκες του πραγματικού κόσμου. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 23

24 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Παίκτες (και ρόλοι παικτών): θέματα που αφορούν τους παίκτες του παιχνιδιού και τους ρόλους που υιοθετούν μέσα σε αυτό. Θέματα όπως πόσοι παίκτες μπορούν να συμμετέχουν, αν οι ρόλοι των παικτών μπορούν να αλλάζουν ή είναι συγκεκριμένοι, αν μπορούν να σχηματιστούν ομάδες μεταξύ των παικτών, αν ο υπολογιστής αποτελεί κι εκείνος έναν παίκτη, και πως θα εμφανίζονται οι παίκτες μέσα στο παιχνίδι. Κάποιοι ειδικοί παράγοντες είναι οι εξής: Εξοπλισμός: αν χρειάζεται να χρησιμοποιηθεί ειδικός εξοπλισμός για να παιχτεί το παιχνίδι. Οδηγίες: οι γενικές οδηγίες που εμφανίζονται στην αρχή του παιχνιδιού και οι τοπικές οδηγίες που μπορεί να εμφανιστούν στην πορεία. Περιορισμοί: συγκεκριμένες ενέργειες στις οποίες δεν μπορεί να προβεί ο χρήστης. Κυρώσεις: οι ποινές που επιβάλλονται σε περίπτωση που ο παίκτης παραβεί τους κανονισμούς. Επιλογές/ρυθμίσεις: ρυθμίσεις που μπορεί να κάνει ο παίκτης στην αρχή του παιχνιδιού, όπως να επιλέξει ταχύτητα, δυσκολία κλπ. Ασφάλεια: τα παιχνίδια προσφέρουν ένα ασφαλές περιβάλλον όπου ο παίκτης μπορεί να προβεί σε ενέργειες τις οποίες δε θα πραγματοποιούσε στον πραγματικό κόσμο. Σε ένα εκπαιδευτικό παιχνίδι ο σχεδιαστής πρέπει να δημιουργήσει συνθήκες που θα ενθαρρύνουν τους παίκτες να δοκιμάσουν στρατηγικές που μπορεί να οδηγήσουν ακόμα και σε αποτυχία, αλλά έμμεσα θα οδηγήσουν στη μάθηση. [2][10] Σχέση σεναρίου και παιχνιδιού μάθησης Ο μηχανισμός μάθησης πρέπει να είναι καλά ενσωματωμένος μέσα στο gameplay του παιχνιδιού, έτσι ώστε ο μαθητής να μαθαίνει όσο παίζει το παιχνίδι, χωρίς όμως αυτό να αποτελεί μια στεγνή και «βαρετή» για εκείνον διαδικασία. Η σχέση μηχανισμού μάθησης και gameplay μπορεί να χαρακτηριστεί με ένα από τα εξής, σύμφωνα με τους Alessi και Trolipp: Ενδογενής: όταν τα στοιχεία της μάθησης προωθούν την εξέλιξη του παιχνιδιού. Οι γνωστικές διεργασίες ενεργοποιούνται γιατί ο παίκτης νιώθει ότι αυτές θα τον βοηθήσουν στην επίτευξη των στόχων του, και όχι γιατί πρέπει να μάθει κάτι. Σχετική: τα στοιχεία μάθησης επηρεάζουν λογικά την πορεία του παιχνιδιού αλλά δεν είναι άρρηκτα συνδεδεμένα με το σενάριο. Παραδείγματα τέτοιων παιχνιδιών είναι τα παιχνίδια στα οποία ο παίκτης καλείται να απαντήσει μία ερώτηση έτσι ώστε να προχωρήσει σε κάποιο επίπεδο, αλλά αυτή η ερώτηση δεν έχει κάποια σχέση με το παιχνίδι. Αυθαίρετη: σε τέτοιου είδους παιχνίδια, ο μηχανισμός μάθησης είναι ξένος σε σχέση με το σενάριο του παιχνιδιού. Τέτοια παιχνίδια είναι συνήθως αυτά με 24 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

25 ΚΕΦΑΛΑΙΟ 2: ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ κλειστού τύπου ερωτήσεις, στις οποίες η σωστή απάντηση συνοδεύεται από μία θετική ενίσχυση (π.χ. πόντους στο σκορ). [2][10] ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 25

26 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ 2.3 ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ Η τάση που υπάρχει στις ημέρες μας για τη διερεύνηση και την αξιοποίηση της φιλοσοφίας και της πρακτικής του ψηφιακού παιχνιδιού στην εκπαίδευση, χαρακτηρίζεται ως παιχνιδοκεντρική μάθηση. Η παιχνιδοκεντρική μάθηση στοχεύει στη σχεδίαση, ανάπτυξη, εφαρμογή και αξιολόγηση ψηφιακών παιχνιδιών που έχουν συγκεκριμένο μαθησιακό στόχο. Γενικά στην παιχνιδοκεντρική μάθηση πρέπει να δημιουργούνται μαθησιακές εμπειρίες που θα οδηγήσουν στη σωστή εμπέδωση εννοιών του εκάστοτε γνωστικού πεδίου. Οι μαθησιακές όμως αυτές εμπειρίες πρέπει να προσφέρουν ταυτόχρονα ψυχαγωγία και την ικανοποίηση που προσφέρει ένα καλά σχεδιασμένο παιχνίδι. Για να αποκτήσει μια μαθησιακή εμπειρία ψυχαγωγικό χαρακτήρα, «επιστρατεύονται» οι καινοτόμες ψηφιακές τεχνολογίες, όπως οι φορητές συσκευές, το 3D animation, τα εργαλεία Web 2.0, η ρομποτική και οι απτικές διεπαφές. [10] Το μοντέλο Prensky O Prensky ανέπτυξε ένα ολοκληρωμένο μοντέλο σχετικά με τις ευκαιρίες μάθησης που μπορεί να προσφέρει ένα παιχνίδι. Στο μοντέλο αυτό διακρίνονται 5 επίπεδα: Πώς: Πως παίζεται το παιχνίδι, δηλαδή ποιος είναι ο τρόπος παιχνιδιού (gameplay). Ο παίκτης πρέπει να μάθει τις λειτουργίες του παιχνιδιού, όπως πως λειτουργούν οι χαρακτήρες του, πως λειτουργούν τα αντικείμενα, πως μπορεί να αλληλεπιδράσει ο παίκτης με το παιχνίδι χρησιμοποιώντας τις συσκευές εισόδου, πώς να αντιμετωπίσει εχθρούς άλλες ανάλογες ερωτήσεις που θα κάνουν τον παίκτη να κατανοήσει τον τρόπο λειτουργίας του παιχνιδιού. Τι: Τι επιτρέπεται και τι μπορεί να κάνει ο παίκτης, εν ολίγοις οι κανόνες του παιχνιδιού. Τι είναι επιτρεπτό να γίνει αλλά και τι απαγορεύεται, καθώς και οι συνέπειες κάποιας παράβασης. Γιατί: Γιατί να κάνει κάτι ο παίκτης; Αφορά τους λόγους για τους οποίους ακολουθείται κάποια συγκεκριμένη στρατηγική από τον παίκτη, και όχι κάποια άλλη. Η στρατηγική σχετίζεται με τη βαθύτερη κατανόηση για το πώς θα κερδίσει το παιχνίδι και μπορεί να είναι ισχυρό στοιχείο μάθησης σε παιχνίδια που απαιτούν εμβάθυνση και ανάλυση σε θέματα στρατηγικής (π.χ. σκάκι). Που: Που εξελίσσεται το παιχνίδι; Ποιος είναι ο κόσμος στον οποίο εξελίσσεται και ποιοι «νόμοι» φυσικοί και μη τον διέπουν, ποιες είναι οι ειδικές συνθήκες του κόσμου αυτού και ποια η πολιτιστική του ταυτότητα. Με τα σημερινά τεχνολογικά εργαλεία, η δημιουργία των «κόσμων» γίνεται ιδιαίτερα παραστατικά και με μεγάλη λεπτομέρεια κάνοντας τον παίκτη να εισχωρήσει ακόμα περισσότερο στον κόσμο αυτό, εντείνοντας έτσι και τη διαδικασία της μάθησης. Πότε/Εάν: Πότε πρέπει ο παίκτης να εφαρμόσει κάποια στρατηγική και αν είναι ηθικά σωστό να το κάνει. Το επίπεδο αυτό σχετίζεται με τη λήψη αποφάσεων από τη μεριά του παίκτη με βάση τις ηθικές αξίες που αναπτύσσει παίζοντας το παιχνίδι ή και αυτές που έχει ήδη σαν άνθρωπος. Εδώ η μάθηση ενισχύεται και 26 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

27 ΚΕΦΑΛΑΙΟ 2: ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ από γραφικά περιβάλλοντα και πολυμέσα τα οποία προκαλούν συναισθήματα στον παίκτη. Το μοντέλο του Prensky είναι ιδιαίτερα χρήσιμο στη σχεδίαση εκπαιδευτικών παιχνιδιών γιατί διευκολύνει τη σύνδεση του παιχνιδιού με τη μάθηση. Με τα 5 επίπεδα του μοντέλου το παιχνίδι αναλύεται σε επιμέρους άξονες και αποσαφηνίζονται ειδικότερες λειτουργίες του. Ο σχεδιαστής μπορεί να σχεδιάσει λειτουργίες και στοιχεία μάθησης για αυτούς τους ειδικότερους άξονες, κάνοντας τη διαδικασία της μάθησης πιο ομοιόμορφη. [4][5][10] Εμπλοκή των μαθητών στο παιχνίδι Η αξιοποίηση των εκπαιδευτικών παιχνιδιών εξαρτάται από τον τρόπο με τον οποίο οι μαθητές εμπλέκονται σε αυτό και το ρόλο που παίρνουν στη διαδικασία. Υπάρχουν τρεις διαφορετικές τεχνικές: Ο μαθητής έχει το ρόλο του παίκτη σε ένα έτοιμο παιχνίδι. Ο εκπαιδευτικός επιλέγει ένα έτοιμο παιχνίδι το οποίο θεωρεί πως έχει εκπαιδευτική αξία για τους μαθητές του. Τα εμπορικά παιχνίδια είναι επαγγελματικά σχεδιασμένα και προσφέρουν στον παίκτη μία ολοκληρωτική εμπειρία. Επίσης δεν πέφτει μεγάλο βάρος στον εκπαιδευτικό από άποψη σχεδίασης και μπορεί να εστιάσει στη διδασκαλία του υλικού που έχει στα χέρια του. Το μειονέκτημα αυτής της κατάστασης είναι ότι το έτοιμο παιχνίδι μπορεί να μην ανταποκρίνεται πλήρως στους μαθησιακούς στόχους που θέτονται. Ο μαθητής προγραμματίζει μερικώς ένα μισοέτοιμο παιχνίδι. Ο εκπαιδευτικός παρέχει στους μαθητές ένα παιχνίδι με μια συγκεκριμένη αρχιτεκτονική στο οποίο υλοποιούνται κάποιες βασικές λειτουργίες. Ο μαθητής μπορεί να ρυθμίσει διάφορες παραμέτρους του παιχνιδιού. Μέσω αυτής της τεχνικής ο μαθητής διεισδύει καλύτερα στα ενδότερα του παιχνιδιού και προωθείται η διερευνητική μάθηση. Ο εκπαιδευτικός πρέπει να έχει αρκετή εμπειρία στην ανάπτυξη παιχνιδιών και πρέπει να αφιερώσει χρόνο. Ο μαθητής αναπτύσσει ένα δικό του παιχνίδι. Οι μαθητές χρησιμοποιώντας κάποιο από τα εργαλεία ανάπτυξης παιχνιδιών που έχουν στη διάθεση τους, και είτε ατομικά είτε σε ομάδες, μετατρέπουν ένα σενάριο παιχνιδιού σε εκτελέσιμο παιχνίδι. Αυτή η τεχνική μπορεί να κρατήσει πολύ καιρό, έως και πολλές βδομάδες, και οι μαθητές χρειάζονται σημαντική υποστήριξη από τον εκπαιδευτικό ο οποίος πρέπει να κατέχει πολύ καλά το αντικείμενο και από άποψη σχεδίασης και από άποψη προγραμματισμού. [10] Οι τεχνικές αυτές θα μπορούσαν ενδεχομένως να ανατεθούν σε μαθητές με βάση την ηλικία. Μαθητές μικρότερης ηλικίας δεν κατέχουν τις γνώσεις που πρέπει για να ασχοληθούν με τον προγραμματισμό, έστω και σε πολύ εύκολο επίπεδο. Για αυτό η πρώτη τεχνική είναι μία καλή λύση για εκείνους. Η δεύτερη και η τρίτη τεχνική μπορούν να εφαρμοστούν σε μαθητές μεγαλύτερης ηλικίας με πιθανότατα καλύτερες ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 27

28 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ γνώσεις προγραμματισμού, και υπό την επίβλεψη εκπαιδευτικών εξοικειωμένων στον τομέα. 28 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

29 Κ Ε Φ Α Λ Α Ι Ο 3 : Η Γ ΛΩΣ Σ Α P Y T H O N Κ Α Ι Η Β Ι Β Λ Ι Ο Θ Η Κ Η P Y G A M E

30

31 ΚΕΦΑΛΑΙΟ 3: Η ΓΛΩΣΣΑ PYTHON ΚΑΙ Η ΒΙΒΛΙΟΘΗΚΗ PYGAME Η ΓΛΩΣΣΑ PYTHON ΚΑΙ Η ΒΙΒΛΙΟΘΗΚΗ PYGAME Το παιχνίδι με τίτλο «Binary Droids» είναι υλοποιημένο σε γλώσσα Python με επιπλέον χρήση των μεθόδων της βιβλιοθήκης Pygame, για τη δημιουργία των γραφικών του παιχνιδιού. 3.1 Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PYTHON Η Python είναι μία γλώσσα προγραμματισμού υψηλού επιπέδου. Άλλες γνωστές γλώσσες υψηλού επιπέδου είναι οι C, C++ και Java. Η αναγνωσιμότητα του κώδικα της και η σύνταξη της κάνουν την Python μια σημαντική γλώσσα ανάπτυξης προγραμμάτων καθώς επιτρέπει την υλοποίηση εννοιών με λιγότερες γραμμές κώδικα σε σχέση με άλλες γλώσσες. Ο Mark Lutz, στο βιβλίο του «Learning Python (5 th Edition)», παραθέτει τις βασικές απόψεις που έχουν προκύψει για την Python, από την εμπειρία του με χρήστες και μαθητές της γλώσσας: Ποιότητα λογισμικού: ο κώδικας της Python χαρακτηρίζεται από αναγνωσιμότητα και συνοχή. Αυτό την κάνει αυτομάτως μια πολύ δυνατή γλώσσα γιατί ο κώδικά της μπορεί να επαναχρησιμοποιηθεί και να συντηρηθεί πολύ πιο εύκολα σε σχέση με άλλες γλώσσες. Επίσης, υποστηρίζει πιο δύσκολες τεχνικές ανάπτυξης λογισμικού όπως την αντικειμενοστρέφεια και το συναρτησιακό προγραμματισμό. Παραγωγικότητα ως προς την ανάπτυξη: η Python είναι μία ιδιαίτερα ωφέλιμη γλώσσα διότι ο κώδικας της μπορεί να φτάσει το 1/3 ή ακόμα και το 1/5 του αντίστοιχου κώδικα σε γλώσσες όπως η Java και η C++. Αυτό σημαίνει λιγότερη πληκτρολόγηση και λιγότερος κώδικας για αποσφαλμάτωση και συντήρηση. Επιπροσθέτως, ο κώδικας Python «τρέχει» χωρίς τις χρονοβόρες διαδικασίες μεταγλώττισης που χρησιμοποιούν άλλα εργαλεία. Φορητότητα των προγραμμάτων: τα περισσότερα προγράμματα Python μπορούν να εκτελεστούν αμετάβλητα σε όλες τις γνωστές υπολογιστικές πλατφόρμες. Για παράδειγμα η μεταφορά κώδικα από Linux σε Windows είναι μια απλή διαδικασία αντιγραφής κι επικόλλησης μεταξύ των συστημάτων. Βιβλιοθήκες υποστήριξης: η Python συνοδεύεται από μια πολύ μεγάλη συλλογή προεγκατεστημένων και φορητών λειτουργιών οι οποίες αποτελούν τη standard library (SDL). Η βιβλιοθήκη αυτή υποστηρίζει διάφορες προγραμματιστικές διεργασίες. Εκτός όμως από τις προεγκατεστημένες επιλογές, υπάρχουν και third-party εφαρμογές που μπορούν να χρησιμοποιηθούν με την Python οι οποίες υποστηρίζουν λειτουργίες όπως κατασκευή ιστοσελίδων, αριθμητικό προγραμματισμό, ανάπτυξη παιχνιδιών κ.α.. Ενσωμάτωση: ο κώδικας σε Python μπορεί εύκολα να επικοινωνεί με άλλα μέρη μιας εφαρμογής μέσω μηχανισμών ενσωμάτωσης. Αυτοί οι μηχανισμοί επιτρέπουν στην Python να χρησιμοποιείται ως ένα εργαλείο προσαρμογής και ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 31

32 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ επέκτασης, να καλείται από προγράμματα γραμμένα σε άλλες γλώσσες και να επικοινωνήσει με συγκεκριμένα frameworks. Ικανοποίηση: η ευκολία της χρήσης της και των εργαλείων της κάνουν το προγραμματισμό στην Python περισσότερο χαρά παρά αγγαρεία. Αν και πιο υποκειμενικό ως άποψη, η ικανοποίηση μπορεί να φέρει μεγάλη παραγωγικότητα στον προγραμματιστή. Πέρα από αυτές τις απόψεις, ο Lutz δίνει τον εξής ορισμό: «η Python είναι μια γλώσσα προγραμματισμού γενικής χρήσης, η οποία εμπλέκει το διαδικασιακό, το συναρτησιακό και τον αντικειμενοστρεφή προγραμματισμό». [1] Η Python αναπτύσσεται ως ανοιχτό λογισμικό μέσω του μη κερδοσκοπικού οργανισμού Python Software Foundation. Οφείλει την ονομασία της στο γνωστό βρετανικό κωμικό γκρουπ Monty Python. [11] Το μοντέλο εκτέλεσης Συνήθως στις γλώσσες προγραμματισμού, όταν έχουμε μια εντολή τύπου: int x = 1, τη χαρακτηρίζουμε ως «η ακέραια μεταβλητή x περιέχει την τιμή 1». Αυτό το μοντέλο δεν ισχύει στην Python. Στην Python μια εντολή της μορφής: x = 1, σημαίνει «το όνομα x συνδέεται με το αντικείμενο με τιμή 1», καθώς το αντικείμενο δημιουργείται στη δεξιά μεριά της δήλωσης. Γενικά η Python δεν υποστηρίζει μεταβλητές, με την κλασσική έννοια, αλλά αντικείμενα και συνδέσεις. Τα αντικείμενα χωρίζονται σε mutable (μεταβλητά) και immutable (αμετάβλητα). Η τιμή των mutable αντικειμένων μπορεί να αλλάξει, σε αντίθεση με τη τιμή των immutable. Οι αριθμοί, τα strings και τα tuples (ομάδες) είναι immutable αντικείμενα, ενώ τα dictionaries και οι λίστες είναι mutable. Στην πράξη φαίνεται ότι οι τιμές των αριθμών ή των strings μπορούν να αλλάξουν, αλλά στην πραγματικότητα, με την αλλαγή της τιμής, δημιουργείται ένα καινούριο αντικείμενο το οποίο συνδέεται με το όνομα του «παλιού» αντικειμένου. Το «παλιό» αντικείμενο παραμένει αμετάβλητο αλλά χωρίς να είναι συνδεδεμένο πλέον σε κάποιο όνομα. [19][20] Ιστορία Ο δημιουργός της Python είναι ο Ολλανδός προγραμματιστής Guido van Rossum. Απόφοιτος του πανεπιστημίου του Amsterdam, ο Van Rossum έχει υπάρξει προγραμματιστής στην Google, ενώ από το 2013 εργάζεται στην Dropbox. Η ιδέα για τη γλώσσα ξεκίνησε τη δεκαετία του 80 και ο van Rossum ξεκίνησε την υλοποίηση της το 1989 στο Εθνικό Ινστιτούτο Έρευνας Μαθηματικών και Πληροφορικής της Ολλανδίας. Ο αρχικός σκοπός της ήταν να διαδεχθεί τη γλώσσα ABC, και να χρησιμοποιείται στο λειτουργικό σύστημα Amoeba. To 1991 είδε την πρώτη δημοσίευση του κώδικα της Python, υπό την έκδοση Σε αυτό το στάδιο, η γλώσσα υποστήριζε δημιουργία κλάσεων με κληρονομικότητα, διαχείριση εξαιρέσεων, μεθόδους και τους τύπους δεδομένων list, dict, str κ.ο.κ.. [11][12] 32 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

33 ΚΕΦΑΛΑΙΟ 3: Η ΓΛΩΣΣΑ PYTHON ΚΑΙ Η ΒΙΒΛΙΟΘΗΚΗ PYGAME Εκδόσεις Version 1.0 Τα καινούρια χαρακτηριστικά αυτής της έκδοσης ήταν τα προγραμματιστικά εργαλεία: lambda, map, filter και reduce. Κοντά στο τέλος της πρώτης έκδοσης, εισάχθηκαν επιπλέον χαρακτηριστικά όπως σαφώς δηλωμένες παράμετροι για τις μεθόδους, ενσωματωμένη υποστήριξη για μιγαδικούς αριθμούς, καθώς και μία πολύ απλοϊκή μορφή κρυπτογραφίας. Κατά την περίοδο της έκδοσης 1.0, ο Van Rossum συνέχισε την ανάπτυξη της γλώσσας στο CNRI της Virginia, ΗΠΑ. Version 2.0 Η έκδοση αυτή έφερε καινούρια χαρακτηριστικά όπως συλλογή απορριμμάτων και list comprehension για την κατασκευή λιστών. Στην έκδοση 2.2 εισάχθηκε και η ενοποίηση των τύπων της Python με τις κλάσεις της, σε μία ιεραρχία. Η ενοποίηση αυτή έκανε το μοντέλο της Python καθαρά αντικειμενοστρεφές. Μετά την έκδοση 2.0, η άδεια της Python μετονομάστηκε σε Python Software Foundation License, ενώ ο κώδικας και όλη η τεκμηρίωση της γλώσσας είναι ιδιοκτησία της Python Software Foundation, μια μη κερδοσκοπική εταιρεία, η οποία έχει διαμορφωθεί με βάση την Apache Software Foundation. Version 3.0 Ο σκοπός της Python 3.0 ήταν η διόρθωση σημαντικών ελαττωμάτων των προηγούμενων εκδόσεων, οι οποίες όμως χρειάζονταν μια εντελώς καινούρια έκδοση με νέο αριθμό. Για παράδειγμα, αφαιρέθηκαν περιττές μέθοδοι και εργαλεία που εκτελούσαν παρόμοιες μεταξύ τους λειτουργίες. Οι σειρές εκδόσεων 2 και 3 σχεδιάστηκαν έτσι ώστε να συνυπάρχουν για αρκετές παράλληλες εκδόσεις, με τις εκδόσεις 2 να υπάρχουν κυρίως για λόγους συμβατότητας και να παίρνουν κάποια χαρακτηριστικά των εκδόσεων 3. Οι παράλληλες εκδόσεις έπαψαν να υπάρχουν μετά την κυκλοφορία της έκδοσης 3.2. Κάποια συγκεκριμένα χαρακτηριστικά της Python 3.0 είναι η αλλαγή του print από δήλωση σε ενσωματωμένη συνάρτηση, η μεταφορά του reduce από τα δηλωμένα ονόματα στο module functools, η υποστήριξη επισημάνσεων και σχολιασμών για τη δήλωση ανεπίσημων τύπων, η ενοποίηση όλων των τύπων κειμένου και η εισαγωγή του τύπου bytes. Τέλος, αφαιρέθηκαν χαρακτηριστικά που υποστήριζαν τη συμβατότητα με παλαιότερες εκδόσεις. [12] Οι ημερομηνίες κυκλοφορίας των διαφορετικών εκδόσεων ήταν οι εξής: Python 1.0: Ιανουάριος, 1994 Python 1.5: Δεκέμβριος, 1997 Python 1.6: Σεπτέμβριος, 2000 Python 2.0: Οκτώβριος, 2000 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 33

34 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Python 2.1: Απρίλιος, 2001 Python 2.2: Δεκέμβριος, 2001 Python 2.3: Ιούλιος, 2003 Python 2.4: Νοέμβριος, 2004 Python 2.5: Σεπτέμβριος, 2006 Python 2.6: Οκτώβριος, 2008 Python 2.7: Ιούλιος, 2010 Python 3.0: Δεκέμβριος, 2008 Python 3.1: Ιούνιος, 2009 Python 3.2: Φεβρουάριος, 2011 Python 3.3: Σεπτέμβριος, 2012 Python 3.4: Μάρτιος, 2014 [12] Χρήση Τα τελευταία χρόνια, η Python κατατάσσεται ανάμεσα στις πιο δημοφιλείς προγραμματιστικές γλώσσες, σύμφωνα με το Δείκτη της Προγραμματιστικής Κοινότητας TIOBE. Τον Ιούνιο του 2015, η Python βρισκόταν στην 6 η θέση του πίνακα των πιο δημοφιλών γλωσσών σύμφωνα με τον TIOBE. [18] Επιπροσθέτως, σύμφωνα με μια παγκόσμια έρευνα της εταιρείας Startup Compass, το 2014, η Python είναι η δεύτερη πιο υψηλή σε αμοιβές γλώσσα προγραμματισμού, με μισθούς που φτάνουν τα 102 χιλιάδες δολάρια το χρόνο. Πρώτη γλώσσα σε αμοιβές αναδείχτηκε η C++, με 110 χιλιάδες δολάρια. [17] Προγραμματιστικά περιβάλλοντα (IDE) Η Python λειτουργεί και ως command line interpreter, δηλαδή είναι ένα κέλυφος η ίδια. Υπάρχουν όμως και IDEs (Integrated Development Environments) τα οποία επιτρέπουν την ανάπτυξη κώδικα σε Python. Το βασικό IDE για ανάπτυξη προγραμμάτων Python είναι το IDLE (Integrated Development Environment). Από την έκδοση 1.5.2b1 και μετά, το IDLE υπάρχει στο πακέτο εγκατάστασης της Python. Το IDLE είναι ένα απλό περιβάλλον και ιδιαίτερα χρήσιμο σε εκπαιδευτικούς σκοπούς. Τα κύρια χαρακτηριστικά του είναι τα εξής: Επεξεργαστής κειμένου με επισήμανση σύνταξης, αυτόματη συμπλήρωση και δημιουργία αυτόματων εσοχών. Κέλυφος της Python με επισήμανση σύνταξης. Ενσωματωμένος αποσφαλμάτωση. Παρά τα χαρακτηριστικά του, το IDLE έχει υποστεί κριτική για τα περιορισμένα χαρακτηριστικά του, μερικά από τα οποία είναι το απλοϊκό interface και η απουσία αρίθμησης στις γραμμές. [11] 34 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

35 ΚΕΦΑΛΑΙΟ 3: Η ΓΛΩΣΣΑ PYTHON ΚΑΙ Η ΒΙΒΛΙΟΘΗΚΗ PYGAME Άλλα προγραμματιστικά περιβάλλοντα για τη γλώσσα είναι τα: Eric Python and Ruby IDE, KDevelop, PyCharm, PyScripter, Spyder και Wing IDE. [14] ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 35

36 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ 3.2 Η ΒΙΒΛΙΟΘΗΚΗ PYGAME Η Pygame είναι μία βιβλιοθήκη της Python, που περιέχει εσωτερικές βιβλιοθήκες (modules), κλάσεις και συναρτήσεις με σκοπό την ανάπτυξη ψηφιακών παιχνιδιών. Είναι φτιαγμένη έτσι ώστε να επιτρέπει real-time ανάπτυξη παιχνιδιών χωρίς τις χαμηλού επιπέδου τεχνικές της γλώσσας C και άλλων παράγωγων γλωσσών. Η Pygame υποστηρίζει διαχείριση 2D γραφικών, πολυμέσων όπως εικόνα, ήχος, κλπ. και αλληλεπίδραση μέσω πληκτρολογίου, ποντικιού ή κάποιου τηλεχειριστηρίου. Εφαρμογές της Pygame μπορούν να εκτελεστούν και σε συστήματα Android αλλά με περιορισμένες λειτουργίες, ενώ η βιβλιοθήκη δεν είναι συμβατή με ios. [13] Modules, μέθοδοι και κλάσεις της Pygame Εδώ αναλύονται τα modules, οι μέθοδοι και οι κλάσεις της Pygame που χρησιμοποιήθηκαν για την υλοποίηση του παιχνιδιού. [16] Module: pygame Το πακέτο pygame είναι το top-level πακέτο της βιβλιοθήκης. Δύο μέθοδοι που χρησιμοποιούνται στο παιχνίδι είναι: pygame.init: αρχικοποιεί όλα τα modules του pygame. pygame.quit: τερματίζει όλα τα modules του pygame Module: display Το module display διαχειρίζεται το παράθυρο και την οθόνη του προγράμματος. Στο παιχνίδι χρησιμοποιούνται οι εξής μέθοδοι: pygame.display.set_mode: αρχικοποίηση του παραθύρου. Η μέθοδος επιστρέφει ένα αντικείμενο Surface. pygame.display.set_caption: δίνει έναν τίτλο στο παράθυρο. pygame.display.update: ανανεώνει την οθόνη, ώστε να καταγραφούν όλες οι αλλαγές που έχουν γίνει κατά τη διάρκεια της εκτέλεσης του προγράμματος Κλάση: Surface Η κλάση Surface αντιπροσωπεύει αντικείμενα πάνω στα οποία απεικονίζονται εικόνες και άλλα αντικείμενα. Τα αντικείμενα της αποτελούν ουσιαστικά επιφάνειες. Στο παιχνίδι χρησιμοποιούνται οι εξής μέθοδοι: pygame.surface.blit: χρησιμοποιείται για να απεικονίσει πάνω σε μία άλλη. pygame.surface.get_rect: η μέθοδος επιστρέφει την τετραγωνική περιοχή όπου βρίσκεται το Surface. Οι μεταβλητές centerx, centery της μεθόδου 36 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

37 ΚΕΦΑΛΑΙΟ 3: Η ΓΛΩΣΣΑ PYTHON ΚΑΙ Η ΒΙΒΛΙΟΘΗΚΗ PYGAME επιστρέφουν τις συνενταγμένες του κέντρου του τετραγώνου στο οποίο ανήκει το Surface Module: sprite Το module αυτό περιέχει κλάσεις για διαχείριση αντικειμένων. Στο παιχνίδι χρησιμοποιείται μόνο η κλάση Sprite του module. pygame.sprite.sprite: η Sprite είναι μια γενική κλάση της Pygame, η οποία περιέχει χρήσιμες μεθόδους για τη διαχείριση αντικειμένων στις οθόνες των παιχνιδιών Κλάση: Rect Η κλάση Rect χρησιμεύει ώστε να αποθηκεύονται οι συντεταγμένες τετραγωνικών περιοχών, πάνω στις οποίες θα απεικονιστούν εικόνες Module: image Το module αυτό ασχολείται με τη διαχείριση των εικόνων. Στο παιχνίδι χρησιμοποιείται μόνο η εξής μέθοδος: pygame.image.load: φορτώνει μία νέα εικόνα από κάποιο αρχείο και επιστρέφει ένα νέο Surface που δημιουργείται από αυτήν την εικόνα Module: transform Το module αυτό χρησιμεύει στο μετασχηματισμό επιφανειών. Η μόνη μέθοδος του module, που χρησιμοποιείται στο παιχνίδι είναι η: pygame.transform.scale: αλλάζει τις διαστάσεις ενός Surface, ώστε να είναι διαφορετική η ανάλυση Module: mouse Αυτό είναι το module που διαχειρίζεται τις λειτουργίες του ποντικιού. Η μέθοδος που χρησιμοποιείται στο παιχνίδι είναι η: pygame.mouse.get_pos: επιστρέφει τις συντεταγμένες του δείκτη του ποντικιού σε μια συγκεκριμένη στιγμή Module: time Το module αυτό διαχειρίζεται το χρόνο του παιχνιδιού. Οι μέθοδοι που χρησιμοποιούνται στο παιχνίδι είναι: ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 37

38 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ pygame.time.clock: δημιουργεί ένα αντικείμενο «ρολόι» το οποίο κρατάει το χρόνο του προγράμματος. pygame.time.get_ticks: επιστρέφει το χρόνο σε milliseconds Module: music Το music είναι ένα sub-module του module mixer που ελέγχει streams ήχου. Οι μέθοδοι που χρησιμοποιήθηκαν στο παιχνίδι είναι: pygame.mixer.music.set_volume: ορίζει την ένταση του ήχου που θα παίξει. pygame.mixer.music.load: φορτώνει ένα αρχείο μουσικής. pygame.mixer.music.play: ξεκινάει η αναπαραγωγή του μουσικού αρχείου Module: font Το module αυτό φορτώνει και διαχειρίζεται γραμματοσειρές για τα κείμενα που θα απεικονιστούν στην οθόνη. Οι μέθοδοι που χρησιμοποιούνται στο παιχνίδι είναι οι εξής: pygame.font.font: δημιουργεί ένα νέο αντικείμενο Font χρησιμοποιώντας τη γραμματοσειρά από ένα αντίστοιχο αρχείο (ttf, otf κλπ.). pygame.font.font.render: η μέθοδος αυτή σχεδιάζει κείμενο σε μια νέα επιφάνεια. 38 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

39 Κ Ε Φ Α Λ Α Ι Ο 4 : Τ Ο Π Α Ι Χ Ν Ι Δ Ι «B I N A R Y D R O I D S»

40

41 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Στο κεφάλαιο αυτό θα γίνει εμβάθυνση σε μερικά κομμάτια του κώδικα που αναπτύχθηκε για την υλοποίηση του BD. Δε θα γίνει εκτενής αναφορά σε όλο τον κώδικα, αλλά θα αναλυθούν περισσότερο οι μέθοδοι και οι κλάσεις που συμβάλλουν στον αντικειμενοστρεφή χαρακτήρα της υλοποίησης. 4.1 ΤΟ ΣΕΝΑΡΙΟ ΚΑΙ Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ Το «Binary Droids» («Δυαδικά Ρομπότ») είναι ένα παιχνίδι υλοποιημένο σε Python με χρήση της βιβλιοθήκης Pygame. Το «BD» είναι ένα single player stand-alone game, καθώς παίζεται από έναν μόνο παίκτη και δεν έχει ανάγκη τη σύνδεση σε κάποιο δίκτυο. Με βάση το gameplay του, το παιχνίδι μπορεί να χαρακτηριστεί ως παιχνίδι περιπέτειας, με κάποια στοιχεία δράσης. Είναι παιχνίδι περιπέτειας γιατί ο παίκτης υιοθετεί το ρόλο του πρωταγωνιστή και πρέπει να λύσει ένα είδος γρίφου για να προχωρήσει στα επόμενα επίπεδα. Το παιχνίδι, επίσης, εστιάζει σε μία συγκεκριμένη ιστορία και ένα χαρακτήρα, κάτι το οποίο δεν αφήνει «χώρο» για παραπάνω παίκτες. Μπορούν να ανιχνευθούν και στοιχεία παιχνιδιού δράσης. Παρά το ότι δεν υπάρχει κάποιο avatar για τον παίκτη (χαρακτηριστικό των παιχνιδιών δράσης), εκείνος επιλέγει αντικείμενα (τους πλανήτες) και μάχεται ενάντια σε έναν εχθρό, σε αυτήν την περίπτωση το χρόνο. Παράλληλα πρέπει να γίνονται και σωστοί φυσικοί χειρισμοί από τον παίκτη γιατί οι πλανήτες βρίσκονται εν κινήσει, ενώ αλλάζει και η ταχύτητά τους Το σενάριο του παιχνιδιού Οι χαρακτήρες του παιχνιδιού, τα droids (ρομπότ) C3PO και R2D2, προέρχονται από το γνωστό franchise «Star Wars». Στο σενάριο του παιχνιδιού, τα δύο droids έχουν εγκαταλειφθεί στον πλανήτη Tatooine και πρέπει να επιστρέψουν πίσω στο σπίτι του, τον πλανήτη Coruscant. Για να γυρίσουν όμως πρέπει να περάσουν μέσα από άλλους πλανήτες, αλλά πρέπει πρώτα να δώσουν αυτές τις συντεταγμένες στο αεροσκάφος του. Το πρόβλημα είναι ότι ο μόνος που ξέρει τις συντεταγμένες είναι ο R2D2 ο οποίος μιλάει μόνο γλώσσα μηχανής. Ο C3PO μπορεί να μεταφράσει τους αριθμούς των συντεταγμένων από γλώσσα μηχανής σε δυαδικό σύστημα. Ο παίκτης είναι αυτός που πρέπει να μετατρέψει τους αριθμούς σε δεκαδικό σύστημα ώστε να εισαχθούν στο αεροσκάφος που θα τους μεταφέρει από πλανήτη σε πλανήτη. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 41

42 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Ο μηχανισμός μάθησης Ο μηχανισμός μάθησης είναι ο τρόπος με τον οποίο ο μαθητής-παίκτης ενεργοποιεί γνωστικές διεργασίες έτσι ώστε να επεξεργαστεί οποιαδήποτε πληροφορία θα τον βοηθήσει να τερματίσει αποτελεσματικά το παιχνίδι. Ο μηχανισμός μάθησης στο BD είναι οι υπολογισμοί που πρέπει να εκτελέσει ο παίκτης έτσι ώστε να μετατρέψει σωστά, και μέσα στο χρονικό περιθώριο, τους δυαδικούς αριθμούς σε δεκαδικούς Η λειτουργία του παιχνιδιού Κατά τη διάρκεια του παιχνιδιού, τα droids «δίνουν» στον παίκτη κάποιον δυαδικό αριθμό και εκείνος πρέπει να επιλέξει τον σωστό δεκαδικό. Οι δεκαδικοί αριθμοί αποτυπώνονται πάνω σε μικρούς πλανήτες, οι οποίοι «αιωρούνται» στην οθόνη. Ο παίκτης πρέπει να επιλέξει τον σωστό κάνοντας κλικ με το ποντίκι επάνω του. Για παράδειγμα αν του δίνουν τον αριθμό «10», ο χρήστης πρέπει να επιλέξει τον πλανήτη με τον αριθμό «2», γιατί το 10 στο δυαδικό σύστημα είναι ο αριθμός 2. Το παιχνίδι αποτελείται συνολικά από 8 levels (επίπεδα), τα οποία ο παίκτης πρέπει να ολοκληρώσει για να τερματίσει επιτυχώς το παιχνίδι. Ο παίκτης πρέπει να μαζέψει 15 πόντους στο σκορ σε κάθε level, έτσι ώστε να προχωρήσει στο επόμενο. Συνεπώς, αν βρίσκεται στο level 1, όταν μαζέψει 15 πόντους θα προχωρήσει στο level 2. Εφόσον το σκορ δε μηδενίζεται όταν αλλάξει ο παίκτης level, αλλά αθροίζεται, το level 2 ξεκινάει με 15 πόντους κι όχι 0. Άρα, για να περάσει στο level 3, ο παίκτης πρέπει να μαζέψει άλλους 15 πόντους, δηλαδή συνολικά 30. Για να μπει στο level 4, πρέπει να μαζέψει 45 κ.ο.κ.. Όσο ο παίκτης προχωράει levels, τότε η δυσκολία από άποψη αριθμών ανεβαίνει. Στο πρώτο level οι δυαδικοί αριθμοί μπορεί να είναι ενός ψηφίου, ενώ στα τελευταία levels οι δυαδικοί αριθμοί μπορεί να φτάσουν και τα 9 ψηφία. (Το παιχνίδι υποστηρίζει δυαδικούς μέχρι το πολύ 9 ψηφία.) Κάθε level του παιχνιδιού έχει ένα χρονικό περιθώριο: 3 λεπτά (εύκολο/μικρό επίπεδο δυσκολίας), 2 λεπτά (μέτριο/μεσαίο επίπεδο δυσκολίας) ή 1 λεπτό (δύσκολο/μεγάλο επίπεδο δυσκολίας). Το προκαθορισμένο επίπεδο δυσκολίας είναι το εύκολο, στα 3 λεπτά, αλλά ο παίκτης μπορεί να το αλλάξει αυτό πηγαίνοντας στο μενού και επιλέγοντας «Options». Ο χρόνος αυτός απεικονίζεται κατά τη διάρκεια του παιχνιδιού με τη μορφή μιας πράσινης μπάρας που «αδειάζει» όσο εκτελείται το παιχνίδι. Όταν τελειώνει το χρονικό περιθώριο το παιχνίδι τερματίζει. Όταν ο παίκτης ολοκληρώσει ένα level, τότε ο χρόνος «γεμίζει» ξανά στα 3, 2 ή 1 λεπτά, ανάλογα με το επίπεδο δυσκολίας. Ο κάθε πλανήτης έχει πάνω του ένα μόνο ψηφίο, το οποίο δημιουργεί πρόβλημα όταν ο δεκαδικός αριθμός-απάντηση είναι διψήφιος ή τριψήφιος. Σε τέτοιες περιπτώσεις ο παίκτης πρέπει να πατήσει με τη σειρά τα σωστά ψηφία. Αν για παράδειγμα, ο δεκαδικός αριθμός-απάντηση είναι το 153, τότε ο παίκτης πρέπει να επιλέξει τον πλανήτη-αριθμό 1, μετά τον πλανήτη-αριθμό 2 και μετά τον 5. Όταν τα ψηφία είναι σωστά, απεικονίζονται στην οθόνη μέχρι να ολοκληρωθεί ο αριθμός, έτσι ώστε ο παίκτης να βλέπει ποια ψηφία έχει επιλέξει. 42 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

43 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Ο σκοπός του παιχνιδιού Ο σκοπός του BD είναι να ολοκληρώσει όλα τα levels, συμπληρώνοντας όλους τους απαραίτητους πόντους. Όλα αυτά πρέπει να γίνουν πριν τελειώσει το χρονικό περιθώριο κάθε level Επιβραβεύσεις / Ποινές Το παιχνίδι υιοθετεί ένα μοντέλο συμπεριφορισμού όπου ο παίκτης λαμβάνει θετικές ενισχύσεις με κάθε σωστή απάντηση, ενώ υφίσταται κυρώσεις όταν δίνει λάθος απαντήσεις. Όταν ο παίκτης επιλέγει το σωστό πλανήτη (ή σωστούς πλανήτες, αν έχουμε διψήφιο ή τριψήφιο δεκαδικό) τότε παίρνει 1 πόντο στο σκορ του και κερδίζει επιπλέον χρόνο στο ήδη διαθέσιμο που του απομένει. Ο χρόνος ανεβαίνει ανάλογα με το level. Στο level 1, με κάθε σωστή απάντηση κερδίζεται 1 δευτερόλεπτο, αλλά στο level 2 κερδίζονται 2 δευτερόλεπτα, στο level 3 κερδίζονται 3 δευτερόλεπτα κ.ο.κ.. Αν ο παίκτης επιλέξει λάθος πλανήτη, τότε χάνει ένα δευτερόλεπτο από το χρόνο που απομένει, σε όποιο level και να βρίσκεται. Παρ όλα αυτά δε χάνει πόντους από το σκορ του Πρόσθετες επιλογές Κατά τη διάρκεια του παιχνιδιού, υπάρχει η επιλογή της αύξησης της ταχύτητας. Πατώντας το πλήκτρο «+» στο πληκτρολόγιο τότε η ταχύτητα με την οποία κινούνται οι πλανήτες αυξάνεται. Όσο ο παίκτης πατάει το «+», η ταχύτητα αυξάνεται ακόμα πιο πολύ, αλλά δεν μπορεί να ξεπεράσει το πενταπλάσιο της αρχικής. Αν ο παίκτης πατήσει το «-», τότε γίνεται η αντίστροφη διαδικασία και η ταχύτητα μειώνεται. Η ταχύτητα επηρεάζει και το κερδηθέν σκορ όταν ο παίκτης επιλέξει το σωστό πλανήτη-αριθμό. Όταν η ταχύτητα είναι η αρχική (x 1), τότε το κερδηθέν σκορ είναι 1 πόντος, αλλά όταν η ταχύτητα είναι διπλάσια της αρχικής (x 2), τότε ο παίκτης κερδίζει 2 πόντους. Όταν η ταχύτητα είναι τριπλάσια (x 3), ο παίκτης κερδίζει 3 πόντους κ.ο.κ.. Όταν ο δεκαδικός αριθμός-απάντηση είναι διψήφιος ή τριψήφιος τότε εμφανίζεται στην οθόνη ένα κουμπί-βοήθεια (help), το οποίο «φανερώνει» στον παίκτη το επόμενο ψηφίο που πρέπει να επιλέξει, εκτός αν είναι το τελευταίο. Για παράδειγμα, αν ο δεκαδικός αριθμός-απάντηση είναι το 48, τότε ο παίκτης μπορεί να επιλέξει τη βοήθεια και να του «φανερωθεί» το 4. Μετά το 4 όμως, η βοήθεια χάνεται, γιατί δεν είναι διαθέσιμη για το τελευταίο ψηφίο του αριθμού. Για τριψήφιο αριθμό η βοήθεια είναι διαθέσιμη 2 φορές, από μία για τα 2 πρώτα ψηφία αλλά όχι για το τρίτο και τελευταίο ψηφίο. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 43

44 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Το interface Πόντοι σκορ (εδώ 0) Ταχύτητα (εδώ 1) Πλανήτης-αριθμός «5» Μπάρα χρόνου Πλανήτης-αριθμός «8» Ο δυαδικός αριθμός που πρέπει να μετατρέψει ο παίκτης C3PO - δίνει στον παίκτη το δυαδικό αριθμό Πλανήτης-αριθμός «1» R2D2 - «δίνει» στον C3PO το δυαδικό αριθμό Εμφανίζεται όταν ο δεκαδικός αριθμόςαπάντηση είναι διψήφιος (εδώ το 14), και ο παίκτης έχει ήδη επιλέξει σωστά το πρώτο ψηφίο 44 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

45 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Το μενού Το αρχικό μενού του παιχνιδιού έχει 5 επιλογές: PLAY: έναρξη του παιχνιδιού. OPTIONS: επιλογή του επιπέδου δυσκολίας που επιθυμεί ο παίκτης. SCORES: εμφάνιση των υψηλότερων σκορ που έχουν καταγραφεί από όσους έχουν παίξει το παιχνίδι. HELP: οι οδηγίες του παιχνιδιού. QUIT: έξοδος από το παιχνίδι και κλείσιμο του παραθύρου. Ο παίκτης μπορεί να μεταφερθεί στο αρχικό μενού, σε όποιο στάδιο του παιχνιδιού και να βρίσκεται, αρκεί να πατήσει το πλήκτρο «Esc» στο πληκτρολόγιο. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 45

46 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ 4.2 ΚΛΑΣΕΙΣ Εδώ περιγράφονται οι κλάσεις που χρησιμοποιήθηκαν για την υλοποίηση των αντικειμένων του παιχνιδιού Κλάση Button Στην κλάση αυτή ανήκουν όλα τα αντικείμενα που έχουν το ρόλο ενός κουμπιού. Αυτά τα αντικείμενα είναι: buttons: τα κουμπιά του αρχικού μενού buttonsopt: τα κουμπιά του μενού «Options» buttonsarr: τα «βελάκια» που χρησιμεύουν στην πλοήγηση της επιλογής «Help», όπου ο παίκτης μπορεί να δει τις καρτέλες με τις οδηγίες του παιχνιδιού. buttonhelp: ένα κουμπί «HELP» που δίνει στο χρήστη βοήθεια όταν πρέπει να μετατρέψει ένα δυαδικό αριθμό σε δεκαδικό με παραπάνω από ένα ψηφίο. Η κλάση Button κληρονομεί από τη γενική κλάση Sprite. Μέσα στην κλάση υλοποιούνται οι εξής μέθοδοι: init : ο constructor της κλάσης. Παράμετροι: o createx, createy: οι συντεταγμένες στις οποίες θα τοποθετηθεί το sprite του κουμπιού. o img: η εικόνα η οποία θα απεικονιστεί (θα γίνει blit) επάνω στην επιφάνεια του κουμπιού. o dimx, dimy: οι διαστάσεις της εικόνας, και συνεπώς του κουμπιού. drawit: η μέθοδος η οποία σχεδιάζει το κουμπί, σε κάθε loop, μετά από το update της οθόνης. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστεί το κουμπί, δηλαδή το παράθυρο του παιχνιδιού. lightup: η μέθοδος η οποία καλείται κάθε φορά που ο δείκτης περνάει το δείκτη του ποντικιού πάνω από ένα κουμπί. Η μέθοδος αλλάζει την εικόνα που απεικονίζεται επάνω στο κουμπί, με μία παρόμοια αλλά πιο «φωτισμένη», με σκοπό να είναι εμφανής η αλλαγή, όταν ο παίκτης έχει το δείκτη του ποντικιού επάνω στο κουμπί. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστεί το κουμπί, δηλαδή το παράθυρο του παιχνιδιού. 46 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

47 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» o lightswitch: η μεταβλητή, που ορίζει αν η εικόνα που θα απεικονίζεται επάνω στο κουμπί είναι η «φωτισμένη» ή όχι. Αν ο δείκτης είναι πάνω στο κουμπί, η μεταβλητή είναι 1, αν είναι εκτός του κουμπιού, είναι 0. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 47

48 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Κλάση Planet Στην κλάση αυτή ανήκουν όλα τα αντικείμενα που αποτελούν τους «πλανήτες», τα νούμερα που πρέπει να επιλέγει ο χρήστης για να βρει τη σωστή απάντηση. Όλα τα αντικείμενα Planet βρίσκονται στον πίνακα planets. Η κλάση Planet κληρονομεί από τη γενική κλάση Sprite. Μέσα στην κλάση υλοποιούνται οι εξής μέθοδοι: init : ο constructor της κλάσης. Παράμετροι: o createx, createy: οι συντεταγμένες στις οποίες θα τοποθετηθεί το sprite του πλανήτη. o dirx: η κατεύθυνση προς την οποία θα κινείται ο πλανήτης. Η μεταβλητή παίρνει τις τιμές 1 (κατεύθυνση προς τα δεξιά) ή -1 (κατεύθυνση προς τα αριστερά). o surf: η επιφάνεια στην οποία θα σχεδιαστεί ο πλανήτης, δηλαδή το παράθυρο του παιχνιδιού. o number: ο αριθμός πάνω στον πλανήτη. move: η μέθοδος η οποία αλλάζει τις συντεταγμένες του πλανήτη, ώστε να μετακινείται σε κάθε loop, και σχεδιάζει τον πλανήτη στην καινούρια θέση, μετά το update της οθόνης. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστεί ο πλανήτης, δηλαδή το παράθυρο του παιχνιδιού. lightup: η μέθοδος η οποία καλείται κάθε φορά που ο δείκτης περνάει το δείκτη του ποντικιού πάνω από ένα πλανήτη. Η μέθοδος αλλάζει την εικόνα που απεικονίζεται επάνω στο πλανήτη, με μία παρόμοια αλλά πιο «φωτισμένη», με σκοπό να είναι εμφανής η αλλαγή, όταν ο παίκτης έχει το δείκτη του ποντικιού επάνω στον πλανήτη. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστεί ο πλανήτης, δηλαδή το παράθυρο του παιχνιδιού. o lightswitch: η μεταβλητή, που ορίζει αν η εικόνα που θα απεικονίζεται επάνω στον πλανήτη είναι η «φωτισμένη» ή όχι. Αν ο δείκτης είναι πάνω στον πλανήτη, η μεταβλητή είναι 1, αν είναι εκτός του πλανήτη, είναι ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

49 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Κλάση Droid Στην κλάση αυτή ανήκει το αντικείμενο d1, που αποτελεί τα δύο droids, τους βασικούς χαρακτήρες του παιχνιδιού. Η κλάση Droid κληρονομεί από τη γενική κλάση Sprite. Μέσα στην κλάση υλοποιούνται οι εξής μέθοδοι: init : ο constructor της κλάσης. Παράμετροι: o createx, createy: οι συντεταγμένες στις οποίες θα τοποθετηθεί το sprite των droids. o dimx, dimy: οι διαστάσεις της εικόνας, και συνεπώς των droids. drawit: η μέθοδος η οποία σχεδιάζει τα droids, σε κάθε loop, μετά από το update της οθόνης. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστούν τα droids, δηλαδή το παράθυρο του παιχνιδιού. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 49

50 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Κλάση SpeechBubble Στην κλάση αυτή ανήκουν τα speech bubbles των droids, με τα μηνύματα που δείχνουν ποιος αριθμός ζητείται να μετατραπεί. b1: το speech bubble του C3PO, μέσα στο οποίο αναγράφεται κάθε φορά ο δυαδικός αριθμός που πρέπει ο παίκτης να μετατρέψει. b2: το speech bubble του R2D2. Το συγκεκριμένο bubble εμφανίζεται μόνο όταν ο δεκαδικός αριθμός που ζητείται έχει παραπάνω από ένα ψηφίο. Μέσα στο bubble γράφονται τα ψηφία που έχει βρει σωστά ο παίκτης, μέχρι να ολοκληρώσει τον αριθμό. Η κλάση SpeechBubble κληρονομεί από τη γενική κλάση Sprite. Μέσα στην κλάση υλοποιούνται οι εξής μέθοδοι: init : ο constructor της κλάσης. Παράμετροι: o createx, createy: οι συντεταγμένες στις οποίες θα τοποθετηθεί το sprite των droids. o img: η εικόνα που θα απεικονιστεί επάνω στο bubble. o dimx, dimy: οι διαστάσεις της εικόνας και συνεπώς του bubble. changebubble: η μέθοδος που καλείται κάθε φορά που ο C3PO δίνει στον παίκτη έναν καινούριο δυαδικό αριθμό. Η μέθοδος αλλάζει την εικόνα που απεικονίζεται στο bubble, ώστε το εισαγωγικό μήνυμα να μην είναι πάντα το ίδιο. Παράμετροι: o dimx, dimy: οι διαστάσεις της νέας εικόνας που θα απεικονιστεί. drawit: η μέθοδος η οποία σχεδιάζει το bubble, σε κάθε loop, μετά από το update της οθόνης. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστεί το bubble, δηλαδή το παράθυρο του παιχνιδιού. 50 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

51 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Κλάση HealthBar Στην κλάση αυτή ανήκει η μπάρα του χρόνου που βρίσκεται στην πάνω δεξιά γωνία της οθόνης, και «αδειάζει» όσο πέφτει ο χρόνος. Το αντικείμενο της μπάρας είναι το healthbar. Η κλάση HealthBar κληρονομεί από τη γενική κλάση Sprite. Μέσα στην κλάση υλοποιούνται οι εξής μέθοδοι: init : ο constructor της κλάσης. Παράμετροι: o createx, createy: οι συντεταγμένες στις οποίες θα τοποθετηθεί το sprite της μπάρας. o img: η εικόνα που θα απεικονιστεί επάνω στην μπάρα, η οποία θα είναι η εικόνα μιας «γεμάτης» μπάρας. o dimx, dimy: οι διαστάσεις της εικόνας και συνεπώς της μπάρας. drawit: η μέθοδος η οποία σχεδιάζει την μπάρα, σε κάθε loop, μετά από το update της οθόνης. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστεί η μπάρα, δηλαδή το παράθυρο του παιχνιδιού. o sec: τα δευτερόλεπτα που τρέχει το παιχνίδι, ώστε η εικόνα που θα γίνει blit επάνω στην μπάρα να είναι η σωστή σε σχέση με το χρόνο. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 51

52 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Κλάση Text Στην κλάση αυτή ανήκουν όλα τα αντικείμενα που αποτελούν κάποιο κείμενο που αποτυπώνεται στην οθόνη. Τα αντικείμενα αυτά είναι: textscore: το κείμενο που αποτελείται από το εισαγωγικό «Score:» και συνεχίζεται με τον αριθμό του σκορ. Εμφανίζεται στην πάνω αριστερή γωνία του παραθύρου. textquestion: το κείμενο που περιέχει το δυαδικό αριθμός που πρέπει ο παίκτης να μετατρέψει. Εμφανίζεται στο speech bubble του C3PO. textr2: τα ψηφία του δεκαδικού αριθμού-απάντηση που έχει βρει ο χρήστης, όταν ο δεκαδικός αριθμός έχει πάνω από ένα ψηφίο. Το συγκεκριμένο κείμενο εμφανίζεται μόνο όταν εμφανίζεται το speech bubble του R2D2 (b2). textspeed: το κείμενο στην κορυφή της οθόνης που δείχνει πόσο μεγάλη είναι η ταχύτητα των πλανητών. Το κείμενο ξεκινά πάντα από το «Speed: x» και συνεχίζεται με το αριθμό της ταχύτητας. finalscoretext: το κείμενο αυτό περιέχει τον αριθμό του σκορ, όταν αυτό προβάλλεται στην οθόνη τερματισμού του παιχνιδιού. Η κλάση Text κληρονομεί από τη γενική κλάση Sprite. Μέσα στην κλάση υλοποιούνται οι εξής μέθοδοι: init : ο constructor της κλάσης. Παράμετροι: o createx, createy: οι συντεταγμένες που θα τοποθετηθεί το sprite του κειμένου. o font: η γραμματοσειρά του κειμένου. o showtext: οι λέξεις που περιέχει το κείμενο. o color: το χρώμα του κειμένου. rendertext: η μέθοδος η οποία «ανανεώνει» τις λέξεις που περιέχει το κείμενο, όταν τα δεδομένα του παιχνιδιού αλλάζουν. Παράμετροι: o showtext: οι λέξεις που περιέχει το κείμενο. drawit: η μέθοδος η οποία σχεδιάζει το κείμενο, σε κάθε loop, μετά από το update της οθόνης. Παράμετροι: o surf: η επιφάνεια στην οποία θα σχεδιαστεί το κείμενο, δηλαδή το παράθυρο του παιχνιδιού. o createx: η παράμετρος αυτή υπάρχει για να τοποθετείται στην κατάλληλη θέση ο δυαδικός αριθμός του speech bubble του C3PO. 52 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

53 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» 4.3 ΜΕΘΟΔΟΙ Εδώ περιγράφονται οι μέθοδοι εκτός κλάσεων που χρησιμοποιήθηκαν για την ανάπτυξη λειτουργιών του παιχνιδιού checkarea Η μέθοδος αυτή χρησιμοποιείται για να ελεγχθεί αν ο δείκτης του ποντικιού βρίσκεται σε μία συγκεκριμένη περιοχή (area). Η μέθοδος χρησιμεύει για να ανιχνευθεί αν ο δείκτης επιλέγει ή βρίσκεται πάνω από κάποιο αντικείμενο. Παράμετροι: area: η περιοχή που ανιχνεύεται. x: η συντεταγμένη x της θέσης που βρίσκεται ο δείκτης του ποντικιού. y: η συντεταγμένη y της θέσης που βρίσκεται ο δείκτης του ποντικιού. Επιστροφή: true αν ο δείκτης του ποντικιού βρίσκεται επάνω στο αντικείμενο, false αν όχι generatebinarynumber Η μέθοδος αυτή «παράγει» έναν τυχαίο δυαδικό αριθμό, με αριθμό ψηφίων που καθορίζεται από τις μεταβλητές minbinary και maxbinary, τον οποίο πρέπει ο παίκτης να μετατρέψει σε δεκαδικό. Η μέθοδος καλείται κάθε φορά που ο παίκτης μετατρέψει σωστά έναν δυαδικό αριθμό σε δεκαδικό και πρέπει να βγει ένας νέος αριθμός προς μετατροπή. Παράμετροι: minbinary: ο ελάχιστος αριθμός ψηφίων που μπορεί να έχει ο δυαδικός αριθμός. maxbinary: ο μέγιστος αριθμός ψηφίων που μπορεί να έχει ο δυαδικός αριθμός. suc, numbersequence, level: οι παράμετροι αυτοί χρησιμοποιούνται με σκοπό την εμφάνιση μιας «στημένης» ακολουθίας δυαδικών αριθμών. Αυτό συμβαίνει γιατί στα πρώτα στάδια του παιχνιδιού, όταν οι αριθμοί έχουν 1 ή 2 ψηφία, υπάρχει περίπτωση να εμφανίζεται πολλές φορές και συνεχόμενα ο ίδιος αριθμός. Για παράδειγμα, όταν minbinary και maxbinary έχουν την τιμή 1, δηλαδή ο αριθμός μπορεί να έχει μόνο 1 ψηφίο, υπάρχει η περίπτωση, όσες φορές και να επιλέγει τη σωστή απάντηση ο παίκτης, να εμφανίζεται συνεχώς ο δυαδικός αριθμός 0 (ή 1). Χρησιμοποιώντας το numbersequence, έναν πίνακα που περιέχει τις τιμές «0,1,0,1,0», εξασφαλίζεται ότι ο ίδιος αριθμός δε θα βγαίνει επανειλημμένα, γιατί ουσιαστικά εξάγονται με τη σειρά από αυτόν τον πίνακα. Αυτή η τροποποίηση γίνεται σε χαμηλά levels που έχουμε μικρό αριθμό ψηφίων. Όσο ανεβαίνουν τα levels, αυτή η διαδικασία παραβλέπεται. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 53

54 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Επιστροφή: ένας πίνακας, κάθε θέση του οποίου είναι ένα ψηφίο, τα οποία όλα μαζί αποτελούν το δυαδικό αριθμό getdecimalanswer Η μέθοδος αυτή χρησιμοποιείται για να μετατρέψει το δυαδικό αριθμό στη δεκαδική του μορφή. Η μετατροπή γίνεται με τον κλασσικό υπολογισμό, υψώνοντας κάθε ψηφίο του δυαδικού αριθμού στην ανάλογη δύναμη του 2. Παράμετροι: binary: ο πίνακας που περιέχει τα ψηφία του δυαδικού αριθμού που θα μετατραπεί σε δεκαδικό Επιστροφή: ο δεκαδικός αριθμός checktoomany Η μέθοδος αυτή καλείται όταν «δημιουργείται» ένας νέος πλανήτης-αριθμός. Επειδή οι πλανήτες-αριθμοί δημιουργούνται με τυχαίο τρόπο, υπάρχει η περίπτωση ένας αριθμός να μην εμφανιστεί για αρκετή ώρα, ενός κάποιος άλλος αριθμός να εμφανιστεί πολλές φορές συνεχόμενα. Η μέθοδος checktoomany εξασφαλίζει ότι από τους 20 πλανήτες που αιωρούνται κάθε φορά στην οθόνη, δε θα υπάρχουν πάνω από 3 όμοιοι, δηλαδή πάνω από 3 να «κουβαλούν» τον ίδιο αριθμό. Παράμετροι: sumplanets: ένας πίνακας που περιέχει το πλήθος όμοιων πλανητών-αριθμών, για κάθε έναν από αυτούς τους αριθμούς. Για παράδειγμα, αν ο πλανήτης με αριθμό 5, υπάρχει στην οθόνη 2 φορές, τότε η 5 η θέση του πίνακα sumplanets θα περιέχει την τιμή 2. Επιστροφή: ο πρώτος αριθμός που δεν βρίσκεται στην οθόνη πάνω από 3 φορές adjustminmaxbin Η μέθοδος αυτή καθορίζει το μέγιστο και τον ελάχιστο αριθμό ψηφίων για τον δυαδικό αριθμό που θα εμφανιστεί στην οθόνη, ανάλογα με το level που βρίσκεται ο παίκτης και ανάλογα με τις επιτυχίες του (σωστές μετατροπές). Σε κάθε level, όσες περισσότερες επιτυχίες υπάρχουν, το πλήθος των ψηφίων αυξάνεται σταδιακά. Παράμετροι: successes: οι επιτυχίες του παίκτη μέσα στο level. level: το level που βρίσκεται ο παίκτης. minbinary: το υπάρχον ελάχιστο πλήθος ψηφίων. maxbinary: το υπάρχον μέγιστο πλήθος ψηφίων. 54 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

55 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Επιστροφή: το νέο ελάχιστο και το νέο μέγιστο πλήθος ψηφίων για το δυαδικό αριθμό viewscores Η μέθοδος viewscores διαβάζει ένα αρχείο txt, το οποίο έχει αποθηκευμένα τα 5 καλύτερα σκορ που έχουν καταγραφεί στο παιχνίδι. Επιστροφή: έναν πίνακα χαρακτήρων (str), ο οποίος περιέχει τα 5 σκορ που διαβάζονται από το αρχείο txt updatescores Η μέθοδος updatescores διαβάζει το αρχείο txt που περιέχει τα 5 μέχρι στιγμής καταγεγραμμένα καλύτερα σκορ, και ελέγχει αν το σκορ που έχει καταφέρει ο παίκτης στο τρέχων παιχνίδι ξεπερνάει κάποιο από αυτά τα 5. Αν αυτό συμβαίνει, τότε το txt ενημερώνεται με τη νέα «καλύτερα πεντάδα» στο σκορ. Παράμετροι: score: το σκορ του τρέχοντος παιχνιδιού, το οποίο συγκρίνεται με τα 5 καλύτερα. Επιστροφή: το υψηλότερο σκορ που έχει σημειωθεί, από όσες φορές έχει παιχτεί το παιχνίδι, συμπεριλαμβανομένου και του τρέχοντος παιχνιδιού. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 55

56 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ 4.4 Η ΠΟΡΕΙΑ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ ΣΕ ΣΤΑΔΙΑ (STAGES) Το παιχνίδι χωρίζεται σε 8 stages (στάδια), ανάλογα με την «κατάσταση» στην οποία βρίσκεται. Επιγραμματικά, τα 8 στάδια είναι τα εξής: Στάδιο 0: Το αρχικό μενού. Στάδιο 1: Η εκτέλεση του παιχνιδιού. Στάδιο 2: Η «κάρτα» που αναγράφει σε ποιο level είναι ο παίκτης πριν ξεκινήσει το εκάστοτε level. Στάδιο 3: Η «κάρτα» που εμφανίζεται όταν τελειώσει κάθε level. Ο παίκτης πρέπει να κάνει κλικ για να προχωρήσει στο επόμενο level. Στάδιο 4: Το μενού «Options», όπου ο χρήστης επιλέγει επίπεδο δυσκολίας. Στάδιο 5: Η λίστα με τα 5 καλύτερα σκορ που έχουν καταγραφεί στο παιχνίδι. Στάδιο 6: Οι οδηγίες του παιχνιδιού. Στάδιο 7: Τερματισμός του παιχνιδιού 56 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

57 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Στάδιο 0 Όταν ο παίκτης ανοίγει το παιχνίδι, η πρώτη οθόνη που βλέπει είναι του σταδίου 0, δηλαδή του αρχικού μενού. Από το αρχικό μενού, ο παίκτης έχει 4 επιλογές: PLAY: για να ξεκινήσει να παίζει το παιχνίδι. (στάδιο 3) OPTIONS: ο παίκτης μπορεί να επιλέξει το επίπεδο δυσκολίας που επιθυμεί για το παιχνίδι. (στάδιο 4) SCORES: τα 5 καλύτερα σκορ που έχουν καταγραφεί ποτέ στο παιχνίδι. (στάδιο 5) HELP: οι οδηγίες του παιχνιδιού. (στάδιο 6) QUIT: το παιχνίδι κλείνει. (στάδιο 7) Σε αυτό το στάδιο δημιουργείται ο πρώτος δυαδικός αριθμός που θα πρέπει να μετατρέψει ο παίκτης όταν ξεκινήσει το παιχνίδι. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 57

58 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Στάδιο 1 Το στάδιο 1 αποτελεί το κύριο παιχνίδι, δηλαδή τις πραγματικές πίστες. Παρακάτω περιγράφεται συνοπτικά η πορεία του παιχνιδιού, ανάλογα με τις ενέργειες και την επιλογή από τον παίκτη σωστού ή λάθος πλανήτη-αριθμού. Ο παίκτης κάνει κλικ με το ποντίκι στην οθόνη: o Έχει επιλέξει με το κλικ κάποιον πλανήτη-αριθμό: Ο δεκαδικός αριθμός-απάντηση είναι μικρότερος του 10 (1 ψηφίο) : Ο πλανήτης-αριθμός που έχει επιλέξει είναι ο δεκαδικός αριθμόςαπάντηση. (σωστή επιλογή) o Δημιουργείται ένας νέος πλανήτης-αριθμός, αυξάνεται ο αριθμός των επιτυχιών, ο διαθέσιμος χρόνος και το σκορ, ανανεώνονται το κείμενο του σκορ στην οθόνη, ενημερώνεται ο μέγιστος και ελάχιστος αριθμός ψηφίων για το δυαδικό αριθμό, ανάλογα με το level και τις επιτυχίες, και δημιουργείται ένας καινούριος δυαδικός αριθμός. Ο πλανήτης-αριθμός που έχει επιλέξει δεν είναι ο δεκαδικός αριθμόςαπάντηση. (λάθος επιλογή) o Αφαιρείται ένα δευτερόλεπτο από το διαθέσιμο χρόνο. Ο δεκαδικός αριθμός-απάντηση είναι μικρότερος του 100 και μεγαλύτερος του 9 (2 ψηφία): Ο παίκτης δεν έχει επιλέξει ακόμα κανένα ψηφίο για να δημιουργήσει το δεκαδικό αριθμό. o Ο παίκτης επιλέγει τον πλανήτη-αριθμό που είναι ίσος με το πρώτο ψηφίο του δεκαδικού αριθμού-απάντηση. (σωστή επιλογή) Δημιουργείται ένας νέος πλανήτης-αριθμός και καταγράφεται στην οθόνη το πρώτο και σωστά επιλεγμένο ψηφίο. o Ο πλανήτης-αριθμός που έχει επιλέξει δεν είναι το πρώτο ψηφίο του δεκαδικού αριθμού. (λάθος επιλογή) Αφαιρείται ένα δευτερόλεπτο από το διαθέσιμο χρόνο. Ο παίκτης έχει επιλέξει ήδη σωστά το πρώτο ψηφίο του διψήφιου δεκαδικού αριθμού. o Ο παίκτης επιλέγει τον πλανήτη-αριθμό που είναι ίσος με το δεύτερο ψηφίο του δεκαδικού αριθμού-απάντηση. (σωστή επιλογή) Δημιουργείται ένας νέος πλανήτης-αριθμός, αυξάνεται ο αριθμός των επιτυχιών, ο διαθέσιμος χρόνος και το σκορ, ανανεώνονται το κείμενο του σκορ στην οθόνη, ενημερώνεται ο μέγιστος και ελάχιστος αριθμός ψηφίων για το δυαδικό αριθμό, ανάλογα με το level και τις επιτυχίες, και δημιουργείται ένας καινούριος δυαδικός αριθμός. 58 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

59 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» o Ο πλανήτης-αριθμός που έχει επιλέξει δεν είναι το δεύτερο ψηφίο του δεκαδικού αριθμού. (λάθος επιλογή) Αφαιρείται ένα δευτερόλεπτο από το διαθέσιμο χρόνο. Το πρώτο ψηφίο του δεκαδικού αριθμού, το οποίο είχε βρει ο παίκτης σωστά προηγουμένως, και ήταν σχεδιασμένο στην οθόνη, τώρα «σβήνεται». Ο δεκαδικός αριθμός-απάντηση είναι μεγαλύτερος του 100 και μικρότερος του 1000 (3 ψηφία). (Το παιχνίδι δεν υποστηρίζει δεκαδικούς αριθμούς μεγαλύτερους του 999). Ο παίκτης δεν έχει επιλέξει ακόμα κανένα ψηφίο για να δημιουργήσει το δεκαδικό αριθμό. o Ο παίκτης επιλέγει τον πλανήτη-αριθμό που είναι ίσος με το πρώτο ψηφίο του δεκαδικού αριθμού-απάντηση. (σωστή επιλογή) Δημιουργείται ένας νέος πλανήτης-αριθμός και καταγράφεται στην οθόνη το πρώτο και σωστά επιλεγμένο ψηφίο. o Ο πλανήτης-αριθμός που έχει επιλέξει δεν είναι το πρώτο ψηφίο του δεκαδικού αριθμού. (λάθος επιλογή) Αφαιρείται ένα δευτερόλεπτο από το διαθέσιμο χρόνο. Ο παίκτης έχει επιλέξει ήδη σωστά το πρώτο ψηφίο του τριψήφιου δεκαδικού αριθμού. o Ο παίκτης επιλέγει τον πλανήτη-αριθμό που είναι ίσος με το δεύτερο ψηφίο του δεκαδικού αριθμού-απάντηση. (σωστή επιλογή) Δημιουργείται ένας νέος πλανήτης-αριθμός και καταγράφεται στην οθόνη τα δύο πρώτα και σωστά επιλεγμένα ψηφία. o Ο πλανήτης-αριθμός που έχει επιλέξει δεν είναι το δεύτερο ψηφίο του δεκαδικού αριθμού. (λάθος επιλογή) Αφαιρείται ένα δευτερόλεπτο από το διαθέσιμο χρόνο. Το πρώτο ψηφίο του δεκαδικού αριθμού, το οποίο είχε βρει ο παίκτης σωστά προηγουμένως, και ήταν σχεδιασμένο στην οθόνη, τώρα «σβήνεται». Ο παίκτης έχει επιλέξει ήδη σωστά τα δύο πρώτα ψηφία του τριψήφιου δεκαδικού αριθμού. o Ο παίκτης επιλέγει τον πλανήτη-αριθμό που είναι ίσος με το τρίτο ψηφίο του δεκαδικού αριθμού-απάντηση. (σωστή επιλογή) Δημιουργείται ένας νέος πλανήτης-αριθμός, αυξάνεται ο αριθμός των επιτυχιών, ο διαθέσιμος χρόνος και το σκορ, ανανεώνονται το κείμενο του σκορ στην οθόνη, ενημερώνεται ο μέγιστος και ελάχιστος αριθμός ψηφίων για το δυαδικό αριθμό, ανάλογα με το level και τις επιτυχίες, και δημιουργείται ένας καινούριος δυαδικός αριθμός. o Ο πλανήτης-αριθμός που έχει επιλέξει δεν είναι το τρίτο ψηφίο του δεκαδικού αριθμού. (λάθος επιλογή) ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 59

60 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Αφαιρείται ένα δευτερόλεπτο από το διαθέσιμο χρόνο. Τα δύο πρώτα ψηφία του δεκαδικού αριθμού, τα οποία είχε βρει ο παίκτης σωστά προηγουμένως, και ήταν σχεδιασμένα στην οθόνη, τώρα «σβήνονται». 60 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

61 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» Στάδιο 2 Όταν το παιχνίδι βρίσκεται στο στάδιο 2, τότε η οθόνη που βλέπει ο χρήστης είναι ένα μία «κάρτα-εισαγωγή» στο κάθε level. Πριν ξεκινήσει μία καινούρια πίστα στο παιχνίδι (στάδιο 3), για 1,5 δευτερόλεπτο ο παίκτης βλέπει μια εισαγωγική οθόνη που δείχνει σε ποιο επίπεδο του παιχνιδιού πρόκειται να μπει. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' 61

62 ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Στάδιο 3 Μετά την ολοκλήρωση του κάθε level, εμφανίζεται στην οθόνη μία «κάρτα», η οποία λέει στον παίκτη ότι πέτυχε τους απαραίτητους 15 πόντους για την ολοκλήρωση κάθε level και ότι προχωράει στο επόμενο. Ο παίκτης πρέπει να κάνει κλικ στην οθόνη όταν εμφανιστεί η «κάρτα», έτσι ώστε να προχωρήσει. 62 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS'

Π Τ Υ Χ Ι Α Κ Η Ε Ρ ΓΑ Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ ΓΑ Σ Ι Α Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Π Τ Υ Χ Ι Α Κ Η Ε Ρ ΓΑ Σ Ι Α «ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΚΡΕΜΑΛΑ» (Digital Learning

Διαβάστε περισσότερα

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες ΣΧΟΛΕΙΟ Η εκπαιδευτική πρακτική αφορούσε τη διδασκαλία των μεταβλητών στον προγραμματισμό και εφαρμόστηκε σε μαθητές της τελευταίας τάξης ΕΠΑΛ του τομέα Πληροφορικής στα πλαίσια του μαθήματος του Δομημένου

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

Διαβάστε περισσότερα

Πώς το λένε Computer game στο Scratch

Πώς το λένε Computer game στο Scratch Πώς το λένε Computer game στο Scratch Μιχαηλία Γκαλλέ¹, Χριστόδουλος Σατραζέμης², 1 Μαθήτρια Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου mixaelagalle@gmail.com 2 Μαθητής Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου linosatra@gmail.com

Διαβάστε περισσότερα

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού Εκτιμώμενη διάρκεια: Τέσσερις διδακτικές ώρες Ένταξη στο πρόγραμμα σπουδών Στο νέο Πρόγραμμα Σπουδών του Γυμνασίου

Διαβάστε περισσότερα

Οδηγίες Χρήσης Εφαρμογής

Οδηγίες Χρήσης Εφαρμογής Οδηγίες Χρήσης Εφαρμογής SciFY - Οκτώβριος 2016 Περιεχόμενα Εισαγωγή 3 Οδηγίες για τον εργοθεραπευτή / φροντιστή 4 Αρχική Οθόνη 4 Δημιουργία προφίλ 5 Ρυθμίσεις Επικοινωνίας 6 Ρυθμίσεις Ψυχαγωγίας 9 Ρυθμίσεις

Διαβάστε περισσότερα

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape Επιμέλεια: Γκέκα Ασπασία Ιωάννου Ελένη Κούνουπα Άννα Τμήμα Εφαρμογών Πληροφορικής Α 1 Εξάμηνο Δ.ΙΕΚ Αιγάλεω 1 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Slalom Race Computer Game on Scratch

Slalom Race Computer Game on Scratch Slalom Race Computer Game on Scratch Μπογιατζή Ελισάβετ ¹, Μεταξά Παυλίνα², Νεστοροπούλου Ευσεβεία³, Μαρόγλου Ευαγγελία 4 1 boelisabet@gmail.com 2 pavlinamet2@gmail.com 3 makis.nestoro@hotmail.com 4 euaggeliam2000@gmail.com

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Python Σύνοψη Σε αυτό το κεφάλαιο κάνουμε μια σύντομη εισαγωγή στην Python και στα εργαλεία λογισμικού που θα χρησιμοποιήσουμε στη συνέχεια του συγγράμματος. Προαπαιτούμενη γνώση

Διαβάστε περισσότερα

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch Τι θα μάθουμε σήμερα: Να ενεργοποιούμε το λογισμικό Scratch Να αναγνωρίζουμε τα κύρια μέρη του περιβάλλοντος του Scratch Να δημιουργούμε/εισάγουμε/τροποποιούμε

Διαβάστε περισσότερα

Κατερίνα Χατζηφωτεινού. Αλγοριθμικά παιχνίδια & Kodu

Κατερίνα Χατζηφωτεινού. Αλγοριθμικά παιχνίδια & Kodu Κατερίνα Χατζηφωτεινού Αλγοριθμικά παιχνίδια & Kodu Αλγοριθμικά παιχνίδια Η μαγική σφαίρα http://users.uom.gr/~p2/sde/divers/psychic.swf Η μαγική σφαίρα http://users.uom.gr/~p2/sde/divers/psychic.swf Λύση:

Διαβάστε περισσότερα

Προγραμματισμός. Το περιβάλλον του scratch

Προγραμματισμός. Το περιβάλλον του scratch Προγραμματισμός Η τέχνη του να μπορούμε να γράφουμε τα δικά μας προγράμματα ονομάζεται προγραμματισμός. Γενικότερα ως προγραμματιστικό πρόβλημα θεωρούμε κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση

Διαβάστε περισσότερα

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

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites Σκοπός της 10ης άσκησης είναι να μάθουμε να χρησιμοποιούμε sprites και να φτιάξουμε ένα παιχνίδι που χρησιμοποιεί συγκρούσεις. Θα δούμε επίσης μερικά

Διαβάστε περισσότερα

Η ΕΚΠΑΙΔΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ ΣΤΟ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ

Η ΕΚΠΑΙΔΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ ΣΤΟ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ Η ΕΚΠΑΙΔΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ ΣΤΟ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ Συμπληρωματικό κείμενο στη θέση του Δ.Σ. της ΠΕΚαΠ για την Πληροφορική στην Πρωτοβάθμια Εκπαίδευση. Τελική έκδοση κειμένου: Η ΕΚΠΑΙΔΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ ΣΤΟ ΔΗΜΟΤΙΚΟ

Διαβάστε περισσότερα

Σενάριο 16: Ο κόσμος του Robby

Σενάριο 16: Ο κόσμος του Robby Σενάριο 16: Ο κόσμος του Robby Φύλλο Εργασίας Τίτλος: Ο κόσμος του Robby Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές εργασίες.

Διαβάστε περισσότερα

Tank Rescue Computer Game σε Scratch

Tank Rescue Computer Game σε Scratch Tank Rescue Computer Game σε Scratch Μπέλτσος Νικόλαος 1, Παναγιωτόπουλος Ευάγγελος 2, Παπαδόπουλος Βασίλης 3, Παπουδάρης Κωνσταντίνος 4 1 sokin2@yahoo.gr 2 vaggelispan@yahoo.gr 3 papadopoulos_vasilis@yahoo.gr

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

Τιμή Τιμή. σκορ. ζωές

Τιμή Τιμή. σκορ. ζωές Εισαγωγή στην έννοια των μεταβλητών Οι μεταβλητές Θα πρέπει να έχετε παρατηρήσει ότι έχουμε φτιάξει τόσα παιχνίδια μέχρι αυτό το σημείο και δεν έχουμε αναφερθεί πουθενά για το πως μπορούμε να δημιουργήσουμε

Διαβάστε περισσότερα

ΠΡΟΔΙΑΓΡΑΦΕΣ. Η προπαίδεια είναι παιχνίδι! Εκπαιδευτικό Παιχνίδι Μαθητές Δημοτικού Έτος Κυκλοφορίας 2017 Τιμή πλήρους έκδοσης 0.99 Λογισμικό.

ΠΡΟΔΙΑΓΡΑΦΕΣ. Η προπαίδεια είναι παιχνίδι! Εκπαιδευτικό Παιχνίδι Μαθητές Δημοτικού Έτος Κυκλοφορίας 2017 Τιμή πλήρους έκδοσης 0.99 Λογισμικό. ΠΡΟΔΙΑΓΡΑΦΕΣ Η προπαίδεια είναι παιχνίδι! Κατηγορία Εκπαιδευτικό Παιχνίδι Κοινό Μαθητές Δημοτικού Έτος Κυκλοφορίας 2017 Τιμή πλήρους έκδοσης 0.99 Λογισμικό Android Περίληψη Το νέο app «Η προπαίδεια είναι

Διαβάστε περισσότερα

1ο Φύλλο Εργασίας. της παλέτας Ήχος. Πώς μπορούμε να εισάγουμε και να αναπαράγουμε έναν ήχο;

1ο Φύλλο Εργασίας. της παλέτας Ήχος. Πώς μπορούμε να εισάγουμε και να αναπαράγουμε έναν ήχο; 1ο Φύλλο Εργασίας της παλέτας Ήχος Πώς μπορούμε να εισάγουμε και να αναπαράγουμε έναν ήχο; Για να εισάγουμε ένα ή περισσότερα μουσικά κλιπ σε ένα αντικείμενο, επιλέγουμε από το μεσαίο παράθυρο του Scratch

Διαβάστε περισσότερα

Τεχνολογίες Πληροφορίας & Επικοινωνιών στην Εκπαίδευση (ΤΠΕ-Ε)

Τεχνολογίες Πληροφορίας & Επικοινωνιών στην Εκπαίδευση (ΤΠΕ-Ε) Τεχνολογίες Πληροφορίας & Επικοινωνιών στην Εκπαίδευση (ΤΠΕ-Ε) Τεχνολογίες Μάθησης Learning Technologies 2015 Τι είναι; Πρόκειται για διεπιστημονική Κατεύθυνση σπουδών που εστιάζει στις Τεχνολογίες Μάθησης

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά Τσάπελη Φανή ΑΜ: 243113 Ενισχυτική Μάθηση για το παιχνίδι dots Τελική Αναφορά Περιγραφή του παιχνιδιού Το παιχνίδι dots παίζεται με δύο παίχτες. Έχουμε έναν πίνακα 4x4 με τελείες, και σκοπός του κάθε παίχτη

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους του Σταύρου Κοκκαλίδη Μαθηματικού Διευθυντή του Γυμνασίου Αρχαγγέλου Ρόδου-Εκπαιδευτή Στα προγράμματα Β Επιπέδου στις ΤΠΕ Ορισμός της έννοιας του σεναρίου.

Διαβάστε περισσότερα

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Φτάσαμε σιγά σιγά στο τέλος του βιβλίου. Αντί για κάποιον επίλογο σκέφτηκα να συλλέξω κάποια πράγματα που θα ήθελα να πω σε κάποιον ο οποίος αρχίζει

Διαβάστε περισσότερα

Ψυχαγωγικό Λογισμικό

Ψυχαγωγικό Λογισμικό Ψυχαγωγικό Λογισμικό Δομή Μαθήματος, Περιεχόμενα, Στόχοι Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορικής, Ιόνιο Πανεπιστήμιο, Τμήμα Πληροφορικής, Κωνσταντίνος Οικονόμου, Επίκουρος Καθηγητής Βασίλειος Κομιανός,

Διαβάστε περισσότερα

RobotArmy Περίληψη έργου

RobotArmy Περίληψη έργου RobotArmy Περίληψη έργου Στην σημερινή εποχή η ανάγκη για αυτοματοποίηση πολλών διαδικασιών γίνεται όλο και πιο έντονη. Συνέχεια ακούγονται λέξεις όπως : βελτιστοποίηση ποιότητας ζωής, αυτοματοποίηση στον

Διαβάστε περισσότερα

αντίστοιχο γεγονός. Όταν όντως το κουμπί

αντίστοιχο γεγονός. Όταν όντως το κουμπί Εισαγωγή στην αλληλεπίδραση Τα έργα που έχουμε αναπτύξει έως τώρα τρέχουν ένα σενάριο και σταματούν. Τα αντικείμενά μας αλλάζουν θέση και ενδυμασίες, παίζουν διαφορετικούς ήχους και ζωγραφίζουν διάφορα

Διαβάστε περισσότερα

Οδηγός για Αρχάριους. έκδοση 1.4.

Οδηγός για Αρχάριους. έκδοση 1.4. Οδηγός για Αρχάριους έκδοση 1.4 Το Scratch είναι μια νέα γλώσσα προγραμματισμού, που σου επιτρέπει να δημιουργείς τις δικές σου διαδραστικές ιστορίες, κινούμενα σχέδια, παιχνίδια, μουσική και τέχνη. Σύρε

Διαβάστε περισσότερα

Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr

Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr Digital natives Οι σπουδαστές του 21 ου αιώνα - Digital natives Οι σπουδαστές του 21 ου αιώνα έχουν αλλάξει ριζικά

Διαβάστε περισσότερα

Ανακύκλωσε το Computer Game σε Scratch

Ανακύκλωσε το Computer Game σε Scratch Ανακύκλωσε το Computer Game σε Scratch Καλλιόπη Σατραζέμη¹, Μαρία Χαραλαμπίδου², Κλεοπάτρα Χαριστέ³, Λαμπρινή Χρυσή 4 1 kalliopaki_s@yahoo.gr 2 maraki98_xar@hotmail.gr 3 kleo.xar@hotmail.gr 4 lamprini1998@gmail.com

Διαβάστε περισσότερα

Breakdance Computer Game σε Scratch.

Breakdance Computer Game σε Scratch. Breakdance Computer Game σε Scratch. Ταστίογλου Μαριάννα 1, Τραντοπούλου Μαργαρίτα 2 1 Μαθήτρια Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου atas94@otenet.gr 2 Μαθήτρια Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου daizy@in.gr Δασκαλάκης

Διαβάστε περισσότερα

Η έννοια της μεταβλητής και της λίστας με την βοήθεια του λογισμικού Scratch

Η έννοια της μεταβλητής και της λίστας με την βοήθεια του λογισμικού Scratch Η έννοια της μεταβλητής και της λίστας με την βοήθεια του λογισμικού Scratch Επαρκές Σενάριο Γνωστικό αντικείμενο: Πληροφορική Δημιουργός: Ουρανία Καλαντζή ΙΝΣΤΙΤΟΥΤΟ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΠΟΛΙΤΙΚΗΣ ΥΠΟΥΡΓΕΙΟ

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Εκπαιδευτικό Σενάριο 2

Εκπαιδευτικό Σενάριο 2 Εκπαιδευτικό Σενάριο 2 Τίτλος: Τα συνεργατικά περιβάλλοντα δημιουργίας και επεξεργασίας υπολογιστικών φύλλων Εκτιμώμενη διάρκεια εκπαιδευτικού σεναρίου: Προβλέπεται να διαρκέσει συνολικά 3 διδακτικές ώρες.

Διαβάστε περισσότερα

APP INVENTOR ΜΕΡΟΣ A - 1 Η ΕΒΔΟΜΑΔΑ. Σοφία Τζελέπη,

APP INVENTOR ΜΕΡΟΣ A - 1 Η ΕΒΔΟΜΑΔΑ. Σοφία Τζελέπη, APP INVENTOR ΜΕΡΟΣ A - 1 Η ΕΒΔΟΜΑΔΑ Σοφία Τζελέπη, stzelepi@sch.gr App Inventor 2 Google, 15 Dec 2010 MIT, 1 Jan 2012 Cloud-based software Gmail account Android Phone Τι μπορώ να κάνω; 3 animations games

Διαβάστε περισσότερα

«Kάστρα και πραμάτειες- Πόλεις και βιωσιμότητα»

«Kάστρα και πραμάτειες- Πόλεις και βιωσιμότητα» «Kάστρα και πραμάτειες- Πόλεις και βιωσιμότητα» Θεματικό σεμινάριο για το Εθνικό Θεματικό Δίκτυο: «ΚΑΣΤΡΟ: Ο ΤΟΠΟΣ ΤΟ ΟΡΙΖΕΙ ΚΑΙ Ο ΑΝΘΡΩΠΟΣ ΤΟ ΧΤΙΖΕΙ» Θεσσαλονίκη 28 και 29 Ιανουαρίου 2016 ΚΠΕ Μολάων &

Διαβάστε περισσότερα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 6.1 Γλώσσες και εργαλεία προγραμματισμού Τι είναι οι γλώσσες προγραμματισμού; Είναι οι τεχνητές γλώσσες στις οποίες γράφονται οι εντολές των

Διαβάστε περισσότερα

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

Εισαγωγή στην επανάληψη Εισαγωγή στην επανάληψη Στο κεφάλαιο αυτό ήρθε η ώρα να μελετήσουμε την επανάληψη στον προγραμματισμό λίγο πιο διεξοδικά! Έχετε ήδη χρησιμοποιήσει, χωρίς πολλές επεξηγήσεις, σε προηγούμενα κεφάλαια τις

Διαβάστε περισσότερα

Εφαρμογές Προσομοίωσης

Εφαρμογές Προσομοίωσης Εφαρμογές Προσομοίωσης H προσομοίωση (simulation) ως τεχνική μίμησης της συμπεριφοράς ενός συστήματος από ένα άλλο σύστημα, καταλαμβάνει περίοπτη θέση στα πλαίσια των εκπαιδευτικών εφαρμογών των ΤΠΕ. Μπορούμε

Διαβάστε περισσότερα

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

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος 4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος Μεταβλητές Συστήματος Η Processing χρησιμοποιεί κάποιες μεταβλητές συστήματος, όπως τις ονομάζουμε, για να μπορούμε να παίρνουμε πληροφορίες από το

Διαβάστε περισσότερα

Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips

Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips Το scratch διαθέτει αρκετά μεγάλη ποικιλία έτοιμων ενσωματωμένων ηχητικών clips τα οποία θα βρείτε πολύ ενδιαφέροντα και θα σας βάλουν σε πειρασμό να πειραματιστείτε

Διαβάστε περισσότερα

Διαδραστικός πίνακας. Ναλμπάντη Θεοδώρα Σχολική Σύμβουλος Πληροφορικής Θράκης

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

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Γνωστικοί στόχοι: Μετά το τέλος της πρακτικής, οι μαθητές πρέπει να μπορούν να:

Γνωστικοί στόχοι: Μετά το τέλος της πρακτικής, οι μαθητές πρέπει να μπορούν να: ΣΧΟΛΕΙΟ Με αφόρμηση τα ενημερωτικά σποτ του ιστότοπου http://www.saferinternet.gr οι μαθητές εντοπίζουν αρχικά τα κυριότερα προβλήματα που σχετίζονται με τη μη ορθή χρήση του Διαδικτύου. Στη συνέχεια αφού

Διαβάστε περισσότερα

Παιχνιδοκεντρική μάθηση στο Scratch

Παιχνιδοκεντρική μάθηση στο Scratch Παιχνιδοκεντρική μάθηση στο Scratch Ιωάννης Λιαρής 1, jliaris@yahoo.gr 1 Kαθηγητής Πληροφορικής ΠΕ 19 Ελληνικό Κολλέγιο Θεσσαλονίκης Περίληψη Σήμερα αναπτύσσεται στις κοινότητες της εκπαίδευσης μια τάση

Διαβάστε περισσότερα

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

Διαβάστε περισσότερα

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι Παρτώνας Αλέξανδρος Επιβλέπων: Δρ.

Διαβάστε περισσότερα

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

Διαβάστε περισσότερα

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

Διαβάστε περισσότερα

Οδηγός ξεκινήματος. έκδοση 2.0.

Οδηγός ξεκινήματος. έκδοση 2.0. Οδηγός ξεκινήματος έκδοση 2.0 Το SCRATCH είναι μια γλώσσα προγραμματισμού, που σου επιτρέπει να δημιουργείς τις δικές σου διαδραστικές ιστορίες, κινούμενα σχέδια, παιχνίδια, μουσική και τέχνη. Αυτός ο

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Δημητρίου Σωτήρης 6417

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Δημητρίου Σωτήρης 6417 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Δημητρίου Σωτήρης 6417 Παιχνίδια διάχυτου υπολογισμού Τεχνολογίες Σχεδιασμός Υλοποίηση Αξιολόγηση Προοπτικές Ένα παιχνίδι διάχυτου υπολογισμού είναι ένα παιχνίδι που έχει ένα ή περισσότερα

Διαβάστε περισσότερα

Διδασκαλία γραμμάτων-συλλαβών

Διδασκαλία γραμμάτων-συλλαβών Διδασκαλία γραμμάτων-συλλαβών Ο μαθητής αξιοποιεί τον Η/Υ και ακούει κάθε φορά την εκφώνηση της άσκησης αλλά και την εργασία που έχει να κάνει. Μπορεί να διακρίνει ακουστικά και οπτικά την πρώτη συλλαβή-γράμμα,

Διαβάστε περισσότερα

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι 21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB Αλγόριθμος Διαδικασία Παράμετροι Τι είναι Αλγόριθμος; Οι οδηγίες που δίνουμε με λογική σειρά, ώστε να εκτελέσουμε μια διαδικασία ή να επιλύσουμε ένα

Διαβάστε περισσότερα

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής Μάθημα 7ο Πολυμέσα 7.Α.1 Παρουσιάσεις Οι παρουσιάσεις είναι μια εφαρμογή που χρησιμεύει στην παρουσίαση των εργασιών μας. Αποτελούν μια συνοπτική μορφή των εργασιών μας. Μέσω δημιουργίας διαφανειών, μορφοποιήσεων

Διαβάστε περισσότερα

Towards a Creative Education in the Classroom. Methodologies and Innovative Dynamics for Teaching. Bilbao - Spain, 27/06/ /07/2016

Towards a Creative Education in the Classroom. Methodologies and Innovative Dynamics for Teaching. Bilbao - Spain, 27/06/ /07/2016 Δράση KA1 Μαθησιακή Κινητικότητα Προσωπικού Σχολικής Εκπαίδευσης I.P.O.Q. - Ionidios Plan for Openess and Quality (2015-1-EL01-KA101-013745) Towards a Creative Education in the Classroom. Methodologies

Διαβάστε περισσότερα

Μάθηση & διδασκαλία στην προσχολική εκπαίδευση: βασικές αρχές

Μάθηση & διδασκαλία στην προσχολική εκπαίδευση: βασικές αρχές Μάθηση & διδασκαλία στην προσχολική εκπαίδευση: βασικές αρχές Σκοποί ενότητας Να συζητηθούν βασικές παιδαγωγικές αρχές της προσχολικής εκπαίδευσης Να προβληματιστούμε για τους τρόπους με τους οποίους μπορεί

Διαβάστε περισσότερα

CONNECT: Virtual Mobility

CONNECT: Virtual Mobility CONNECT: Virtual Mobility Ενώνοντας νέους ανθρώπους στην Ευρώπη Αναφορά: Αξιολόγηση προϊόντων Εκτελεστική Περίληψη Erasmus+ Key Action 2: Strategic Partnerships Αριθμός Αναφοράς Έργου:: 2014-UK01-K1205-011954

Διαβάστε περισσότερα

Τσικολάτας Α. (2011) Οι ΤΠΕ ως Εκπαιδευτικό Εργαλείο στην Ειδική Αγωγή. Αθήνα

Τσικολάτας Α. (2011) Οι ΤΠΕ ως Εκπαιδευτικό Εργαλείο στην Ειδική Αγωγή. Αθήνα Οι ΤΠΕ ως Εκπαιδευτικό Εργαλείο στην Ειδική Αγωγή Τσικολάτας Αλέξανδρος Αναπληρωτής Καθηγητής, ΕΕΕΕΚ Παμμακαρίστου, tsikoman@hotmail.com Περίληψη Στην παρούσα εργασία γίνεται διαπραγμάτευση του ρόλου των

Διαβάστε περισσότερα

Σχεδιασμός Ψηφιακών Εκπαιδευτικών Εφαρμογών ΙI

Σχεδιασμός Ψηφιακών Εκπαιδευτικών Εφαρμογών ΙI Σχεδιασμός Ψηφιακών Εκπαιδευτικών Εφαρμογών ΙI Εργασία 1 ΣΤΟΙΧΕΙΑ ΦΟΙΤΗΤΡΙΑΣ: Τσελίγκα Αρετή, 1312009161, Στ εξάμηνο, κατεύθυνση: Εκπαιδευτική Τεχνολογία και Διαπολιτισμική Επικοινωνία Το γνωστικό αντικείμενο

Διαβάστε περισσότερα

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Εισηγητής : Χρήστος Μανώλης δάσκαλος Θεσσαλονίκη Οκτώβριος - Δεκέμβριος

Διαβάστε περισσότερα

Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH.

Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH. 15. ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΛΥΣΗ ΦΥΛΛΩΝ ΕΡΓΑΣΙΑΣ Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH. 16. ΑΞΙΟΛΟΓΗΣΗ Οι βασικές διαδικασίες αξιολόγησης προέρχονται

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Εργαστηριακή Εισήγηση. «Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch»

Εργαστηριακή Εισήγηση. «Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch» Εργαστηριακή Εισήγηση «Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch» Σαρημπαλίδης Ιωάννης Καθηγητής Πληροφορικής, Γενικό Λύκειο Πεντάπολης johnsaribalidis@yahoo.gr ΠΕΡΙΛΗΨΗ To προτεινόμενο διδακτικό

Διαβάστε περισσότερα

Λογισμικό Καθοδήγησης ή Διδασκαλίας

Λογισμικό Καθοδήγησης ή Διδασκαλίας Λογισμικό Καθοδήγησης ή Διδασκαλίας Ένα σύγχρονο σύστημα καθοδήγησης στοχεύει να ικανοποιήσει τουλάχιστον δύο βασικές φάσεις των οποίων η δομή και η αλληλουχία παρουσιάζεται στο σχήμα 3: παρουσίαση της

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

Ο ΓΥΡΟΣ ΤΟΥ ΚΟΣΜΟΥ ΣΕ 80 ΕΡΩΤΗΣΕΙΣ

Ο ΓΥΡΟΣ ΤΟΥ ΚΟΣΜΟΥ ΣΕ 80 ΕΡΩΤΗΣΕΙΣ Ο ΓΥΡΟΣ ΤΟΥ ΚΟΣΜΟΥ ΣΕ 80 ΕΡΩΤΗΣΕΙΣ Περιεχόμενα Περιγραφή του παιχνιδιού... 2 Στόχος του παιχνιδιού... 2 Ο βασικός χαρακτήρας... 2 1 η πίστα... 2 2 η πίστα... 2 3 η πίστα... 3 Ο τροχός (ζάρι)... 3 Ο βοηθός...

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ

ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ Γιατί η Ρομποτική στην Εκπαίδευση; A) Τα παιδιά όταν σχεδιάζουν, κατασκευάζουν και προγραμματίζουν ρομπότ έχουν την ευκαιρία να μάθουν παίζοντας και να αναπτύξουν δεξιότητες Η

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Τα βιβλία της σειράς «ΕΤΣΙ ΓΡΑΦΩ ΚΑΙ ΙΑΒΑΖΩ µε µικρά βήµατα µέσα από συγκεκριµένους στόχους» πρώτο, δεύτερο και τρίτο µέρος, αποτελούν πολύ καλό βοήθηµα για την πρώτη ανάγνωση και γραφή. Οι µαθητές της

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΕ ΣΥΣΚΕΥΕΣ ΚΙΝΗΤΗΣ

ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΕ ΣΥΣΚΕΥΕΣ ΚΙΝΗΤΗΣ 1 of 18 4/16/2015 4:11 PM ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΕ ΣΥΣΚΕΥΕΣ ΚΙΝΗΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Το ερωτηματολόγιο αυτό έχει διάφορες ενότητες για τα ψηφιακά παιχνίδια που παίζονται σε συσκευές κινητής τεχνολογίας και ειδικότερα

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων.

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή κινήσου και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων. Μάθημα : Εισαγωγή 2 Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων. Κάνοντας διπλό κλικ στην εντολή μπορείς να δεις ότι η γάτα κινείται στη σκηνή. Επίλεξε την

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012 ΘΕΜΑ Α Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: 1. Κάθε βρόγχος που υλοποιείται με την εντολή Για μπορεί να

Διαβάστε περισσότερα

Πληροφορική Γυμνασίου. Δρ. Κοτίνη Ισαβέλλα Σχ. Σύμβουλος Πληροφορικής Πέλλας, Ημαθίας και Πιερίας

Πληροφορική Γυμνασίου. Δρ. Κοτίνη Ισαβέλλα Σχ. Σύμβουλος Πληροφορικής Πέλλας, Ημαθίας και Πιερίας Πληροφορική Γυμνασίου Δρ. Κοτίνη Ισαβέλλα Σχ. Σύμβουλος Πληροφορικής Πέλλας, Ημαθίας και Πιερίας Εκπαιδευτικό υλικό Ο εκπαιδευτικός μπορεί να σχεδιάσει τις δικές του δραστηριότητες, να αξιοποιήσει αξιόλογο

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 4 ο : MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Δρ. Βασίλειος Σάλτας 1, Αλέξης Ηλιάδης 2, Ιωάννης Μουστακέας 3 1 Διδάκτωρ Διδακτικής Μαθηματικών, Επιστημονικός Συνεργάτης ΑΣΠΑΙΤΕ Σαπών coin_kav@otenet.gr

Διαβάστε περισσότερα

Μεταβλητές. Σενάριο για μαθητές Γ γυμνασίου διάρκειας 3+ ωρών

Μεταβλητές. Σενάριο για μαθητές Γ γυμνασίου διάρκειας 3+ ωρών Σενάριο για μαθητές Γ γυμνασίου διάρκειας 3+ ωρών Κύριος στόχος Εισαγωγή στις μεταβλητές, ένταξή τους στη λειτουργία ενός αλγόριθμου και αντιμετώπιση μερικών δυσκολιών, κυρίως προερχόμενων από τις πρότερες

Διαβάστε περισσότερα

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου 1. Τι ονομάζουμε κόμβο και τι σύνδεσμο σε μια μη γραμμικά διαρθρωμένη ύλη; Με την έννοια σύνδεσμος (link) σε μια μη γραμμικά διαρθρωμένη

Διαβάστε περισσότερα

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

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2 Παιχνίδι Κρεμάλα Στη δραστηριότητα αυτή θα δημιουργήσεις το γνωστό παιχνίδι της κρεμάλας στο οποίο ο παίκτης προσπαθεί να μαντέψει τα γράμματα από τα οποία αποτελείται μια άγνωστη λέξη. Το πρόγραμμα που

Διαβάστε περισσότερα

1. Οι Τεχνολογίες της Πληροφορίας και των Επικοινωνιών στην εκπαιδευτική διαδικασία

1. Οι Τεχνολογίες της Πληροφορίας και των Επικοινωνιών στην εκπαιδευτική διαδικασία 1. Οι Τεχνολογίες της Πληροφορίας και των Επικοινωνιών στην εκπαιδευτική διαδικασία Ο διδακτικός σχεδιασμός (instructional design) εμφανίσθηκε στην εκπαιδευτική διαδικασία και στην κατάρτιση την περίοδο

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1 Εισαγωγή στην Γλώσσα Προγραμματισμού Python 12/10/16 costis@teicrete.gr 1 Διάφορες Γλώσσες Προγραμματισμού C or C++ Java Perl Scheme Fortran Python Matlab 12/10/16 costis@teicrete.gr 2 Περίληψη Παρουσίασης

Διαβάστε περισσότερα

1ο μέρος 1. Φτιάχνουμε την πίστα. Μια ενδεικτική πίστα φαίνεται παρακάτω:

1ο μέρος 1. Φτιάχνουμε την πίστα. Μια ενδεικτική πίστα φαίνεται παρακάτω: 1ο μέρος 1. Φτιάχνουμε την πίστα. Μια ενδεικτική πίστα φαίνεται παρακάτω: Εικόνα 1 Για να φτιάξουμε το τείχος επιλέγουμε καταρχήν την καρτέλα Γραφικά (κάτω δεξιά) και έπειτα το γεμάτο τετράγωνο από την

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

Πιο αναλυτικά, δημιουργήθηκε, μια ιστοσελίδα τύπου wiki όπου προστέθηκαν οι ανάλογες αναφορές σε δραστηριότητες από το Φωτόδεντρο.

Πιο αναλυτικά, δημιουργήθηκε, μια ιστοσελίδα τύπου wiki όπου προστέθηκαν οι ανάλογες αναφορές σε δραστηριότητες από το Φωτόδεντρο. ΣΧΟΛΕΙΟ Στα πλαίσια της ευέλικτης ζώνης, με θέμα την διατροφή, οι μαθητές με την χρήση των Τ.Π.Ε, εξερευνούν, πειραματίζονται και δοκιμάζουν τις γνώσεις τους σε μια σειρά από ψηφιακές δραστηριότητες. Οι

Διαβάστε περισσότερα

Κεφάλαιο 1: Εισαγωγή. 1.1 Οι γλώσσες προγραμματισμού

Κεφάλαιο 1: Εισαγωγή. 1.1 Οι γλώσσες προγραμματισμού Κεφάλαιο 1: Εισαγωγή Η Επιστήμη της Πληροφορικής (Computer Science) αποτελεί σήμερα μία από τις σημαντικότερες και πλέον εξελισσόμενες επιστήμες. Οι εφαρμογές της έχουν εισχωρήσει σε όλα τα πεδία της ερευνητικής

Διαβάστε περισσότερα

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή Τάξη: Γ Γυμνασίου

Διαβάστε περισσότερα

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

Διαβάστε περισσότερα

Scratch 2.0 Προκλήσεις

Scratch 2.0 Προκλήσεις Scratch 2.0 Προκλήσεις Οι µαθητές, εκτός από τα φύλλα εργασίας και τις ασκήσεις, προτείνεται να υλοποιούν και µία προγραµµατιστική πρόκληση σε κάθε ένα από τα 12 µαθήµατα. Οι προγραµµατιστικές προκλήσεις

Διαβάστε περισσότερα

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 1η - Εισαγωγή

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 1η - Εισαγωγή Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 1η - Εισαγωγή Ιόνιο Πανεπιστήμιο, Τμήμα Πληροφορικής, 2015 Κωνσταντίνος Οικονόμου, Επίκουρος Καθηγητής Βασίλειος Κομιανός, Υποψήφιος Διδάκτορας

Διαβάστε περισσότερα

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

Διαβάστε περισσότερα

The Mind. Mind σε ένα νέο επίπεδο.επιλέξτε ένα από τα δύο μουσικά κομμάτια στο CD. Με το πρώτο κομμάτι

The Mind. Mind σε ένα νέο επίπεδο.επιλέξτε ένα από τα δύο μουσικά κομμάτια στο CD. Με το πρώτο κομμάτι The Mind Παίκτες: 2-4 Ηλικία: 8 ετών και άνω Διάρκεια: περίπου 20 λεπτά Wolfgang Warsch Ας γίνουμε ένα...! Όσο προχωρείτε σε αυτό το πείραμα, τόσο περισσότερο βιώνετε το The Mind σε μια νέα διάσταση. Λαμβάνετε

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης του «Μαθη.Συ.»

Εγχειρίδιο Χρήσης του «Μαθη.Συ.» Εργαστήριο Εκπαιδευτικής Τεχνολογίας Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Φιλοσοφική Σχολή Τμήμα Φ.Π.Ψ., Τομέας Παιδαγωγικής Διευθυντής: Καθ. Χ. Κυνηγός Εγχειρίδιο Χρήσης του «Μαθη.Συ.» Πίνακας

Διαβάστε περισσότερα

3 ο εργαστήριο Scratch for NinjaCoders

3 ο εργαστήριο Scratch for NinjaCoders 3 ο εργαστήριο Scratch for NinjaCoders Τίτλος εφαρμογής: Space Invaders (Διαστημικοί εισβολείς) Περιγραφή στόχων, σενάριο εφαρμογής, παρουσίαση scratch, μεταβλητές, συμβάντα, προγραμματιστικές δομές 0

Διαβάστε περισσότερα

Scratch Δημοτικό 4: Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch (οι μεταβλητές σαν απαριθμητές)

Scratch Δημοτικό 4: Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch (οι μεταβλητές σαν απαριθμητές) Scratch Δημοτικό 4: Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch (οι μεταβλητές σαν απαριθμητές) Εκτιμώμενη διάρκεια: Μία διδακτική ώρα Ένταξη στο πρόγραμμα σπουδών Στο Πρόγραμμα Σπουδών του Ολοήμερου

Διαβάστε περισσότερα