ΥΛΟΠΟΙΗΣΗ ΠΑΙΧΝΙΔΙΟΥ ΛΑΒΥΡΙΝΘΟΥ ΣΕ ΓΛΩΣΣΑ ACTIONSCRIPT ΜΕΣΩ ΠΕΡΙΒΑΛΛΟΝΤΟΣ FLASH

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

Download "ΥΛΟΠΟΙΗΣΗ ΠΑΙΧΝΙΔΙΟΥ ΛΑΒΥΡΙΝΘΟΥ ΣΕ ΓΛΩΣΣΑ ACTIONSCRIPT ΜΕΣΩ ΠΕΡΙΒΑΛΛΟΝΤΟΣ FLASH"

Transcript

1 ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ ΠΑΙΧΝΙΔΙΟΥ ΛΑΒΥΡΙΝΘΟΥ ΣΕ ΓΛΩΣΣΑ ACTIONSCRIPT ΜΕΣΩ ΠΕΡΙΒΑΛΛΟΝΤΟΣ FLASH Μ ΑΘΙΟΥΛΑΚΗΣ ΜΑΡΚΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΑΘΑΝΑΣΙΟΣ ΜΑΛΑΜΟΣ Ηράκλειο 2008

2 Περιεχόμενα 1. Εισαγωγή Λαβύρινθος Λαβύρινθοι στην καθημερινότητα Λαβύρινθοι στην επιστήμη υπολογιστών Ρομποτική Εισαγωγή στην Actionscript Αλγόριθμοι Δημιουργίας Λαβυρίνθων Αλγόριθμος Αναζήτησης Πρώτα σε Βάθος (Depth First Search algorithm) Μία περισσότερο αναλυτική περιγραφή του αλγορίθμου DFS : Breadth First Search (ΒFS) αλγόριθμος Αλγόριθμος Επαναληπτικής Εκβάθυνσης (ID) Συμπεράσματα χρήσης αλγορίθμων Εισαγωγή στην εφαρμογή του Παιχνιδιού του Λαβυρίνθου Ανάλυση του γραφικού περιβάλλοντος Flash του Παιχνιδιού Περιγραφή του Intro scene Περιγραφή του main scene Περιγραφή scene επιτυχούς λύσης του λαβυρίνθου Ανάλυση του προγράμματος από την πλευρά του κώδικα actionscript Κώδικας υπεύθυνος για την κίνηση του sprite μέσα στον λαβύρινθο Κώδικας actionscript υπεύθυνος για την παραγωγή του λαβυρίνθου Κώδικας υπεύθυνος για την σχεδίαση του λαβυρίνθου Συμπεράσματα Παράρτημα Κώδικας κίνησης του sprite Κώδικας παραγωγής του λαβυρίνθου Κώδικας σχεδίασης του λαβυρίνθου μέσα στο περιβάλλον Flash

3 7.4 Βιβλιογραφία Ευρετήριο εικόνων

4 1. Εισαγωγή Σκοπός αυτής της εργασίας είναι η υλοποίηση ενός αλγορίθμου, ο οποίος θα κατασκευάζει έναν λαβύρινθο (κυριολεκτικά ένα maze). Στη συνέχεια ο αλγόριθμος αυτός θα τοποθετείται σε ένα γραφικό περιβάλλον για να δημιουργηθεί μία διαδραστική εφαρμογή, στην οποία ο χρήστης θα πρέπει με την βοήθεια των πλήκτρων κατεύθυνσης του πληκτρολογίου του, να καταφέρει μέσα σε συγκεκριμένο χρόνο να δρομολογηθεί από την είσοδο του λαβυρίνθου προς την έξοδό του. Ο αλγόριθμος θα κατασκευαστεί σε γλώσσα προγραμματισμού actionscript, η οποία είναι μία γλώσσα που χρησιμοποιείται κυρίως σε εφαρμογές ανάπτυξης ιστοσελίδων, σε εφαρμογές που χρησιμοποιούν την πλατφόρμα Adobe Flash Player αλλά και σε ρομποτικές εφαρμογές. Η actionscript αρχικά αναπτύχθηκε από την Macromedia το 1998 για τον έλεγχο απλών δισδιάστατων γραφικών κατασκευασμένων σε flash. Το γραφικό περιβάλλον στο οποίο θα τοποθετηθεί ο αλγόριθμος είναι ένα περιβάλλον κατασκευασμένο σε flash, κάτι που είναι πολύ κοινό όσον αφορά εφαρμογές κατασκευασμένες σε γλωσσά προγραμματισμού actionscript. Ο αλγόριθμος που θα χρησιμοποιήσουμε στην παρούσα εφαρμογή είναι ένας αλγόριθμος τύπου DFS (Depth First Search). Υιοθετούμε έναν λαβύρινθο τέτοιου τύπου για λόγους που θα αναφερθούν παρακάτω. 4

5 2. Λαβύρινθος Όταν ακούμε την λέξη λαβύρινθος στο νου μας έρχεται η εικόνα ενός χώρου ή ενός οικοδομήματος το οποίο έχει πολύπλοκους διαδρόμους και που είναι δύσκολος ο προσανατολισμός ή η έξοδος από αυτό. 2.1 Λαβύρινθοι στην καθημερινότητα Στην Ελληνική μυθολογία, ο λαβύρινθος ήταν ένα περίπλοκο δόμημα το οποίο ήταν κατασκευασμένο από τον θρυλικό τεχνίτη Δαίδαλο για τον Βασιλιά της Κρήτης Μίνωα στην Κνωσσό. Ο σκοπός του λαβυρίνθου ήταν να κρατάει στους δαιδαλώδεις διαδρόμου του τον Μινώταυρο, ένα μυθικό πλάσμα το οποίο ήταν μισός άνθρωπος και μισός ταύρος και που ο οποίος τελικά σκοτώθηκε από τον Αθηναίο ήρωα Θησέα. Ο Δαίδαλος είχε κατασκευάσει τον λαβύρινθο τόσο επιδέξια και πανούργα που και ο ίδιος μπορούσε δύσκολα να βγει από μέσα μετά από την στιγμή που τελείωσε την κατασκευή του. Τον Θησέα όμως τον βοήθησε η Αριάδνη, κόρη του Βασιλιά Μίνωα, η οποία του έδωσε ένα κουβάρι κλωστής, τον λεγόμενο Μίτο της Αριάδνης, που με τη βοήθεια του οποίου ο Θησέας κατάφερε να βγει τυλίγοντάς τον από τον λαβύρινθο. Ο όρος λαβύρινθος (labyrinth) συχνά χρησιμοποιείται εναλλακτικά με τον δαίδαλο (maze), αλλά οι ειδικοί του θέματος στους καιρούς μας χρησιμοποιούν έναν πιο αυστηρό διαχωρισμό. Κατά τους ίδιους, ο δαίδαλος είναι ένας γρίφος υπό τη μορφή ενός πολύπλοκου διακλαδωτού διαδρόμου με επιλογές διαφορετικού μονοπατιού και κατεύθυνσης, ενώ ο λαβύρινθος αποτελείται από ένα μοναδικό μονοπάτι προς το κέντρο του. Ο λαβύρινθος λοιπόν έχει ένα αναμφισβήτητο μονοπάτι προς το κέντρο του και πίσω στην αρχή και δεν είναι σχεδιασμένος να είναι δύσκολος κατά την πλοήγησή του. Το σχέδιο μοναδικού μονοπατιού του λαβυρίνθου του Μινώταυρου ήταν διαδεδομένο σε καλλιτεχνικές αναπαραστάσεις, αν και η λογική και μυθολογικές περιγραφές δείχνουν ξεκάθαρα ότι ο Μινώταυρος ήταν παγιδευμένος σε έναν λαβύρινθο με πολλά μονοπάτια, δηλαδή σε έναν δαίδαλο (δαιδαλώδης λαβύρινθος). 5

6 Εικόνα Ρωμαϊκό μωσαϊκό Ο λαβύρινθος μπορεί να αναπαρασταθεί και συμβολικά αλλά και φυσικά. Συμβολικά, αναπαρίσταται στην τέχνη σχεδίων σε σπηλιές, σε σχέδια πάνω σε κεραμικά σκεύη, σε τατουάζ πάνω στο ανθρώπινο σώμα κ.α. Φυσικές αναπαραστάσεις είναι κοινές ανά τον κόσμο και συνήθως κατασκευάζονται πάνω στο έδαφος έτσι ώστε να είναι δυνατόν να τους διασχίσει κάποιος από την είσοδο προς το κέντρο και ξανά πίσω στην αρχή. Ιστορικά, έχουν χρησιμοποιηθεί και για ομαδικές τελετές αλλά και για προσωπικό διαλογισμό. Εικόνα Λαβύρινθος στο δάπεδο του καθεδρικού ναού του Σάρτρ, Γαλλία Προϊστορικοί λαβύρινθοι πιστεύεται ότι εξυπηρετούσαν ως παγίδες για μοχθηρά πνεύματα ή ως καθορισμένα μονοπάτια τελετουργικών χορών. Στον μεσαίωνα, ο λαβύρινθος συμβόλιζε το δύσκολο μονοπάτι προς το Θεό με ένα ξεκάθαρα καθορισμένο κέντρο (Θεός) και μία είσοδο (γέννηση). Τους λαβύρινθους μπορούμε να τους φανταστούμε σαν συμβολικές μορφές προσκυνήματος όπου ο άνθρωπος περπατώντας στο μονοπάτι, ανέρχεται προς την 6

7 λύτρωση και τον διαφωτισμό. Πολλοί άνθρωποι δεν ήταν σε θέση να ταξιδέψουν σε ιερούς τόπους, οπότε οι λαβύρινθοι και οι προσευχές υποκαθιστούσαν τέτοια ταξίδια. Αργότερα, η θρησκευτική σπουδαιότητα των λαβυρίνθων ξεχάστηκε, και συνήθως εξυπηρετούσαν κυρίως ως μορφές ψυχαγωγίας, αν και τελευταία, έχει παρατηρηθεί μία ανόρθωση της πνευματικής πλευρά τους. Πολλοί πρόσφατα κατασκευασμένοι λαβύρινθοι υπάρχουν σήμερα, σε εκκλησίες και πάρκα. Επίσης, πολλές ταινίες υιοθετούν την έννοια του λαβυρίνθου, όπως το Pan s Labyrinth, μία ταινία του 2006 που εξιστορεί την φανταστική περιπέτεια ενός μικρού κοριτσιού σε έναν κατάφυτο εγκαταλελειμμένο λαβύρινθο όπου συναντά φανταστικά πλάσματα. Εικόνα Κινηματογραφικό Αφίσα της ταινίας Ο Λαβύρινθος του Πάνα. Μία επίσης καταπληκτική κλασσική ταινία του 1973, που υιοθετεί την έννοια του λαβυρίνθου στην τελική σκηνή της, είναι το Enter The Dragon με πρωταγωνιστή τον άσσο των πολεμικών τεχνών, Bruce Lee. Στο τέλος της ταινία, η τελική μάχη λαμβάνει χώρα σε ένα μεγάλο σκοτεινό δωμάτιο με καθρέφτες, όπου ο ήρωας προσπαθεί να βρει τον αντίπαλό του πριν τον βρει εκείνος. 7

