Το Παιχνιδι ‘Binary Droids’»
Total Page:16
File Type:pdf, Size:1020Kb
Α ΡΙΣΤΟΤΕΛΕΙΟ Π ΑΝΕΠΙΣΤΗΜΙΟ Θ ΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Α.Ε.Μ. 2090 «ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ ΓΛΩΣΣΑ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ ‘BINARY DROIDS’» (Learning Games Development in Python: The ‘Binary Droids’ Game) ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΤΑΥΡΟΣ Επ. Καθηγητής ΘΕΣΣΑΛΟΝΙΚΗ 2015 ΠΕΡΙΛΗΨΗ Π ΕΡΙΛΗΨΗ Αντικείμενο της παρούσας εργασίας είναι η παιχνιδοκεντρική μάθηση και η ανάπτυξη ενός εκπαιδευτικού παιχνιδιού. Με την ανάπτυξη της τεχνολογίας στις μέρες μας, η διαδικασία της εκπαίδευσης και της μάθησης έχουν αλλάξει δραματικά. Η μάθηση δεν είναι πλέον μια κλασσική διαδικασία που στηρίζεται μόνο στα βιβλία. Η εργασία ασχολείται με την παιχνιδοκεντρική μάθηση και τη χρήση των παιχνιδιών σε αυτή τη διαδικασία, ενώ περιγράφεται και η ανάπτυξη ενός τέτοιου εκπαιδευτικού παιχνιδιού. Στο πρώτο μέρος περιγράφεται η έννοια της παιχνιδοκεντρικής μάθησης, εκείνης της διαδικασίας μάθησης που χρησιμοποιεί ως μηχανισμό το παιχνίδι. Επίσης περιγράφονται οι διάφορες κατηγορίες εκπαιδευτικών παιχνιδιών. Στο δεύτερο μέρος γίνεται αναφορά στη γλώσσα Python, το μοντέλο εκτέλεσής της και την ιστορία της. Έπειτα γίνεται αναφορά στη βιβλιοθήκη Pygame και στα εργαλεία που χρησιμοποιήθηκαν στην ανάπτυξη του παιχνιδιού. Στο τρίτο μέρος της εργασίας αναλύεται η υλοποίηση ενός εκπαιδευτικού ψηφιακού παιχνιδιού με τίτλο «Binary Droids», υλοποιημένο σε Python, με χρήση της Pygame. Το παιχνίδι έχει σκοπό την εκμάθηση μιας βασικής έννοιας της Πληροφορικής, αυτήν του δυαδικού συστήματος αρίθμησης, και της μετατροπής αριθμών από το δυαδικό σύστημα στο γνωστό σε όλους δεκαδικό. Το παιχνίδι χρησιμοποιεί επιβραβεύσεις και ποινές, όταν ο χρήστης εκτελεί τις μετατροπές των αριθμών σωστά και όταν τις εκτελεί λάθος, αντίστοιχα. Όσο ο χρήστης επιβραβεύεται για τις επιδόσεις του στο παιχνίδι, ανεβαίνει επίπεδα και συνεπώς αυξάνεται και η δυσκολία. Μετά το πέρας του παιχνιδιού, ο παίκτης έχει μια καλύτερη εικόνα του δυαδικού αριθμητικού συστήματος και του τρόπου λειτουργίας του. ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' III ABSTRACT A BSTRACT 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 ΕΥΧΑΡΙΣΤΙΕΣ Ε ΥΧΑΡΙΣΤΙΕΣ Πριν την παρουσίαση των αποτελεσμάτων της παρούσας εργασίας, αισθάνομαι την υποχρέωση να ευχαριστήσω ορισμένους από τους ανθρώπους που γνώρισα, συνεργάστηκα μαζί τους και έπαιξαν πολύ σημαντικό ρόλο στην πραγματοποίησή της. Θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή κ. Δημητριάδη, για τη βοήθειά του και την καθοδήγησή του. Ευχαριστώ τους φίλους και συναδέλφους, πολλοί από τους οποίους έχουν ζήσει και οι ίδιοι τη διαδικασία της πτυχιακής εργασίας, για τις συμβουλές τους και το σημαντικό feedback για το παιχνίδι μου. Θέλω να ευχαριστήσω την οικογένειά μου για την ενθάρρυνση και την πολύτιμη συμπαράσταση της όλους αυτούς τους μήνες που ασχολούμαι με την εργασία, και όσα χρόνια φοιτώ στη σχολή, καθώς και τις φίλες μου και τους φίλους μου για τη σημαντική ψυχολογική υποστήριξη τους. Επίσης, θα ήθελα να ευχαριστήσω όσα άτομα έκαναν τη δουλειά μου όλον αυτόν τον καιρό πιο εύκολη, με ενέπνευσαν και έμμεσα με στήριξαν, μέσω της κωμωδίας και της μουσικής. 04/07/2015 Αντωνία Στράντζη ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' VII ΠΕΡΙΕΧΟΜΕΝΑ Π ΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ.................................................................................................................... III ABSTRACT ...................................................................................................................... V ΕΥΧΑΡΙΣΤΙΕΣ .............................................................................................................. VII ΠΕΡΙΕΧΟΜΕΝΑ ............................................................................................................. IX ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ......................................................................................... 13 ΚΕΦΑΛΑΙΟ 2: ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ΚΑΙ ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ .... 17 2.1 ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ............................................................................................. 19 2.1.1 Ο ΟΡΟΣ GAMEPLAY ............................................................................................. 19 2.1.2 ΚΑΤΗΓΟΡΙΕΣ ΠΑΙΧΝΙΔΙΩΝ .................................................................................. 20 2.1.3 ΑΝΑΠΤΥΞΗ ΨΗΦΙΑΚΩΝ ΠΑΙΧΝΙΔΙΩΝ .................................................................. 21 2.1.3.1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ............................................................................................... 21 2.1.3.2 ΟΜΑΔΑ ΑΝΑΠΤΥΞΗΣ ......................................................................................... 21 2.1.3.3 ΕΡΓΑΛΕΙΑ ΣΥΓΓΡΑΦΗΣ ΠΑΙΧΝΙΔΙΩΝ ................................................................... 22 2.2 ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΑΙΧΝΙΔΙΑ ................................................................................... 23 2.2.1 ΒΑΣΙΚΟΙ ΠΑΡΑΓΟΝΤΕΣ ΔΟΜΗΣ ΚΑΙ ΟΡΓΑΝΩΣΗΣ ΠΑΙΧΝΙΔΙΩΝ .......................... 23 2.2.2 ΣΧΕΣΗ ΣΕΝΑΡΙΟΥ ΚΑΙ ΠΑΙΧΝΙΔΙΟΥ ΜΑΘΗΣΗΣ ................................................... 24 2.3 ΠΑΙΧΝΙΔΟΚΕΝΤΡΙΚΗ ΜΑΘΗΣΗ.............................................................................. 26 2.3.1 ΤΟ ΜΟΝΤΕΛΟ PRENSKY ...................................................................................... 26 2.3.2 ΕΜΠΛΟΚΗ ΤΩΝ ΜΑΘΗΤΩΝ ΣΤΟ ΠΑΙΧΝΙΔΙ .......................................................... 27 ΚΕΦΑΛΑΙΟ 3: Η ΓΛΩΣΣΑ PYTHON ΚΑΙ Η ΒΙΒΛΙΟΘΗΚΗ PYGAME .......................... 29 3.1 Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PYTHON ........................................................... 31 3.1.1 ΤΟ ΜΟΝΤΕΛΟ ΕΚΤΕΛΕΣΗΣ .................................................................................. 32 ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ 'BINARY DROIDS' IX ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ 3.1.2 ΙΣΤΟΡΙΑ ............................................................................................................... 32 3.1.3 ΕΚΔΟΣΕΙΣ ............................................................................................................ 33 3.1.4 ΧΡΗΣΗ ................................................................................................................. 34 3.1.5 ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ (IDE) .................................................... 34 3.2 Η ΒΙΒΛΙΟΘΗΚΗ PYGAME ....................................................................................... 36 3.2.1 MODULES, ΜΕΘΟΔΟΙ ΚΑΙ ΚΛΑΣΕΙΣ ΤΗΣ PYGAME .............................................. 36 3.2.1.1 MODULE: PYGAME ............................................................................................ 36 3.2.1.2 MODULE: DISPLAY ............................................................................................ 36 3.2.1.3 ΚΛΑΣΗ: SURFACE .............................................................................................. 36 3.2.1.4 MODULE: SPRITE ............................................................................................... 37 3.2.1.5 ΚΛΑΣΗ: RECT .................................................................................................... 37 3.2.1.6 MODULE: IMAGE ............................................................................................... 37 3.2.1.7 MODULE: TRANSFORM ...................................................................................... 37 3.2.1.8 MODULE: MOUSE .............................................................................................. 37 3.2.1.9 MODULE: TIME .................................................................................................. 37 3.2.1.10 MODULE: MUSIC .............................................................................................. 38 3.2.1.11 MODULE: FONT ............................................................................................... 38 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΠΑΙΧΝΙΔΙ «BINARY DROIDS» ..................................................... 39 4.1 ΤΟ ΣΕΝΑΡΙΟ ΚΑΙ Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ ............................................... 41 4.1.1 ΤΟ ΣΕΝΑΡΙΟ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