8 Εικόνα Σκηνή από την ταινία Enter The Dragon. Λαβύρινθοι χρησιμοποιούνται και από μοντέρνους μυστικιστές για να επιτύχουν μία κατάσταση πνευματικής ανύψωσης. Περπατώντας κατά μήκος των γυρισμάτων ενός λαβυρίνθου, κάποιος χάνει την αίσθηση της κατεύθυνσης και του έξω κόσμου οπότε ηρεμεί το μυαλό και το πνεύμα του. Αυτό είναι μία μορφή διαλογισμού. Πολλοί είναι που πιστεύουν ότι ο διαλογισμός έχει ευεργετικές ιδιότητες για την υγεία αλλά και για την πνευματική κατάσταση του ανθρώπου. 2.2 Λαβύρινθοι στην επιστήμη υπολογιστών Οι λαβύρινθοι αποτελούν ένα μεγάλο τμήμα της πληροφορικής και της επιστήμης υπολογιστών γενικά. Χρησιμοποιούνται σε πολλούς τομείς όπως στην Ρομποτική, τον 8

9 προγραμματισμό, την κατασκευή ηλεκτρονικών παιχνιδιών και στη ηλεκτρονική, που είναι μερικά μόνο από τα παραδείγματα. Ακόμα και το ίδιο το Internet αποτελεί στην ουσία έναν τεράστιο σε έκταση τύπο λαβυρίνθου που αποτελείται από προσωπικούς υπολογιστές, κόμβους, servers κ.α. Εικόνα Μία εικαστική αναπαράσταση του Internet Ρομποτική Στην τεχνολογία της ρομποτικής, είναι κοινά τα ρομπότ που κατασκευάζονται και που είναι σε θέση να μπορούν να μετακινηθούν από ένα σημείο προς ένα άλλο δια 9

10 μέσω ενός χώρου με εμπόδια. Με τη βοήθεια πολλαπλών αισθητήρων αλλά κυρίως με τον απαραίτητο προγραμματισμό, μπορούν να μετακινηθούν και να επιλύσουν έναν λαβύρινθο. Ένας διαδεδομένος τρόπος προγραμματισμού ενός ρομπότ για να βρει τον δρόμο μέσω ενός λαβυρίνθου, είναι με έναν αλγόριθμο τύπου wall follower, χρησιμοποιώντας είτε τον κανόνα του αριστερού είτε του δεξιού χεριού. Περεταίρω ανάλυση του κανόνα αυτού θα γίνει αργότερα. Εικόνα Εικονογραφημένη λογική του right-hand wall-follower αλγορίθμου Εικόνα Μαθητές δοκιμάζουν το ρομπότ επίλυσης λαβύρινθου που κατασκεύασαν. 3. Εισαγωγή στην Actionscript H actionscript είναι μια αντικειμενοστρεφής γλώσσα προγραμματισμού (OOP), που σχεδιάστηκε συγκεκριμένα για τη δημιουργία animation σε ιστοσελίδες. Αρχικά κυκλοφόρησε με τη Macromedia flash 4 και ενισχύθηκε για τη flash 5. Η actionscript 10

11 είναι μια περίπλοκη έκδοση της γλώσσας script που εισάχθηκε στη flash 3, και που καθιστά δυνατή για τον σχεδιαστή την δημιουργία γραφικών περιβαλλόντων επί οθόνης (όπως παιχνίδια, εφαρμογές ηλεκτρονικού εμπορίου κ.α.) που μπορούν να αποκριθούν στο χρήστη με την εισαγωγή δεδομένων μέσω του πληκτρολογίου ή του ποντικιού. Μεταγενέστερες εκδόσεις έκαναν δυνατή τη χρήση της actionscript για την κατασκευή web-based παιχνιδιών και αρκετών εφαρμογών internet με πλούσιο πολυμεσικό περιεχόμενο όπως βίντεο και ήχο Η actionscript είναι μια βασισμένη σε γλώσσα, ακριβώς όπως συμβαίνει στην πραγματική ζωή, όπου οι ενέργειες προκαλούνται από γεγονότα. Η ActionScript μοιάζει πολύ με την JavaScript, κάτι το οποίο η Macromedia έκανε σκόπιμα. Μια προδιαγραφή η ECMA-262, γράφτηκε για να παρέχει διεθνή πρότυπα για τη γλώσσα JavaScript και η ActionScript στην Flash MX είναι βασισμένη στην προδιαγραφή αυτή. Η ActionScript επιτρέπει στον προγραμματιστή να παρέχει action-oriented οδηγίες(κάνε - αυτό) και logic-oriented οδηγίες (έλεγξε αυτό και έπειτα κάνε κάτι) στην flash εφαρμογή του. Ο ακόλουθος κώδικας, που λειτουργεί σε οποιοδήποτε συμβατό player, δημιουργεί ένα πεδίο κειμένου σε βάθος 0, στη θέση (0, 0) στην οθόνη (που μετριέται σε pixels), η οποία είναι 100 pixels σε ύψος και πλάτος. Κατόπιν η παράμετρος του κειμένου ορίζεται σε "Hello, World!", και αυτό στη συνέχεια προβάλλεται στον player.: Εικόνα 3.1 Κώδικας σε Actionscript 2.0 Αν τώρα θέλουμε να κατασκευάσουμε εξωτερικά class αρχεία actionscript, τότε το προηγούμενο παράδειγμα, με την ονομασία Greeter.as, γράφεται ως εξής : 11

12 Εικόνα 3.2 Κώδικας σε Actionscript 2.0 Η actionscript από τότε που πρωτοεμφανίστηκε, έχει υποστεί αλλαγές και έτσι, από την actionscript 1.0, έχουμε περάσει στην actionscript 3.0. Το πρώτο μας παράδειγμα που είναι σε actionscript 2.0, σε actionscript 3.0 γίνεται ως εξής : Εικόνα 3.3 Κώδικας σε Actionscript Αλγόριθμοι Δημιουργίας Λαβυρίνθων 12

13 Υπάρχουν διάφοροι διαφορετικοί αλγόριθμοι δημιουργίας λαβυρίνθων. Ένας λαβύρινθος είναι βασικά μια γραφική παράσταση που παρουσιάζει μια διάβαση μεταξύ δύο σημείων. Εάν οι περιοχές του γράφου δεν είναι συνδεμένες, θα υπάρχουν περιοχές του γράφου που σπαταλιούνται επειδή δεν συμβάλλουν στην περιοχή αναζήτησης. Εάν ο γράφος περιέχει βρόχους, τότε μπορεί να υπάρξουν πολλαπλά μονοπάτια μεταξύ των επιλεγμένων πορειών. Λόγω αυτού, η παραγωγή ενός λαβυρίνθου προσεγγίζεται συχνά σαν την παραγωγή ενός τυχαίου δέντρου μέσα σε ένας συνδεδεμένο γράφο. Οι βρόχοι που μπορούν να συγχύσουν του επιλυτές λαβυρίνθων μπορούν να εισαχθούν με την προσθήκη τυχαίων ακρών στο αποτέλεσμα κατά τη διάρκεια του αλγορίθμου. 4.1 Αλγόριθμος Αναζήτησης Πρώτα σε Βάθος (Depth First Search algorithm) Αυτός ο αλγόριθμος είναι μια τυχαία έκδοση του Depth-First-Search αλγόριθμου αναζήτησης. 1. Άρχισε από ένα συγκεκριμένο κελί και αποκάλεσέ το "έξοδο." 2. Χαρακτήρισε το τρέχον κύτταρο σαν visited, και πάρε μία λίστα των γειτονικών κελιών του. Για κάθε γείτονα, αρχίζοντας από έναν τυχαία επιλεγμένο γείτονα. 2.1 Εάν εκείνος ο γείτονας δεν έχει επισκεφτεί, αφαιρέστε τον τοίχο μεταξύ αυτού του κελιού και εκείνου του γείτονα, και έπειτα επανέλαβε την ίδια διαδικασία με εκείνο τον γείτονα ως τρέχον κελί. 4.2 Μία περισσότερο αναλυτική περιγραφή του αλγορίθμου DFS : 13

14 «Ο αλγόριθμος αναζήτησης πρώτα σε βάθος (Depth - First Search - DFS) επιλέγει προς επέκταση την κατάσταση που βρίσκεται πιο βαθιά στο δένδρο.» 1. Βάλε την αρχική κατάσταση στο μέτωπο της αναζήτησης. 2. Αν το μέτωπο της αναζήτησης είναι κενό τότε σταμάτησε. 3. Βγάλε την πρώτη κατάσταση από το μέτωπο της αναζήτησης. 4. Αν είναι η κατάσταση μέλος του κλειστού συνόλου τότε πήγαινε στο βήμα Αν η κατάσταση είναι μία από τις τελικές, τότε ανέφερε τη λύση. 6. Αν θέλεις και άλλες λύσεις πήγαινε στο βήμα 2. Αλλιώς σταμάτησε. 7. Εφάρμοσε τους τελεστές μετάβασης για να βρεις τις καταστάσεις-παιδιά. 8. Βάλε τις καταστάσεις-παιδιά στην αρχή του μετώπου της αναζήτησης. 9. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 10. Πήγαινε στο βήμα 2. Εικόνα Ο αλγόριθμος DFS σε μορφή ψευδοκώδικα 14

15 Εικόνα Εφαρμογή αλγορίθμου BFS Σχόλια για τον Αναζήτησης-Πρώτα σε Βάθος αλγόριθμο: 1. Το μέτωπο της αναζήτησης είναι μια δομή στοίβας (Stack LIFO, Last in First Out). 2. Η εξέταση αμέσως προηγουμένων (χρονικά) καταστάσεων ονομάζεται χρονική οπισθοδρόμηση (chronological backtracking). Πλεονεκτήματα: 1. Έχει μικρές απαιτήσεις σε χώρο διότι το μέτωπο της αναζήτησης δε μεγαλώνει πάρα πολύ. Μειονεκτήματα: 1. Δεν εγγυάται ότι η πρώτη λύση που θα βρεθεί είναι η βέλτιστη (μονοπάτι με το μικρότερο μήκος ή με μικρότερο κόστος). 2. Εν γένει θεωρείται ατελής (αν δεν υπάρχει έλεγχος βρόχων ή αν ο χώρος αναζήτησης είναι μη πεπερασμένος) 15

16 4.3 Breadth First Search (ΒFS) αλγόριθμος «Ο αλγόριθμος αναζήτησης πρώτα σε πλάτος (Breadth First Search - BFS) εξετάζει πρώτα όλες τις καταστάσεις που βρίσκονται στο ίδιο βάθος και μετά συνεχίζει στην επέκταση καταστάσεων στο αμέσως επόμενο επίπεδο.» Ανάλυση του αλγορίθμου BFS : 1. Βάλε την αρχική κατάσταση στο μέτωπο της αναζήτησης. 2. Αν το μέτωπο της αναζήτησης είναι κενό τότε σταμάτησε. 3. Βγάλε την πρώτη κατάσταση από το μέτωπο της αναζήτησης. 4. Αν είναι η κατάσταση μέλος του κλειστού συνόλου τότε πήγαινε στο βήμα Αν η κατάσταση είναι μία τελική τότε ανέφερε τη λύση. 6. Αν θέλεις και άλλες λύσεις πήγαινε στο βήμα 2. Αλλιώς σταμάτησε. 7. Εφάρμοσε τους τελεστές μεταφοράς για να βρεις τις καταστάσεις-παιδιά. 8. Βάλε τις καταστάσεις-παιδιά στο τέλος του μετώπου της αναζήτησης. 9. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 10. Πήγαινε στο βήμα 2. Εικόνα Ο αλγόριθμος BFS σε μορφή ψευδοκώδικα 16

17 Εικόνα Εφαρμογή αλγορίθμου BFS Σχόλια για τον αλγόριθμο Αναζήτησης-Πρώτα σε Βάθος: 1 Το μέτωπο της αναζήτησης είναι μια δομή ουράς (Queue FIFO, δηλαδή First In First Out). Πλεονεκτήματα: 1. Βρίσκει πάντα την καλύτερη λύση (μικρότερη σε μήκος). 2. Είναι πλήρης. Μειονεκτήματα: 1. Το μέτωπο της αναζήτησης μεγαλώνει πολύ σε μέγεθος. 17

18 4.4 Αλγόριθμος Επαναληπτικής Εκβάθυνσης (ID) «Ο αλγόριθμος επαναληπτικής εκβάθυνσης (Iterative Deepening - ID) συνδυάζει με τον καλύτερο τρόπο τους DFS και BFS.» Ο αλγόριθμος ID: 1. Όρισε το αρχικό βάθος αναζήτησης (συνήθως 1). 2. Εφάρμοσε τον αλγόριθμο DFS μέχρι αυτό το βάθος αναζήτησης. 3. Αν έχεις βρει λύση σταμάτησε. 4. Αύξησε το βάθος αναζήτησης (συνήθως κατά 1). 5. Πήγαινε στο βήμα 2. Εικόνα Ο αλγόριθμος ID σε μορφή ψευδοκώδικα 18

19 Εικόνα Εφαρμογή αλγορίθμου ID Σχόλια για τον αλγόριθμο Επαναληπτικής Εκβάθυνσης Πλεονεκτήματα: 1. Είναι πλήρης. 2. Αν το βάθος αυξάνεται κατά 1 σε κάθε κύκλο και ο ID βρει λύση, τότε αυτή η λύση θα είναι η καλύτερη. Μειονεκτήματα: 1. Όταν αρχίζει ο DFS με διαφορετικό βάθος δε θυμάται τίποτα από την προηγούμενη αναζήτηση. 19

20 4.5 Συμπεράσματα χρήσης αλγορίθμων Οι αλγόριθμοι που αναφέρθηκαν παραπάνω είναι μόνο μερικοί από όσους υπάρχουν για τη δημιουργία λαβυρίνθων. Όπως φαίνεται από τα σχεδιαγράμματα εφαρμογής των τριών αλγορίθμων που αναφέρθηκαν, αυτός με τα λιγότερα βήματα επίλυσης και άρα μικρότερες απαιτήσεις σε χώρο είναι ο αλγόριθμος Αναζήτησης Πρώτα σε Βάθος (DFS). Έτσι λοιπόν, για τον λόγω του ότι τέτοιου είδους εφαρμογές χρησιμοποιούνται συνήθως σε σελίδες web του διαδικτύου, το μέγεθος του αλγορίθμου, και συνάμα του αρχείου της εφαρμογής θέλουμε να είναι όσο το δυνατόν μικρότερο. Χρησιμοποιεί τη γνωστή θεωρία DFS των spanning-trees και είναι έτσι απλούστερο να to καταλάβει και να το εφαρμόσει κάποιος. Επίσης, χρησιμοποιεί όλες τις συνδέσεις του δικτύου για τη δρομολόγηση (έτσι διανέμει καλύτερα το φορτίο), και εγγυάται ότι μερικές πορείες που διαπερνούνται είναι μικρότερου μήκους. 20

21 5. Εισαγωγή στην εφαρμογή του Παιχνιδιού του Λαβυρίνθου Η εφαρμογή του λαβυρίνθου υλοποιήθηκε σε περιβάλλον Flash, με τη βοήθεια του προγράμματος Macromedia Flash MX Το πρόγραμμα αυτό είναι ένα κορυφαίο πρόγραμμα δημιουργίας και επεξεργασίας διανυσματικών γραφικών και animation για χρήση στο Internet και για τη δημιουργία πολυμεσικών εφαρμογών υψηλού επιπέδου. Με το Flash, η εταιρία Macromedia συνδύασε πολλές ισχυρές ιδέες και τεχνολογίες σε ένα και μόνο πρόγραμμα, το οποίο δίνει στους χρήστες τη δυνατότητα να δημιουργήσουν ολοκληρωμένες παρουσιάσεις πολυμέσων και να τις δημοσιεύσουν στο Web. Τα αρχεία που δημιουργούμε με το Flash αποκαλούνται Movie Clips και έχουν την επέκταση.fla, ενώ τα εκτελέσιμα αρχεία flash, αυτά δηλαδή που μπορούν να ενσωματωθούν σε μία ιστοσελίδα ή να μπορούν να τρέξουν αυτόνομα, έχουν την επέκταση.swf. Αν και το Flash έχει σχεδιαστεί έτσι ώστε να βοηθά τους αρχάριους να δημιουργήσουν απλά κινούμενα γραφικά, οποιοσδήποτε είναι εξοικειωμένος με την τεχνολογία των κινουμένων εικόνων μπορεί να χρησιμοποιήσει τα εργαλεία του Flash για να δημιουργήσει ιδιαίτερα περίπλοκες κινούμενες εικόνες. Η γλώσσα σεναρίων του Flash που ονομάζεται ActionScript είναι αρκετά απλή στη χρήση της έτσι ώστε και αρχάριοι να μπορούν να προσθέτουν εύκολα απλά χειριστήρια αλληλεπίδρασης, αλλά και αρκετά ισχυρή ώστε να μπορούν και οι έμπειροι χρήστες να δημιουργούν αλληλεπιδραστικά στοιχεία υψηλού επιπέδου. Το Flash ικανοποιεί την ανάγκη των σχεδιαστών για περισσότερα γραφικά και μεγαλύτερο έλεγχο αυτών των γραφικών παρέχοντας τον τρόπο για τη μετάδοση διανυσματικών εικόνων (vector images) μέσω του Ιστού. Η χρήση διανυσματικών εικόνων, από τη μία μεριά διατηρεί μικρό το μέγεθος των αρχείων, και από την άλλη επιτρέπει την αλλαγή της κλίμακας (scaling) των εικόνων χωρίς απώλειες. Οι δυνατότητες δημιουργίας κινουμένων εικόνων του Flash δεν περιορίζονται μόνο σε χαρακτήρες κινουμένων σχεδίων. Οι κινούμενες εικόνες του Flash περιλαμβάνουν και στοιχεία πλοήγησης όπως κουμπιά και μενού. Εξάλλου, το Flash δεν περιορίζεται αποκλειστικά για τον Ιστό. Υπάρχει και η δυνατότητα διανομής ταινιών Flash σε CD. Είναι δυνατή επίσης η δημιουργία αυτόνομων προβολών και η διανομή τους μέσω ηλεκτρονικού ταχυδρομείου ή σε δίσκους δεδομένων, καθώς και μετατροπή 21

22 δημιουργιών του Flash σε άλλες μορφές όπως για παράδειγμα σε ταινίες Quick Time, AVI, mpeg και άλλες. 5.2 Ανάλυση του γραφικού περιβάλλοντος Flash του Παιχνιδιού Για τη δημιουργία του παιχνιδιού, τέσσερις είναι οι κύριες scenes που έχουμε προσθέσει στο stage, δηλαδή στον χώρο όπου δουλεύουμε στο Flash MX. Το stage θα μπορούσε να χαρακτηριστεί σαν τον καμβά ενός ζωγράφου, ο οποίος πάνω εκεί προσθέτει ότι επιθυμεί για να φτιάξει το έργο του. 22

23 5.2.1 Περιγραφή του Intro scene Εικόνα Το αρχικό scene της εφαρμογής. Στην αρχική σκηνή της εφαρμογής, βλέπουμε ένα χρωματιστό φόντο πάνω στο οποίο είναι τοποθετημένα ορισμένα αντικείμενα. Από αυτά, τα ποιο σημαντικά είναι τα εξής : 3 πεδία στα οποία μπορούμε αν εισάγουμε αριθμητικά δεδομένα, τα οποία χρησιμοποιεί η εφαρμογή για να κατασκευάσει δυναμικά τον λαβύρινθο. Ο λαβύρινθος είναι στην ουσία ένα Grid αποτελούμενο από παραλληλεπίπεδα κελιά. 23

24 Εικόνα Αρχικό στάδιο του λαβυρίνθου. Στο πρώτο πεδίο Δωμάτια X βάζουμε τον αριθμό των κελιών που επιθυμούμε να έχει ο λαβύρινθος στον x άξονα. Στο πεδίο Δωμάτια Y τοποθετούμε τον αριθμό των κελιών που θέλουμε να υπάρχουν στον y άξονα. Τέλος, στο πεδίο Πάχος Τοίχων βάζουμε έναν αριθμό ο οποίος αλλάζει το πάχος των τοιχωμάτων μεταξύ των κελιών έτσι ώστε, αν τα κελιά γίνουν πολλά, να είμαστε σε θέση να αλλάζουμε το πάχος των τοιχωμάτων έτσι ώστε η μετακίνηση μέσα στον λαβύρινθο να μην γίνει δύσκολη. Ένα Start button το οποίο πατώντας το δίνει αρχικές τιμές στον λαβύρινθο και αρχίζει την διαδικασία παραγωγής του. Εικόνα ActionScript κώδικας του Start button. Στην εικόνα 5.2.2, βλέπουμε τον κώδικα που εκτελείται αφού πατηθεί και ελευθερωθεί το κουμπί Start. 24

25 1. ορίζει την μεταβλητή mydate σαν μεταβλητή τύπου ημερομηνίας, δίνοντας της αρχική τιμή την τιμή της τρέχουσας ημερομηνίας. 2. ορίζει τις global μεταβλητές userroomx, userroomy και userwalls και τους δίνει τις τιμές εκείνες που υπάρχουν στα πεδία του αρχικού scene της εφαρμογής, τα roomx_txt, roomy_txt και roomwalls_txt αντίστοιχα. 3. ορίζει τη μεταβλητή starttimer και της δίνει την τιμή του χρόνου που παίρνει από τη μεταβλητή τύπου Date, mydate. 4. τέλος, το play() δίνει το έναυσμα για να αρχίσει να τρέχει ο αλγόριθμος. 25

26 5.2.2 Περιγραφή του main scene Εικόνα Το κύριο scene της εφαρμογής Στην scene αυτή της εφαρμογής βλέπουμε κατά κύριο λόγο τον λαβύρινθο που έχει κατασκευάσει ο αλγόριθμος DFS. Αν προσπαθήσουμε να τον λύσουμε, θα διαπιστώσουμε ότι είναι ένας τέλειος λαβύρινθος. Τέλειος λαβύρινθος αποκαλείται ένας λαβύρινθος ο οποίος διαθέτει ένα και μοναδικό σημείο εισόδου και ένα και μοναδικό σημείο εξόδου. Από κάθε οποιοδήποτε σημείο του λαβυρίνθου, υπάρχει ένα και μόνο μοναδικό μονοπάτι προς ένα οποιοδήποτε άλλο σημείο. Επίσης, σε έναν τέλειο λαβύρινθο δεν υπάρχουν κλειστές διαδρομές (βρόχοι) ούτε και ανοιχτές περιοχές. Συνεπεία αυτού του ορισμού, είναι ότι όλα τα κελιά σε έναν τέλειο λαβύρινθο είναι προσβάσιμα από την αφετηρία μέσω κάποιας μοναδικής διαδρομής, που σημαίνει ότι οι τέλειοι λαβύρινθοι είναι εγγυημένοι ότι έχουν μια μοναδική λύση. Στον λαβύρινθο μέσα βλέπουμε τον χαρακτήρα τον οποίο προσπαθούμε να οδηγήσουμε έξω από το λαβύρινθο. Τα sprite αυτό αποτελεί έναν χαρακτήρα παιχνιδιών υπολογιστών, ο οποίος αναπτύχθηκε από την Ιαπωνική εταιρία 26

27 ηλεκτρονικών παιχνιδιών Capcom το 1987 και έχει το όνομα Megaman. Μία εικονογραφημένη όψη του χαρακτήρα αυτού φαίνεται στην ακόλουθη εικόνα : Εικόνα Ο χαρακτήρας Megaman Άλλα στοιχεία πάνω στο scene έχουμε : Πάνω αριστερά, βλέπουμε τον διαθέσιμο χρόνο που έχουμε, και που σταδιακά μειώνεται, μέσα στον οποίο θα πρέπει να έχουμε καταφέρει να βγούμε από τον λαβύρινθο. Ο χρόνος αυτός είναι καθορισμένος με έναν δείκτη δυσκολίας (Difficulty) εσωτερικά του κώδικα. Εικόνα Κώδικας ActionScript που ορίζει τον διαθέσιμο χρόνο παιχνιδιού Πάνω δεξιά έχουμε 2 buttons, το Back και το Regenerate. Το Back μας μεταφέρει στην αρχική σκηνή όπου μπορούμε να επιλέξουμε αριθμό κελιών και γενικά γεωμετρία του λαβυρίνθου. Το Regenerate εκτελεί τον αλγόριθμο DFS εκείνη τη στιγμή αλλάζοντας τη μορφή του λαβυρίνθου, τα μονοπάτια και γενικά τις διαδρομές συμπεριλαμβανομένης και της λύσης. Το sprite δεν επιστρέφει στην αρχική του θέση αλλά με την ανανέωση του λαβυρίνθου μένει στην θέση όπου βρισκόταν όταν πατήθηκε το κουμπί. 27

28 Εσωτερικά του λαβυρίνθου, βλέπουμε εκτός των κελιά και το sprite, δύο χρωματιστά σημάδια τα οποία αντιπροσωπεύουν την είσοδο και την έξοδο του λαβυρίνθου. Το πράσινο είναι η είσοδος και το κόκκινο η έξοδος, στο οποίο μόλις βρεθεί πάνω του το sprite, το παιχνίδι τελειώνει με τη νίκη του παίκτη. Τέλος, κάτω από τον λαβύρινθο, βλέπουμε ορισμένες πληροφορίες για την γεωμετρία του λαβυρίνθου, δηλαδή όπως φαίνεται και από την εικόνα δείχνει τον αριθμό των κελιών του x και του y άξονα. Επίσης, φαίνονται και τα βήματα τα οποία χρειάστηκε ο αλγόριθμος DFS για να δημιουργήσει τον λαβύρινθο. Αν αυξήσουμε τον αριθμό των κελιών στους δύο άξονες, θα δούμε ότι και ο αριθμός αυτός που αντιπροσωπεύει τα βήματα του αλγορίθμου αυτού, επίσης θα αυξηθεί. 28

29 5.2.3 Περιγραφή scene επιτυχούς λύσης του λαβυρίνθου. Εικόνα Το End scene της εφαρμογής Αν καταφέρουμε και λύσουμε τον λαβύρινθο μέσα στο καθορισμένο χρονικό διάστημα που μας δίνεται, τότε δρομολογούμαστε σε αυτήν την τελική σκηνή της εφαρμογής. Τα κύρια components της scene αυτής είναι τα ακόλουθα : Στην κύρια περιοχή της σκηνής, βλέπουμε μία γραφική αναπαράσταση επίλυσης του λαβυρίνθου και μερικά λόγια ανταμοιβής για την επιτυχία. Το πιο σημαντικό από όλα τα στοιχεία τα οποία απεικονίζονται στη σκηνή, είναι ο χρόνος που φαίνεται και που είναι ο χρόνος τον οποίο χρειαστήκαμε για να μεταβούμε από την αρχή του λαβυρίνθου, μέσω μοναδικού μονοπατιού, προς την έξοδο του. 29

30 Εικόνα Ο κώδικας σε ActionScript που τυπώνει τον χρόνο επίλυσης Από τον κώδικα, βλέπουμε ότι ορίζονται δύο μεταβλητές, η endtime που είναι τύπου ημερομηνίας και η totaltime που είναι αριθμητικού τύπου. Στη συνέχεια, στο πεδίο της σκηνής time_txt τυπώνεται η μεταβλητή totaltime που ισούται με τη διαφορά μίας ήδη ορισμένης από πριν global μεταβλητής, της starttimer από την ίδιου τύπου μεταβλητή endtime και που η διαφορά αυτή μας δίνει τα δευτερόλεπτα που χρειαστήκαμε για να βγούμε από το λαβύρινθο. Τέλος, έχουμε στα αριστερά της σκηνής, δύο κουμπιά που όπως υποδηλώνει το κείμενο πάνω από το κάθε ένα, το πρώτο μας επιστρέφει στην αρχική σκηνή της εφαρμογής, για την περίπτωση που θελήσουμε να αρχίσουμε νέο παιχνίδι, ενώ στην περίπτωση που θέλουμε να κλείσουμε την εφαρμογή, πατάμε το δεύτερο κουμπί το οποίο απλά κλείνει την εφαρμογή. Εικόνα Κώδικας που κλείνει το παράθυρο της εφαρμογής 5.3 Ανάλυση του προγράμματος από την πλευρά του κώδικα actionscript. Στο κεφάλαιο αυτό θα αναλυθούν τα τρία κύρια τμήματα κώδικα τα οποία αποτελούν το παιχνίδι του λαβυρίνθου. Το πρώτο τμήμα αφορά να ελέγχει το sprite που κινείται μέσα στον λαβύρινθο. Το δεύτερο τμήμα θα παράγει τον λαβύρινθο. Τέλος, το τρίτο τμήμα θα τον σχεδιάζει πάνω στο κεντρικό scene παίρνοντας τα δεδομένα από τον κώδικα που έκανε την παραγωγή του λαβυρίνθου. 30

31 5.3.1 Κώδικας υπεύθυνος για την κίνηση του sprite μέσα στον λαβύρινθο. Το παρακάτω μέρος κώδικα, αναλαμβάνει να καταστήσει ικανό το sprite να κινηθεί μέσα στο λαβύρινθο και επίσης να μετράει αντίστροφα το χρόνο που έχει στη διάθεσή του ο παίκτης για να οδηγήσει το sprite στην έξοδο του όπως επίσης και να σταματήσει το παιχνίδι όταν ο παίκτης φτάσει στην έξοδο του λαβυρίνθου. Το sprite, ανάλογα με το πλήκτρο κατεύθυνσης που πατάμε, προχωράει κατά τέσσερις θέσεις στον x ή τον y άξονα κατά τη θετική ή την αρνητική κατεύθυνση του άξονα. Έτσι έχουμε κίνηση στον x άξονα για τα πλήκτρα left και right και κίνηση στον y άξονα για τα πλήκτρα up και down. Η κίνηση γίνεται ανά τέσσερις θέσεις. Αν κατά τη διάρκεια της κίνησης αυτής, το sprite βρεθεί μέσα σε ένα από τα τοιχώματα των κελιών του λαβυρίνθου, τότε ο κώδικας του λέει να μετακινηθεί πάνω στον άξονα που κινιόταν πριν κατά 4 θέσεις, άλλες τέσσερις θέσεις αλλά προς την αρνητική κατεύθυνση. Εικόνα Κίνηση του sprite στους τέσσερις άξονες if(elapsed_time<=0) { _root.gotoandstop(4,0); if(key.isdown(key.left)) { this.play(); this._x -= 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._x += 4; if(key.isdown(key.right)) { 31

32 this.play(); this._x += 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._x -= 4; if((this._x>612) && (this._y>420)) {_root.play(); if(key.isdown(key.down)) { this.play(); this._y += 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._y -= 4; if((this._x>612) && (this._y>420)) { _root.play(); if(key.isdown(key.up)) { this.play(); this._y -= 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._y += 4; Ποιο συγκεκριμένα, στο παρακάτω τμήμα αυτό του κώδικα, το sprite κινείται αριστερά στον νοητό άξονα μετά από το πάτημα του πλήκτρου LEFT όπου εκτελείται το this.play(). Περιοδικά, όσο είναι πατημένο το πλήκτρο, το sprite κινείται κατά - 4 θέσεις αριστερά (κίνηση αριστερά στον άξονα, άρα y), κάτι που είναι συνεχόμενο οπότε δεν φαίνονται μεμονωμένες τετραπλές κινήσεις. Αν κατά τη διάρκεια της κίνησής του αυτής κατά 4 θέσεις αριστερά, καταλήξει μέσα σε κάποιο από τα τοιχώματα ή τα όρια του λαβυρίνθου, τότε ο έλεγχος if γίνεται true οπότε και εκτελείται ο κώδικας this._x +=4;, κάτι που κάνει το sprite να μετακινηθεί προς την αντίθετη κατεύθυνση από όπου ήρθε κατά +4 θέσεις και έτσι να βγει από τα όρια του λαβυρίνθου ή μέσα από κάποιο τοίχωμα. Εικόνα Κώδικας για κίνηση του sprite στον άξονα yy προς αριστερά 32

33 5.3.2 Κώδικας actionscript υπεύθυνος για την παραγωγή του λαβυρίνθου. Το μέρος αυτό του κώδικα, κατασκευάζει ένα πλέγμα από κελιά τα οποία στη συνέχεια τοποθετεί σε ένα πίνακα. Μετά, ο αλγόριθμος επεξεργάζεται τα στοιχεία του πίνακα και κατασκευάζει το λαβύρινθο. Παρακάτω θα γίνει πιο λεπτομερής επεξήγηση της ακολουθίας των βημάτων του αλγορίθμου, ώστε να κατασκευάσει από το πλέγμα ένα σύνολο διαδρομών μοναδικών από σημείο σε σημείο και χωρίς κλειστούς βρόχους, ή μη προσβάσιμα κελιά. Κατά την κατασκευή του λαβυρίνθου, η class generatemaze δεν κατασκευάζει είσοδο ή έξοδο στο λαβύρινθο. Κάτι τέτοιο δεν είναι και τόσο απαραίτητο, αν σκεφτούμε το εξής; Ότι από κάθε σημείο ενός τέλειου λαβυρίνθου προς ένα οποιοδήποτε άλλο σημείο του λαβυρίνθου αυτού, υπάρχει μοναδική διαδρομή. Άρα, μπορούμε να υιοθετήσουμε ένα οποιοδήποτε σημείο του λαβυρίνθου είτε για είσοδο, είτε για έξοδο. Αλγόριθμός DFS με χρήση αναδρομής. Αυτός είναι ο απλούστερος τρόπος δημιουργίας λαβύρινθου. Ο λαβύρινθος δεν έχει είσοδο ή έξοδο. Δεν φυλάσσονται στοιχεία σωστής διαδρομής από την είσοδο στην έξοδο(λύση του λαβυρίνθου) ούτε αναδρομικές διαδρομές. Η σειρά των δωματίων είναι : ΠΑΝΩ ΔΕΞΙΑ ΚΑΤΩ ΑΡΙΣΤΕΡΑ. 33

34 Μία τεχνική που επινοήσαμε για την κατασκευή των διαδρόμων από κελί σε κελί είναι η εξής : Στο δυαδικό σύστημα έχουμε τα ακόλουθα : Εικόνα Πίνακας αντιστοιχιών Αρχικά, μπορούμε να δώσουμε την τιμή 1111 σε όλα τα κελιά τα οποία έχουν και τις τέσσερις πλευρές τους κλειστές. Δηλαδή, για να δείξουμε ότι το ένα τοίχωμα ενός κελιού βρίσκεται στη θέση του, μπορούμε να του δώσουμε την τιμή 1 (δυαδική) και αν είναι ανοιχτό την τιμή 0 (δυαδικό). Έτσι, αρχικοποιούμε τον πίνακα με την function initialize_maze(), δίνοντας σε όλα τα κελιά την τιμή 15, δηλαδή στο δυαδικό την τιμή 1111, κάτι που όπως φαίνεται από τα παραπάνω, δείχνει ότι το κελί που έχει την τιμή 1111(δυαδικό) έχει όλες τις πλευρές του κλειστές. Παίρνουμε λοιπόν και τις τιμές 8, 4, 2, 1 των οποίων οι αντίστοιχες δυαδικές είναι οι 1000, 0100, 0010 και 0001 και παρομοιάζουμε αντίστοιχα τις πλευρές κάθε κελιού με τa string Ν, S, E, W. Ο αλγόριθμος λοιπόν, δίνει μία από αυτές τις τιμές στα γειτονικά κελιά ενός κελιού που επιλέχθηκε τυχαία και εφόσον η τιμή του είναι 15, δηλαδή να μην έχει επισκεφθεί από τον αλγόριθμο πριν. 34

35 Στη συνέχεια, έχουμε τέσσερις περιπτώσεις : Αν το κελί έχει το value Ν (North), τότε ο κώδικας : κάνει την πράξη XOR μεταξύ του (x,y) του κελιού με το 8 (1000) για να ανοίξει τον πάνω τοίχο του κελιού και έπειτα την πράξη XOR των [x, (y-1)] με το 2 (0010) για να ανοίξει τον κάτω τοίχο του πάνω κελιού έτσι ώστε να ανοίξει το μονοπάτι από το κάτω κελί στο πάνω κάνοντας δυνατή την κίνηση προς North. Το παραπάνω τμήμα κώδικα, ανοίγει το μονοπάτι προς το κάτω κελί. Παρόμοια, γίνεται το αντίστοιχο για τις κατευθύνσεις W (West) και E (East). Αν το κελί έχει σαν γειτονικά του, άλλα κελιά με την τιμή 15, τότε τους δίνει την τιμή N, S, W ή E και τα τοποθετεί στο table. Μετά, ανάλογα με την value του κάθε κελιού (N, S, W, E) ανοίγει το κατάλληλο μονοπάτι από και προς το κάθε κελί του πίνακα. Με τον τρόπο αυτό, δημιουργείται ένας πίνακας που περιέχει τις τιμές 1-14 που αντιπροσωπεύουν, αν μετατραπούν στο δυαδικό, όλους τους δυνατούς συνδυασμούς εξόδων των δωματίων. 35

36 5.3.3 Κώδικας υπεύθυνος για την σχεδίαση του λαβυρίνθου. Η class mazedrawer, σχεδιάζει το περίγραμμα του λαβυρίνθου, λαμβάνοντας σαν ορίσματα, ένα αντικείμενο τύπου MovieClip, πάνω στο οποίο θα σχεδιαστεί ο λαβύρινθος, και ένα πίνακα μέσα στον οποίο υπάρχει η περιγραφή του λαβυρίνθου. Τον πίνακα αυτό τον πήραμε ως αποτέλεσμα από την class generatemaze. Η συνάρτηση draw_room είναι που σχεδιάζει τις γραμμές ενός δωματίου του λαβυρίνθου. Σχεδιάζει τις γραμμές προς την φορά των δεικτών του ρολογιού, αρχίζοντας από την πάνω πρώτα, μετά την δεξιά, κάτω και τέλος την αριστερή. var findroombinary:string = room_type.tostring(2); το παραπάνω τμήμα κώδικα, μετατρέπει τα αριθμητικά δεδομένα του πίνακα ορίσματος σε String, υπό μορφή δυαδικού συστήματος, δηλαδή γίνονται οι εξής μετατροπές : 1 > > > > > > > > > > > > > > 1110 Οι τιμές 0000 και 1111, δηλαδή η 0 και η 15 δεν υπάρχουν στα δεδομένα μας, μιας και ένας τέλειος λαβύρινθος δεν έχει κλειστά δωμάτια (1111) ή ανοιχτούς χώρους (0000). Οπότε, έχουμε ένα string από 0 και 1. Στη συνέχεια με τέσσερις ελέγχους if βρίσκουμε τι βρίσκεται σε κάθε θέση του string. Ο παρακάτω έλεγχος γίνεται για την πρώτη θέση που είναι η θέση μηδέν (0). Αν υπάρχει 1 στη θέση αυτή τότε σημαίνει ότι εκείνη η πλευρά δεν πρέπει να έχει άνοιγμα, οπότε με το.lineto() σχεδιάζει μία γραμμή κλείνοντας την πλευρά 36

37 εκείνη. Αν υπάρχει όμως 0 στην θέση αυτή, τότε δεν πρέπει να σχεδιαστεί η πλευρά εκείνη ώστε να ανοίξει ο διάδρομος, οπότε με το.moveto() προσπερνάει την πλευρά αυτή χωρίς να σχεδιάσει τίποτα. if (findroombinary.charat(0) == "1") { moviecliptodraw.lineto(room_x+room_length, room_y); else { moviecliptodraw.moveto(room_x+room_length, room_y); Με τον ίδιο τρόπο γίνονται και για τις υπόλοιπες τρεις πλευρές του δωματίου, if (findroombinary.charat(1) == "1") { moviecliptodraw.lineto(room_x+room_length, room_y+room_height); else { moviecliptodraw.moveto(room_x+room_length, room_y+room_height); if (findroombinary.charat(2) == "1") { moviecliptodraw.lineto(room_x, room_y+room_height); else { moviecliptodraw.moveto(room_x, room_y+room_height); if (findroombinary.charat(3) == "1") { moviecliptodraw.lineto(room_x, room_y); else { moviecliptodraw.moveto(room_x, room_y); ενώ παρακάτω βλέπουμε παραστατικά πως μετακινείται το ενεργό pixel κατά την σχεδίαση ενός δωματίου του λαβυρίνθου, δηλαδή πως μετακινείται καθώς σχεδιάζει μία πλευρά ή πως μετακινείται κατά ένα διάστημα όταν θέλει να αφήσει κενό χώρο. 37

38 6. Συμπεράσματα. Ολοκληρώνοντας την παρουσίαση των χαρακτηριστικών του προγράμματος που υλοποιήθηκε στα πλαίσια της διπλωματικής εργασίας, έχουμε τα εξής συμπεράσματα: Το πρόγραμμα αυτό του λαβυρίνθου που υλοποιήσαμε, ήταν ένα σχετικώς απλό πρόγραμμα από πλευρά σχεδίασης και προγραμματιστικής απόψεως. Με τη γλώσσα actionscript μπορούμε να κατασκευάσουμε αρκετά πιο πολύπλοκα προγράμματα ενώ η Flash μας επιτρέπει να τα εκδώσουμε με τη μορφή ενός μικρού αρχείου. Τέτοιου είδους αρχεία στον καιρό μας είναι πολύ διαδεδομένα σε όλη την έκταση του World Wide Web είτε σαν downloadable αρχεία, είτε περισσότερο συχνά, ενσωματωμένα σε κάποια ιστοσελίδα όπου ο κάθε επισκέπτης μπορεί κατευθείαν με τη βοήθεια πληκτρολογίου και ποντικιού να αλληλεπιδράσει με την εφαρμογή. Κυκλοφορούν πολλά τέτοιου είδους παιχνίδια σήμερα στον κυβερνοχώρο. Από απλά παιχνίδια λαβυρίνθων, banners αλληλεπίδρασης ιστοσελίδων, παιχνίδια ένδυσης χαρακτήρων για μικρά παιδιά, μέχρι πολυσύνθετα παιχνίδια ρόλων (Role Playing Games) που εμπεριέχουν πλοκή, μάχες και εναλλακτικές καταλήξεις με βάση τις επιλογές του παίκτη. Τέτοιου είδους διασκέδασή βρίσκει καλή ανταπόκριση από ένα μεγάλο μέρος των χρηστών του Διαδικτύου για τον λόγω του ότι στη σημερινή μας εποχή των γρήγορων ρυθμών, ο ελεύθερος χρόνος του ατόμου είναι περιορισμένος, οπότε αυτή η μικρής διάρκειας διασκέδαση είναι εφικτή. Στη σημερινή μας εποχή της εξέλιξης, το Διαδίκτυο έχει επεκταθεί από τον προσωπικό μας υπολογιστή σε μία πληθώρα συσκευών ικανές να παρέχουν πρόσβαση στον κυβερνοχώρο, όπως πλέον η πλειοψηφία των κινητών τηλεφωνικών συσκευών, PDA s, palmtops και διάφορες άλλες. Επίσης, η ηλεκτρονική τεχνολογία επιτρέπει στις εν λόγω συσκευές να είναι ικανές να εκτελέσουν αρχεία τύπου Flash και έτσι ο κάθε χρήστης να μπορεί να έχει πρόσβαση σε τέτοιου είδους διασκέδαση οπουδήποτε οποτεδήποτε. Ο κλάδος αυτός λοιπόν της υλοποίησης τέτοιων προγραμμάτων/παιχνιδιών γνωρίζει σημαντική άνθηση εξαιτίας της αυξανόμενης ζήτησής τους από το κοινό και από εταιρίες δημιουργίας ιστοσελίδων. Αποτελεί λοιπόν ένα προσοδοφόρο επάγγελμα για τον νέο προγραμματιστή. 38

39 7. Παράρτημα. 7.1 Κώδικας κίνησης του sprite Στο παράρτημα αυτό, παραθέτουμε ολοκληρωμένο των κώδικα actionscript που είναι υπεύθυνος για την κίνηση του sprite μέσα στον λαβύρινθο χρησιμοποιώντας τα πλήκτρα κίνησης του πληκτρολογίου.... on(release) { stopdrag(); onclipevent(enterframe) { var nowtime:date=new Date; var difficulty=0.1; var timetolose= (_global.userroomx*_global.userroomx*difficulty*1000); var elapsed_time:number=math.round((timetolose- (nowtime.gettime() - _global.starttimer))/1000); _root.thetime_txt.text="χρονοσ: " + elapsed_time+ " seconds"; if(elapsed_time<=0) { _root.gotoandstop(4,0); if(key.isdown(key.left)) { this.play(); this._x -= 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._x += 4; if(key.isdown(key.right)) { this.play(); this._x += 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._x -= 4; if((this._x>612) && (this._y>420)) {_root.play(); if(key.isdown(key.down)) { this.play(); this._y += 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._y -= 4; 39

40 if((this._x>612) && (this._y>420)) { _root.play(); if(key.isdown(key.up)) { this.play(); this._y -= 4; if (_root.labpanel_mc.hittest(this._x, this._y, true)) { this._y += 4;... 40

41 7.2 Κώδικας παραγωγής του λαβυρίνθου Στο μέρος αυτό του παρατήματος, έχουμε ολοκληρωμένο τον κώδικα actionscript που κατασκευάζει τον λαβύρινθο σε έναν πίνακα, πρώτα σαν ένα πλέγμα κελιών και έπειτα αφαιρώντας γειτονικά τοιχώματα κατασκευάζει τις διαδρομές μεταξύ τους.... class generatemaze { // Αλγόριθμός DFS με χρήση αναδρομής. // Αυτός είναι ο απλούστερος τρόπος δημιουργίας λαβύρινθου. // Ο ΛΑΒΥΡΙΝΘΟΣ ΔΕΝ ΕΧΕΙ ΕΙΣΟΔΟ ΚΑΙ ΕΞΟΔΟ // ΔΕΝ ΦΥΛΑΣΣΟΝΤΑΙ ΣΤΟΙΧΕΙΑ ΣΩΣΤΗΣ ΔΙΑΔΡΟΜΗΣ ΑΠΟ ΤΗΝ ΕΙΣΟΔΟ ΣΤΗΝ ΕΞΟΔΟ (ΛΥΣΗ) // ΟΥΤΕ Η ΑΝΑΔΡΟΜΙΚΕΣ ΔΙΑΔΡΟΜΕΣ (BACKTRACK) // // ΣΕΙΡΑ ΔΩΜΑΤΙΩΝ: ΠΑΝΩ ΔΕΞΙΑ ΚΑΤΩ ΑΡΙΣΤΕΡΑ var roomstack:array = new Array(); var themaze:array = new Array(); var totalrooms:number; var roomsx:number; var roomsy:number; var totalsteps:number=0; function generatemaze(rows:number, cols:number) { totalrooms = rows*cols; roomsx=cols; roomsy=rows; initialize_maze(rows, cols); mazedfs(); function getmaze():array { return themaze; function getnumberofsteop():number { return totalsteps; function mazedfs():void { var visitedrooms:number = 1; var unvisitedneighbors:string; var currentroomx:number = random(roomsx-1); var currentroomy:number = random(roomsy-1); roomstack.push(currentroomx +"," + currentroomy); while(visitedrooms<totalrooms) { totalsteps++; unvisitedneighbors=""; var currentroom:string = roomstack[(roomstack.length-1)]; var roomdetails:array = currentroom.split(",", 2); currentroomx = Number(roomDetails[0]); 41

42 currentroomy = Number(roomDetails[1]); // Βρίσκω τα γειτονικά κελία που δεν έχουν ακόμα επισκεφθεί. Η τιμή 15 δεν μπορεί // να υπάρχει σε έναν τέλειο λαβύρινθο οπότε αν το κελί έχει τιμή 15 δεν έχει ακόμα επισκεφθεί. if(themaze[currentroomx][currentroomy-1]==15) { unvisitedneighbors += "N"; if(themaze[currentroomx][currentroomy+1]==15) { unvisitedneighbors += "S"; if(themaze[currentroomx+1][currentroomy]==15) { unvisitedneighbors += "E"; if(themaze[currentroomx-1][currentroomy]==15) { unvisitedneighbors += "W"; if(unvisitedneighbors.length > 0) { visitedrooms++; // Επιλέγω ένα κελί στην τύχη και σπάω τους μεταξύ τους τοίχους. var nextcelltovisit:number = random(unvisitedneighbors.length); var nextcelltovisitposition:string= unvisitedneighbors.charat(nextcelltovisit); // ΠΑΝΩ ΔΕΞΙΑ ΚΑΤΩ ΑΡΙΣΤΕΡΑ // // // XOR ^ if(nextcelltovisitposition=="n") { themaze[currentroomx][currentroomy] = (themaze[currentroomx][currentroomy] ^ 8); themaze[currentroomx][currentroomy-1] = (themaze[currentroomx][currentroomy-1] ^ 2 ); roomstack.push(currentroomx +"," + (currentroomy-1)); if(nextcelltovisitposition=="s") { themaze[currentroomx][currentroomy] = (themaze[currentroomx][currentroomy] ^ 2); themaze[currentroomx][currentroomy+1] = (themaze[currentroomx][currentroomy+1] ^ 8 ); roomstack.push(currentroomx +"," + (currentroomy+1)); if(nextcelltovisitposition=="e") { themaze[currentroomx][currentroomy] = (themaze[currentroomx][currentroomy] ^ 4); themaze[currentroomx+1][currentroomy] = (themaze[currentroomx+1][currentroomy] ^ 1 ); roomstack.push((currentroomx+1) +"," + currentroomy); if(nextcelltovisitposition=="w") { themaze[currentroomx][currentroomy] = (themaze[currentroomx][currentroomy] ^ 1); themaze[currentroomx-1][currentroomy] = (themaze[currentroomx-1][currentroomy] ^ 4 ); 42

43 else { roomstack.push((currentroomx-1) +"," + currentroomy); // POP στη λίστα και πάω πίσω. roomstack.pop(); function initialize_maze(rows:number, cols:number):void { var i:number; var j:number; for (i=0; i<cols; i++) { var templine:array = new Array(); themaze[i] = templine; for (j=0; j<rows; j++) { themaze[i][j] = 15;.. 43

44 7.3 Κώδικας σχεδίασης του λαβυρίνθου μέσα στο περιβάλλον Flash. Εδώ, έχουμε ολόκληρο τον κώδικα ο οποίος σχεδιάζει τον λαβύρινθο, παίρνοντας τα δεδομένα από το array δεδομένων που κατασκεύασε η function generatemaze.... class mazedrawer extends MovieClip { // Κλάση για σχεδίαση του περιγράμματος του λαβυρίνθου. Ο κατασκευαστής λαμβάνει // ως όρισμα ένα αντικείμενο τύπου MovieClip πάνω στο οποίο θα σχεδιαστεί ο λαβύρινθος // και ένα πίνακα στον οποίο υπάρχει η περιγραφή του λαβύρινθου. var moviecliptodraw:movieclip; var room_length:number; var room_height:number; function mazedrawer(movieclip_mc:movieclip, mazedata:array, roomx:number, roomy:number, sx:number, sy:number, linetype:number) { moviecliptodraw = movieclip_mc; room_length = roomx; room_height = roomy; var i:number; var j:number; var maze_x:number = mazedata.length; var maze_y:number = mazedata[0].length; for (i=0; i<maze_x; i++) { for (j=0; j<maze_y; j++) { draw_room(mazedata[i][j], sx+(i*room_length), sy+(j*room_height), linetype); private function draw_room(room_type:number, room_x:number, room_y:number, linetype:number):void { // Συνάρτηση που ζωγραφίζει ένα δωμάτιο (xxxx: ΠΑΝΩ ΔΕΞΙΑ ΚΑΤΩ ΑΡΙΣΤΕΡΑ). var findroombinary:string = room_type.tostring(2); var mask:string = "0000"; mask = mask.substr(0,(4-findroombinary.length)); mask = mask + findroombinary; findroombinary=mask; moviecliptodraw.moveto(room_x, room_y); moviecliptodraw.linestyle(linetype, 0x000000, 100); if (findroombinary.charat(0) == "1") { moviecliptodraw.lineto(room_x+room_length, room_y); else { moviecliptodraw.moveto(room_x+room_length, room_y); if (findroombinary.charat(1) == "1") { 44

45 moviecliptodraw.lineto(room_x+room_length, room_y+room_height); else { moviecliptodraw.moveto(room_x+room_length, room_y+room_height); if (findroombinary.charat(2) == "1") { moviecliptodraw.lineto(room_x, room_y+room_height); else { moviecliptodraw.moveto(room_x, room_y+room_height); if (findroombinary.charat(3) == "1") { moviecliptodraw.lineto(room_x, room_y); else { moviecliptodraw.moveto(room_x, room_y);... 45

46 7.4 Βιβλιογραφία. Εισαγωγή στην ActionScript 2.0 των Nathan Derksen και Jeff Berg, εκδόσεις Wiley Publishing, Ink Online ActionScript and Director Scripting Reference help center web page: Wikipedia the free encyclopedia, θεωρητικά τμήματα: Wikipedia the free encyclopedia, παραδείγματα εκδόσεων actionscript: Flash MX and ActionScript documentation and reference guide: Flash MX Tutorials, first edition 2002, published by Macromedia. Flash MX and Actionscript tutorial guide. 46

47 7.5 Ευρετήριο εικόνων. Εικόνα Ρωμαϊκό μωσαϊκό...6 Εικόνα Λαβύρινθος στο δάπεδο του καθεδρικού ναού του Σάρτρ, Γαλλία...6 Εικόνα Κινηματογραφικό Αφίσα της ταινίας Ο Λαβύρινθος του Πάνα...7 Εικόνα Σκηνή από την ταινία Enter The Dragon...8 Εικόνα Μία εικαστική αναπαράσταση του Internet...9 Εικόνα Εικονογραφημένη λογική του right-hand wall-follower αλγορίθμου.10 Εικόνα Μαθητές δοκιμάζουν το ρομπότ επίλυσης λαβύρινθου που κατασκεύασαν...10 Εικόνα 3.1 Κώδικας σε Actionscript Εικόνα 3.2 Κώδικας σε Actionscript Εικόνα 3.3 Κώδικας σε Actionscript Εικόνα Ο αλγόριθμος DFS σε μορφή ψευδοκώδικα...14 Εικόνα Εφαρμογή αλγορίθμου BFS...15 Εικόνα Ο αλγόριθμος BFS σε μορφή ψευδοκώδικα...16 Εικόνα Εφαρμογή αλγορίθμου BFS...17 Εικόνα Ο αλγόριθμος ID σε μορφή ψευδοκώδικα...18 Εικόνα Εφαρμογή αλγορίθμου ID...19 Εικόνα Το αρχικό scene της εφαρμογής...23 Εικόνα Αρχικό στάδιο του λαβυρίνθου Εικόνα ActionScript κώδικας του Start button...24 Εικόνα Το κύριο scene της εφαρμογής...26 Εικόνα Ο χαρακτήρας Megaman...27 Εικόνα Κώδικας ActionScript που ορίζει τον διαθέσιμο χρόνο παιχνιδιού...27 Εικόνα Το End scene της εφαρμογής...29 Εικόνα Ο κώδικας σε ActionScript που τυπώνει τον χρόνο επίλυσης...30 Εικόνα Κώδικας που κλείνει το παράθυρο της εφαρμογής...30 Εικόνα Κίνηση του sprite στους τέσσερις άξονες...31 Εικόνα Κώδικας για κίνηση του sprite στον άξονα yy προς αριστερά...32 Εικόνα Πίνακας αντιστοιχιών

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 3 Αλγόριθµοι Τυφλής Αναζήτησης Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Αλγόριθµοι Τυφλής Αναζήτησης Οι αλγόριθµοι τυφλής αναζήτησης (blind

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

Αλγόριθμοι Τυφλής Αναζήτησης

Αλγόριθμοι Τυφλής Αναζήτησης Τεχνητή Νοημοσύνη 04 Αλγόριθμοι Τυφλής Αναζήτησης Αλγόριθμοι Τυφλής Αναζήτησης (Blind Search Algorithms) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.

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

Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια

Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια Φύλλο Εργασίας Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια Δραστηριότητα 1η Σε αυτό το φύλλο εργασίας θα δημιουργήσουμε βήμα βήμα ένα παιχνίδι με λαβύρινθο (maze game) με εμπόδια. Το παιχνίδι

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

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

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

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

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Επίλυση προβληµάτων Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης! Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Αλγόριθµοι τυφλής

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Κεφάλαιο 2 Εισαγωγή Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Η Logo είναι μία από τις πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει σκοπό τη δημιουργία προγραμμάτων

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

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

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

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

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

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

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

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

Δομή Επιλογής. 1. Αν ο σκύλος ακουμπήσει ένα κόκαλο τότε το κόκαλο εξαφανίζεται και ο παίκτης κερδίζει 10 πόντους.

Δομή Επιλογής. 1. Αν ο σκύλος ακουμπήσει ένα κόκαλο τότε το κόκαλο εξαφανίζεται και ο παίκτης κερδίζει 10 πόντους. Τάξη : Α Λυκείου Λογισμικό : Scratch Ενδεικτική Διάρκεια : 45 λεπτά Δομή Επιλογής Μία από τις πιο σημαντικές δομές που χρησιμοποιείται στον προγραμματισμό είναι η δομή επιλογής. Η δομή αυτή μας δίνει την

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη

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

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

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

Εισαγωγή στο Libre Office Παρουσιάσεις με το Impress. Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ

Εισαγωγή στο Libre Office Παρουσιάσεις με το Impress. Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ Εισαγωγή στο Libre Office Παρουσιάσεις με το Impress Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ Εισαγωγικά Οι παρουσιάσεις είναι μια εφαρμογή που χρησιμεύει στην παρουσίαση των εργασιών

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

Εισαγωγή στη σχεδίαση κινούμενων γραφικών

Εισαγωγή στη σχεδίαση κινούμενων γραφικών ΕΣΔ200 Δημιουργία Περιεχομένου ΙI Εισαγωγή στη σχεδίαση κινούμενων γραφικών Νικόλας Τσαπατσούλης Επίκουρος Καθηγητής Τμήμα Επικοινωνίας & Σπουδών Διαδικτύου Εισαγωγή Εφαρμογές Κύρια Χαρακτηριστικά Flash

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

Movie Maker (Δημιουργία βίντεο)

Movie Maker (Δημιουργία βίντεο) Movie Maker (Δημιουργία βίντεο) - Με πόσους τρόπους μπορούμε να διηγηθούμε μια ιστορία; - Μπορούμε να την πούμε ο ένας στον άλλο. - Μπορούμε να την γράψουμε. - Μπορούμε να τη ζωγραφίσουμε κομμάτι-κομμάτι.

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

Κεφάλαιο 9: Αλληλεπίδραση

Κεφάλαιο 9: Αλληλεπίδραση Κεφάλαιο 9: Αλληλεπίδραση... Σε αυτό το κεφάλαιο: 9.1 Εισαγωγή στην αλληλεπίδραση 9.2 Γεγονότα 9.3 Εντολή «Ρώτησε... και Περίμενε»... «Το οικοσύστημα αυτοπροσαρμόζεται και για κάθε δράση υπάρχει και μία

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

Φύλλο εργασίας 1 Εισαγωγή στη Ρομποτική

Φύλλο εργασίας 1 Εισαγωγή στη Ρομποτική Φύλλο εργασίας 1 Εισαγωγή στη Ρομποτική Χωριστείτε σε ομάδες 2-3 ατόμων και απαντήστε στις ερωτήσεις του φύλλου εργασίας. Δραστηριότητα 1 Συζητήστε με τα μέλη της ομάδας σας και γράψτε μια λίστα με ρομποτικές

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

Microsoft PowerPoint 2007

Microsoft PowerPoint 2007 Information Technology Services and Solutions Σύμβουλοι Μηχανογράφησης και Εκπαίδευσης Στεφ. Σκουλούδη 27, Καλλίπολη, Πειραιάς 210 45 38 177 http://www.itss.gr/ Microsoft PowerPoint 2007 Κωνσταντίνος Κωβαίος

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

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

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

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch Τάξη : Α Λυκείου Λογισμικό : Scratch Διάρκεια : 45 λεπτά Παλέτα Κίνηση Σε αυτό το φύλλο εργασίας θα εξοικειωθείτε με τις εντολές του Scratch που βρίσκονται στην παλέτα Κίνηση. Για τον σκοπό αυτό διαβάστε

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

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης Advanced Template Manager Αναλυτικός οδηγός χρήσης: Advanced template Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας

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

Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης

Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης Επίλυση προβληµάτων! Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Γενικά " Τεχνητή

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

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC 1) Πατάμε δεξί κλικ Μενού 2) Όνομα Χρήστη βάζουμε «admin» 3) Κωδικός Πρόσβασης το αφήνουμε «κενό» 4) Πατάμε OK και μπαίνουμε στο Μενού Είσοδος στο μενού Στην πρώτη εκκίνηση μετά

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

B) Ετοιμάζοντας μια Παρουσίαση

B) Ετοιμάζοντας μια Παρουσίαση B) Ετοιμάζοντας μια Παρουσίαση Τι είναι μια παρουσίαση με τη βοήθεια ηλεκτρονικού υπολογιστή Ο υπολογιστής με την κατάλληλη εφαρμογή, μπορεί να μας βοηθήσει στη δημιουργία εντυπωσιακών εγγράφων, διαφανειών

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

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

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

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER Η εφαρμογή LiveTripTraveller διατίθεται για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Στο υπο-ιστοσελίδα www.livetrips.com/sources μπορείτε να κατεβάσετε την εφαρμογή

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

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

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

Interactive Power Point

Interactive Power Point Interactive Power Point Οι περισσότεροι χρήστες γνωρίζουν τη χρήση του Microsoft Power Point για τη δημιουργία παρουσιάσεων. Αυτό όμως που λίγοι γνωρίζουν, είναι ότι το πρόγραμμα αυτό, έχει δυνατότητες

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

1. Το ηλεκτρικό ρεύμα και τα ηλεκτρικά κυκλώματα

1. Το ηλεκτρικό ρεύμα και τα ηλεκτρικά κυκλώματα 1. Το ηλεκτρικό ρεύμα και τα ηλεκτρικά κυκλώματα Φύλλο Εργασίας Τίτλος: Το ηλεκτρικό ρεύμα και τα ηλεκτρικά κυκλώματα Γνωστικό Αντικείμενο: Ερευνώ το Φυσικό Κόσμο Διδακτική Ενότητα: Ηλεκτρισμός Τάξη: Ε'

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

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire Αυτόνομοι Πράκτορες Εργασία εξαμήνου Value Iteration και Q- Learning για Peg Solitaire Μαρίνα Μαυρίκου 2007030102 1.Εισαγωγικά για το παιχνίδι Το Peg Solitaire είναι ένα παιχνίδι το οποίο παίζεται με ένα

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

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

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

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

Μενού Προβολή. Προβολές εγγράφου

Μενού Προβολή. Προβολές εγγράφου Μενού Προβολή Προβολές εγγράφου Το Word παρέχει πέντε διαφορετικού είδους προβολές στον χρήστη, οι οποίες και βρίσκονται στο μενού Προβολή (View). Εναλλακτικά μπορούμε να επιλέξουμε το είδος προβολής που

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

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ :

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ : 4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ : Σκοπός του συγκεκριμένου φύλλου εργασίας είναι ο μαθητής να εξοικειωθεί με τις συναρτήσεις, τις αριθμητικές πράξεις καθώς και την επισήμανση κελιών υπό όρους με στόχο

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

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

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ" ΜΕΡΟΣ ΔΕΥΤΕΡΟ Υπεύθυνος Καθηγητής Λυκοθανάσης Σπυρίδων Ακαδημαικό Έτος:

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

Σενάριο 18: Ραβδογράμματα Πληθυσμού

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

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

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

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

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

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης Φύλλα εργασίας MicroWorlds Pro Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο Β. Χ. Χρυσοχοΐδης Πρόεδρος Συλλόγου Εκπαιδευτικών Πληροφορικής Φλώρινας 2 «Σχεδίαση και ανάπτυξη δραστηριοτήτων

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

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

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

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

Χρήσιμες Λειτουργίες των. Windows 7

Χρήσιμες Λειτουργίες των. Windows 7 Χρήσιμες Λειτουργίες των Windows 7 1 Περιεχόμενα Εισαγωγή... 3 Χαρακτηριστικά των Windows 7... 3 1. Θέματα (themes):... 3 1.1. Aero Peek... 4 1.2. Aero Shake:... 4 1.3. Aero Snap:... 4 1.4. Αero Flip:...

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

Κεφάλαιο 6: Ζωγραφική

Κεφάλαιο 6: Ζωγραφική Κεφάλαιο 6: Ζωγραφική... Σε αυτό το κεφάλαιο: 6.1 Ζωγραφική 6.2 Απλά ζωγράφισε 6.3 Χρώμα, σκιά και μέγεθος 6.4 Παράδειγμα... «Ζωγραφίζω πράγματα που σκέφτομαι, όχι πράγματα που βλέπω!» (Πικάσο) 6.1 Ζωγραφική

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ C Προγραμματιστικές Ασκήσεις, Φυλλάδιο Εκφώνηση: 9/3/0 Παράδοση: 5/4/0,.59 Άσκηση 0 η : Το πρόβλημα της βελόνας του Buffon Θέμα της εργασίας

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

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα.

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα. «Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα. Πώς θα δουλέψεις με το Χελωνόκοσμο την πρώτη φορά 1. Θα χρησιμοποιήσεις το αριστερό πλήκτρο

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

O πύραυλος. Γνωστικό Αντικείμενο: Φυσική (Δύναμη Μορφές Ενέργειας) - Τεχνολογία Τάξη: Β Γυμνασίου

O πύραυλος. Γνωστικό Αντικείμενο: Φυσική (Δύναμη Μορφές Ενέργειας) - Τεχνολογία Τάξη: Β Γυμνασίου O πύραυλος Γνωστικό Αντικείμενο: Φυσική (Δύναμη Μορφές Ενέργειας) - Τεχνολογία Τάξη: Β Γυμνασίου Χρονική Διάρκεια Προτεινόμενη χρονική διάρκεια σχεδίου εργασίας: 5 διδακτικές ώρες Διδακτικοί Στόχοι Οι

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0 ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0 20130510 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εγκατάσταση προγράμματος DCAD 2 2. Ενεργοποίηση Registration 2 3. DCAD 3 3.1 Εισαγωγή σημείων 3 3.2 Εξαγωγή σημείων 5 3.3 Στοιχεία ιδιοκτησίας

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

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Κουμπί Κενή βάση δεδομένων Κουμπί του Office Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στο κουμπί «Κενή βάση δεδομένων»

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

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0 Δομές Δεδομένων 5ο εξάμηνο Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse v1.0 Τις σημειώσεις κράτησαν και διαμόρφωσαν σε word οι: Κονδύλη Γαλήνη, ΑΜ 5576 Μάλλιου Χριστίνα, ΑΜ 5413

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

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

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE...2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ...3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ...4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)...5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...6 Κεντρικό μενού

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

Κεφάλαιο 1.Εντολές κίνησης

Κεφάλαιο 1.Εντολές κίνησης Προγραμματίζω με το ΒΥΟΒ 1 Κεφάλαιο 1.Εντολές κίνησης Από το μάθημα της Φυσικής γνωρίζουμε ότι κίνηση σημαίνει αλλαγή της θέσης ενός αντικειμένου. Οι εντολές κίνησης που μας παρέχει το ΒΥΟΒ χωρίζονται

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

Η Περιοχή Εργασίας του Flash

Η Περιοχή Εργασίας του Flash Η Περιοχή Εργασίας του Flash Η Λωρίδα Χρόνου και τα Επίπεδα Το Flash είναι εφαρμογή με την οποία φτιάχνουμε ταινίες όπως διαφημιστικά banners και διαδραστικές εφαρμογές οι οποίες περιέχουν κίνηση. Για

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

Τετράδια Κιθάρας. Χρήση του PowerTab

Τετράδια Κιθάρας. Χρήση του PowerTab Τετράδια Κιθάρας Extra ενότητα Χρήση του PowerTab Ευγένιος Αστέρις 1 Περιεχόμενα Πρόλογος... 3 Εγκατάσταση του Power Tab... 4 Εισαγωγή ενός αρχείου midi στο Power Tab... 5 Μελέτη με το Power Tab... 9 Εξήγηση

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

Εγχειρίδιο Invest i. Εγχειρίδιο Invest

Εγχειρίδιο Invest i. Εγχειρίδιο Invest i Εγχειρίδιο Invest ii Copyright 2004, 2005 Raphael Slinckx Copyright 2007 Terrence Hall Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους ""όρους της Ελεύθερης Άδειας Τεκμηρίωσης

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

Αντικείμενα, συμπεριφορές, γεγονότα

Αντικείμενα, συμπεριφορές, γεγονότα Αντικείμενα, συμπεριφορές, γεγονότα O προγραμματισμός αποτελεί ένα τρόπο επίλυσης προβλημάτων κατά τον οποίο συνθέτουμε μια ακολουθία εντολών με σκοπό την επίτευξη συγκεκριμένων στόχων. Ας ξεκινήσουμε

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

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

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

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

QS-LIS 2011 www.qslis-software.com

QS-LIS 2011 www.qslis-software.com QS-LIS 2011 www.qslis-software.com ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΜΕΤΡΗΣΕΙΣ ΑΠΟ ΕΙΚΟΝΕΣ ΣΧΕΔΙΟΥ Το περιεχόμενο του παρόντος τεύχους αποτελεί έργο επιστημονικού και πνευματικού μόχθου και πνευματικήν ιδιοκτησία του Γιάννη

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

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου

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

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ 2015-2016 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ.

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ 2015-2016 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών 5 Εξάμηνο ΤΗΜΜΥ Α.Π.Θ 2015-2016 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ DS Prximity Το παιχνίδι Το Prximity είναι ένα παιχνίδι στρατηγικής,

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

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής

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

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

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

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

Δραστηριότητα 1 Σχεδιασμός σκηνικού

Δραστηριότητα 1 Σχεδιασμός σκηνικού ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3 Δραστηριότητα 1 Σχεδιασμός σκηνικού Ας κατασκευάσουμε την επόμενη σκηνή-room. Όμοια με προηγουμένως κατασκευάζουμε το σκηνικό-background «ΔΡΟΜΟΣ» και αφού δημιουργήσουμε τη σκηνή-room

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

Γνωρίστε το χώρο εργασίας του PowerPoint

Γνωρίστε το χώρο εργασίας του PowerPoint Γνωρίστε το χώρο εργασίας του PowerPoint Για να εκκινήσουμε το Office PowerPoint 2007 ακολουθούμε τα εξής βήματα: Έναρξη à Όλα τα προγράμματα PowerPoint 2007. à Microsoft Office à Microsoft Office Όταν

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

TECHNO ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ A.E. Τηλ. 210 48 11 260

TECHNO ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ A.E. Τηλ. 210 48 11 260 TECHNO ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ A.E. 25 ης Μαρτίου 12-177 78 Ταύρος Τηλ. 210 48 11 260 Απαγορεύεται η αναδημοσίευση και η αναπαραγωγή του παρόντος βιβλίου με οποιοδήποτε τρόπο ή μορφή, τμηματικά ή περιληπτικά,

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

Εισαγωγή στο Libre Office. Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ

Εισαγωγή στο Libre Office. Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ Εισαγωγή στο Libre Office Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ Εισαγωγή στο Libre Ofiice To LibreOffice είναι η ελεύθερη, πολυδύναμη (power-packed), σουΐτα προσωπικής παραγωγικότητας

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

Κεφάλαιο 1: Προγραμματισμός

Κεφάλαιο 1: Προγραμματισμός Κεφάλαιο 1: Προγραμματισμός... Σε αυτό το κεφάλαιο: 1.1 Τι είναι ο προγραμματισμός 1.2 Τι χρειάζεται για να δημιουργήσουμε ένα πρόγραμμα; 1.3 Οφέλη από τον προγραμματισμό 1.4 Scratch ing... «Πρώτα λύσε

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

EBSCOhost Research Databases

EBSCOhost Research Databases Η EBSCOhost είναι ένα online σύστημα αναζήτησης σε έναν αριθμό βάσεων δεδομένων, στις οποίες είναι συμβεβλημένο κάθε φορά το ίδρυμα. Διαθέτει πολύγλωσσο περιβάλλον αλληλεπίδρασης (interface) με προεπιλεγμένη

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

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

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

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

Σχεδιασμός Διανυσματικών Γραφικών με το I n k s c a p e

Σχεδιασμός Διανυσματικών Γραφικών με το I n k s c a p e Σχεδιασμός Διανυσματικών Γραφικών με το I n k s c a p e Φύλλο Εργασίας Αν κάτι πάει στραβά, μην αγχώνεστε! Κάντε αναίρεση (Ctrl+Ζ). Βασικά Σχήματα Τα βασικά σχήματα που μπορεί να σχεδιάσει κανείς στο Inkscape

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

Benzina v1.8.1.23 Βασικές Οδηγίες Χρήσης

Benzina v1.8.1.23 Βασικές Οδηγίες Χρήσης Benzina v1.8.1.23 Βασικές Οδηγίες Χρήσης 1 Οδηγίες Εγκατάστασης Η έκδοση του Benzina που θα εγκατασταθεί είναι συμβατή μόνο με τα λειτουργικά συστήματα Windows 2000/XP ή νεότερα. Γενικά Κάνοντας διπλό

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

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

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

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

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

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

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

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Ο ΗΓΙΕΣ DOCUMENT DESIGNER

Ο ΗΓΙΕΣ DOCUMENT DESIGNER Ο ΗΓΙΕΣ DOCUMENT DESIGNER ΕΙΣΑΓΩΓΗ Εάν δεν επιθυµείτε να χρησιµοποιείτε τις προσχεδιασµένες φόρµες εντύπων της Singular, η εργασία αυτή σας δίνει τη δυνατότητα να σχεδιάζετε φόρµες µε βάση τις οποίες επιθυµείτε

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

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

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

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

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας. ΠΡΟΛΟΓΟΣ Το βιβλίο «Δικτυακή Βελτιστοποίηση» γράφτηκε με κύριο στόχο να καλύψει τις ανάγκες της διδασκαλίας του μαθήματος «Δικτυακός Προγραμματισμός», που διδάσκεται στο Τμήμα Εφαρμοσμένης Πληροφορικής,

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

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Ευ ομή Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Περιεχόμενα 1. Χειρισμός του περιβάλλοντος LT125-dp Εγκατάσταση & Τρέξιμο Χειρισμός της ψηφιακής εφαρμογής Πλοήγηση στο περιεχόμενο Αλλαγή του μεγέθους

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

Ο ξεναγός (Συνοδευτική δραστηριότητα του γύρου του ίππου)

Ο ξεναγός (Συνοδευτική δραστηριότητα του γύρου του ίππου) Ο ξεναγός (Συνοδευτική δραστηριότητα του γύρου του ίππου) Ηλικίες: Προαπαιτούμενες δεξιότητες: Χρόνος: Μέγεθος ομάδας: 8 ενήλικες Καμία 15 λεπτά για τη βασική δραστηριότητα, περισσότερο για τις επεκτάσεις

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

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

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58 7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58 Στόχοι Μαθήματος 1. Πώς να επαναλάβετε μια δράση 2. Μάθετε πώς να χρησιμοποιείτε το Loop Blocks Προγραμματισμός EV3 Ακαδημία Ρομποτικής

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

Γρήγορη Εκκίνηση. Όταν ξεκινήσετε το GeoGebra, εμφανίζεται το παρακάτω παράθυρο:

Γρήγορη Εκκίνηση. Όταν ξεκινήσετε το GeoGebra, εμφανίζεται το παρακάτω παράθυρο: Τι είναι το GeoGebra; Γρήγορη Εκκίνηση Λογισμικό Δυναμικών Μαθηματικών σε ένα - απλό στη χρήση - πακέτο Για την εκμάθηση και τη διδασκαλία σε όλα τα επίπεδα της εκπαίδευσης Συνδυάζει διαδραστικά γεωμετρία,

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

Δημιουργία παρουσιάσεων (Power Point)

Δημιουργία παρουσιάσεων (Power Point) Δημιουργία παρουσιάσεων (Power Point) Το πρόγραμμα PowerPoint είναι η «αίθουσα προβολών» του Office. Μια προβολή (παρουσίασης) του PowerPoint μπορεί να έχει ως στόχο να ενημερώσει, να διδάξει ή και να

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

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

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

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr Εγχειρίδιο Χρήσης Μελών ΔΕΠ Αναζήτηση Δημόσιου Περιεχομένου Η διεύθυνση ιστού της νεάς πλατφόρμας διαχείρισης βιντεοδιαλέξεων Δήλος είναι: http://delos.uoa.gr

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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