ΥΛΟΠΟΙΗΣΗ ΠΑΙΧΝΙΔΙΟΥ ΛΑΒΥΡΙΝΘΟΥ ΣΕ ΓΛΩΣΣΑ 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) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οδηγίες για προσθήκη 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 δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

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

Πλοήγηση www / Με τον Internet Explorer

Πλοήγηση www / Με τον Internet Explorer Πλοήγηση www / Με τον Internet Explorer Περιεχόμενα 1.Eισαγωγή 2.Το περιβάλλον του Internet Explorer 3.Οδηγίες πλοήγησης 4.Αποθήκευση αρχείων 5.Αγαπημένα 6.Ασφαλής σύνδεση 7.Διακομιστής μεσολάβησης 1.Εισαγωγή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QS-LIS 2011 www.qslis-software.com

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

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

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

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

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

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

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

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

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 Απαγορεύεται η αναδημοσίευση και η αναπαραγωγή του παρόντος βιβλίου με οποιοδήποτε τρόπο ή μορφή, τμηματικά ή περιληπτικά,

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θ.Ε. ΠΛΗ31 (2005-6) ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ #1 Στόχος Η εργασία επικεντρώνεται σε θέματα προγραμματισμού για Τεχνητή Νοημοσύνη και σε πρακτικά θέματα εξάσκησης σε Κατηγορηματική Λογική. Θέμα 1: Απλές Αναζητήσεις

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

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

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

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

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface Copyright 2012-2015 -SYSTEM- All rights reserved 2/180 ΠΕΡΙΕΧΟΜΕΝΑ Μάθημα 1: Εισαγωγή στο Dreamwever Μάθημα 2: Γραμμές εργαλείων document Μάθημα 3: Προετοιμασία τοποθεσίας ιστού Μάθημα 4: Ορισμός τοπικής

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

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38 Περιεχόμενα ΠΡΟΛΟΓΟΣ... 11 ΔΙΑΔΙΚΤΥΟ... 13 1. ΙΣΤΟΡΙΑ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ... 15 2. ΤΙ ΕΙΝΑΙ ΤΟ ΔΙΑΔΙΚΤΥΟ INTERNET;... 16 3. ΤΙ ΠΡΟΣΦΕΡΕΙ ΤΟ ΔΙΑΔΙΚΤΥΟ, ΤΙ ΜΠΟΡΕΙ ΝΑ ΒΡΕΙ ΚΑΝΕΙΣ... 19 4. ΤΙ ΑΠΑΙΤΕΙΤΑΙ ΓΙΑ ΝΑ

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

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

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

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

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

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

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

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

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

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

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

Παιχνιδάκια με τη LOGO

Παιχνιδάκια με τη LOGO Όταν σβήνει ο υπολογιστής ξεχνάω τα πάντα. Κάτι πρέπει να γίνει Κάθε φορά που δημιουργώ ένα πρόγραμμα στη Logo αυτό αποθηκεύεται προσωρινά στη μνήμη του υπολογιστή. Αν θέλω να διατηρηθούν τα προγράμματά

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

Αλγόριθμοι Αναζήτησης σε Παίγνια Δύο Αντιπάλων

Αλγόριθμοι Αναζήτησης σε Παίγνια Δύο Αντιπάλων Τεχνητή Νοημοσύνη 06 Αλγόριθμοι Αναζήτησης σε Παίγνια Δύο Αντιπάλων Εισαγωγικά (1/3) Τα προβλήματα όπου η εξέλιξη των καταστάσεων εξαρτάται από δύο διαφορετικά σύνολα τελεστών μετάβασης που εφαρμόζονται

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

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

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

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

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

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

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

Ανακαλύπτω. Ο υπολογιστής στην πράξη!

Ανακαλύπτω. Ο υπολογιστής στην πράξη! ΔΗΜΟΣΙΑ ΚΕΝΤΡΙΚΗ ΒΙΒΛΙΟΘΗΚΗ ΛΕΒΑΔΕΙΑΣ ΣΥΛΛΟΓΟΣ «ΦΙΛΟΙ ΒΙΒΛΙΟΘΗΚΗΣ ΛΙΒΑΔΕΙΑΣ» Κατερίνα Κεράστα 2014 Α Μαθαίνω τον υπολογιστή μου Ανακαλύπτω Ο υπολογιστής στην πράξη! Ο υπολογιστής στην πράξη! Επιφάνεια

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

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

Παιχνίδια σε Javascript Παιχνίδια σε Javascript Μάθημα 1ο Μια Γρήγορη Εισαγωγή στη Γλώσσα Τα Εργαλεία Την Javascript μπορούμε (όπως και την HTML) να τη γράψουμε σε ένα απλό συντάκτη κειμένου, ή σε ένα περιβάλλον όπως το Bluefish

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

Το λογισμικό παρουσιάσεων Power Point 2007

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

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

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

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

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

ΔΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙΔΑΣ 1. ΕΓΓΡΑΦΗ ΣΤΟ WORDPRESS

ΔΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙΔΑΣ 1. ΕΓΓΡΑΦΗ ΣΤΟ WORDPRESS ΔΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙΔΑΣ 1. ΕΓΓΡΑΦΗ ΣΤΟ WORDPRESS Τι είναι ιστοσελίδα; Ιστοσελίδα ( web page) είναι ένα είδος εγγράφου του παγκόσμιου ιστού (WWW) που περιλαμβάνει πληροφορίες με την μορφή κειμένου, εικόνας,

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

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

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

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

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

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

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

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 η Εργασία

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 η Εργασία Δημιουργώντας μια εφαρμογή ζωγραφικής 2 η Εργασία Απαιτήσεις 1. Σύνδεση στο Διαδίκτυο (διότι οι εφαρμογές δημιουργούνται online) 2. Εγκατεστημένος ο Browser Google Chrome 3. Υπαρκτός λογαριασμός Gmail

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

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

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

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

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

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

Το πρόγραμμα MicroWorlds Pro

Το πρόγραμμα MicroWorlds Pro Το πρόγραμμα MicroWorlds Pro Η Γλώσσα Προγραμματισμού Logo Τι είναι Το MicroWorlds Pro είναι περιβάλλον γενικής χρήσης που καλλιεργεί σύνθετες δεξιότητες και μαθησιακές τάσεις και επιτρέπει τη διερεύνηση

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ EV3 Επίπεδο Ι

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ EV3 Επίπεδο Ι ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ EV3 Επίπεδο Ι Δρ. Γιώργος Α. Δημητρίου Εργαστήριο Ρομποτικής και Αυτομάτων Συστημάτων & Ακαδημία Ρομποτικής Τμήμα Πληροφορικής και Μηχανικών Υπολογιστών Σχολή Μηχανικής και Εφαρμοσμένων

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

ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΣΥΣΤΑΔΩΝ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ

ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΣΥΣΤΑΔΩΝ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΦΙΛ ΣΥΣΤΑΔΩΝ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ ΑΤΕΙ ΚΑΒΑΛΑΣ ΠΑΡΑΡΤΗΜΑ ΔΡΑΜΑΣ ΤΜΗΜΑ ΔΑΣΟΠΟΝΙΑΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΦΥΣΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΔΑΣ ΜΑΡΙΟΣ 2008 ΕΥΧΑΡΙΣΤΙΕΣ Στον κ. Ι. Τάκο για την καθοδήγηση του σε όλη

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

ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ. Κειμενογράφος WORD

ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ. Κειμενογράφος WORD ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ Κειμενογράφος WORD ΣΚΟΠΟΣ Η ανάπτυξη δεξιοτήτων επεξεργασίας κειμένου ΠΡΟΤΑΣΕΙΣ ΚΑΙ ΡΥΘΜΙΣΕΙΣ Άνω περιθώριο (top margin) : 2.49cm Κάτω περιθώριο (bottom margin) :5.99cm Αριστερό περιθώριο

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

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9. 2 ημιουργία νέου εγγράφου... 17. 3 Το σύστημα Βοήθειας του Office...

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9. 2 ημιουργία νέου εγγράφου... 17. 3 Το σύστημα Βοήθειας του Office... Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9 2 ημιουργία νέου εγγράφου... 17 3 Το σύστημα Βοήθειας του Office... 31 4 Μετακίνηση σε έγγραφο και προβολές εγγράφου... 37 5 Επιλογή

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

ΚΕΦΑΛΑΙΟ ΙΙ. OpenOffice 3.x Calc

ΚΕΦΑΛΑΙΟ ΙΙ. OpenOffice 3.x Calc ΚΕΦΑΛΑΙΟ ΙΙ OpenOffice 3.x Calc Στόχοι: Με τη βοήθεια του οδηγού αυτού ο εκπαιδευόμενος θα μπορεί να: χρησιμοποιεί τα βασικά εργαλεία του Calc κατασκευάζει πίνακες δημιουργεί φόρμουλες υπολογισμού κατασκευάζει

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

4η ΕΝΟΤΗΤΑ ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ)

4η ΕΝΟΤΗΤΑ ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ) 4η ΕΝΟΤΗΤΑ ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ) ΠΡΟΟΙΜΙΟ 4 η Ενότητα Στην 4 η Ενότητα ΒΑΣΙΚΕΣ ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΥΣ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ (WORD & ΔΙΑΔΙΚΤΥΟ) έχουμε δημιουργήσει

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

Χρήσιμες Οδηγίες για την Πλοήγηση στο Υποστηρικτικό Υλικό. Περιεχόμενα

Χρήσιμες Οδηγίες για την Πλοήγηση στο Υποστηρικτικό Υλικό. Περιεχόμενα Χρήσιμες Οδηγίες για την Πλοήγηση στο Υποστηρικτικό Υλικό Περιεχόμενα Βασικές απαιτήσεις... 2 Εγκατάσταση και Εκκίνηση... 2 Παράθυρο Πλοήγησης... 8 Πλήκτρα Ενεργειών του Πίνακα Πλοήγησης... 13 Πλήκτρα

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

ActionScript 3.0 για το Adobe Flash. CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ.

ActionScript 3.0 για το Adobe Flash. CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ. ActionScript 3.0 για το Adobe Flash CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ. Μηχανικός Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2011

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Εισαγωγικά ΘΕ ΠΛΗ 204-5 ONLINE ΕΡΓΑΣΙΑ E2- Η Online Εργασία Ε2- αποτελεί (όπως περιγράφεται αναλυτικότερα και στον Οδηγό Σπουδών της Θ.Ε. που σας έχει διατεθεί) συμπληρωματική άσκηση στα πλαίσια της Γραπτής

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

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

Οδηγός Εγκατάστασης. Εγχειρίδιο Χρήσης. Νεοελληνική Γλώσσα. Κατηγορία Λογισμικού / Θεματική Ενότητα. Νεοελληνική Γλώσσα / Γενική Αγωγή.

Οδηγός Εγκατάστασης. Εγχειρίδιο Χρήσης. Νεοελληνική Γλώσσα. Κατηγορία Λογισμικού / Θεματική Ενότητα. Νεοελληνική Γλώσσα / Γενική Αγωγή. Οδηγός Εγκατάστασης Εγχειρίδιο Χρήσης Νεοελληνική Γλώσσα Α-Γ Γυμνασίου Κατηγορία Λογισμικού / Θεματική Ενότητα Νεοελληνική Γλώσσα / Γενική Αγωγή Τάξεις-Βαθμίδα Α-Γ Γυμνασίου Ειδική Εκπαιδευτική Ανάγκη

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

Stellarium Εγχειρίδιο Οδηγιών

Stellarium Εγχειρίδιο Οδηγιών Προϋποθέσεις συστήματος: Windows (XP, Vista, 7) με DirectX 9.x και τελευταίες ServicePack ή MacOS X 10.3.x (ή υψηλότερη), κάρτα γραφικών 3D με υποστήριξη OpenGL, ελάχ. 512 MB RAM, 1 GB διαθέσιμος χώρος

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

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

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

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

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5.1 Εισαγωγή Το πρακτικό κομμάτι της πτυχιακής μας εργασίας αφορά την δημιουργία μιας λειτουργικής ιστοσελίδας με την χρήση της πλατφόρμας του Weebly, που αποτελεί μια σύγχρονη

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

Κεφάλαιο 7: Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 7: Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 7: Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα Καραμαούνας Πολύκαρπος 1 Ανάπτυξη εφαρμογών για φορητές συσκευές: τείνουν να αντικαταστήσουν τους υπολογιστές και άλλες συσκευές. Τα δημοφιλέστερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

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

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

1. Τα τμήματα της επιφάνειας εργασίας των Windows

1. Τα τμήματα της επιφάνειας εργασίας των Windows 1. Τα τμήματα της επιφάνειας εργασίας των Windows Εικονίδια συντομεύσεων (αρχείου-φακέλου) Εικονίδια Ανενεργά Ενεργό Επιφάνεια (αρχείου-φακέλου) παράθυρα παράθυρο εργασίας Γραμμή μενού Γραμμή εργαλείων

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

περιεχόμενα Εισαγωγή 6 Τα βασικά συστατικά του υπολογιστή 10 Η επιφάνεια εργασίας (desktop) 16 Windows 7 Windows 8 Τα πρώτα βήματα στο Internet 84

περιεχόμενα Εισαγωγή 6 Τα βασικά συστατικά του υπολογιστή 10 Η επιφάνεια εργασίας (desktop) 16 Windows 7 Windows 8 Τα πρώτα βήματα στο Internet 84 περιεχόμενα Εισαγωγή 6 Τα βασικά συστατικά του υπολογιστή 10 Η επιφάνεια εργασίας (desktop) 16 Windows 7 H πρώτη επαφή με τα Windows 7 21 Απλές αλλαγές και ρυθμίσεις 26 Χειρισμός προγραμμάτων 31 Αναζήτηση,

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

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 3ου ΕΡΓΑΣΤΗΡΙΟΥ

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 3ου ΕΡΓΑΣΤΗΡΙΟΥ Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 3ου ΕΡΓΑΣΤΗΡΙΟΥ Στο σημερινό εργαστήριο θα μάθετε την έννοια της υποδικτύωσης, πώς λειτουργεί και πώς μπορείτε να εφαρμόσετε υποδικτύωση. 1. Εισαγωγή Η λογική

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

Μορφοποίηση εικόνων. Εισαγωγή. Στόχος κεφαλαίου

Μορφοποίηση εικόνων. Εισαγωγή. Στόχος κεφαλαίου Περιεχόμενα Κεφάλαιο 1: Προετοιμασία παρουσίασης...1 Κεφάλαιο 2: Διαχείριση διαφανειών...18 Κεφάλαιο 3: Διαχείριση γραφικών...31 Κεφάλαιο 4: Επεξεργασία εικόνων με το Adobe Photoshop...56 Κεφάλαιο 5: Μορφοποίηση

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

Marmitek UltraViewPro 1

Marmitek UltraViewPro 1 IP CAMERA SERIES IP Eye Anywhere 10 11 20 21 470 IP RoboCam 10 11 21 541 641 ULTRAVIEW PRO ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1..1 ΕΙΣΑΓΩΓΗ....1 ΚΕΦΑΛΑΙΟ 2.. 2 ΕΓΚΑΤΑΣΤΑΣΗ... 2 ΚΕΦΑΛΑΙΟ......3 ΧΡΗΣΗ MARMITEK Ultraview

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

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

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

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

ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ. Κωδικός Τίτλος Επίπεδο

ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ. Κωδικός Τίτλος Επίπεδο ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ Ενότητα: Υποενότητα: Διαδικτυακές Υπηρεσίες κι Εφαρμογές Υ8 - Δημοτικοί Ιστότοποι / Google Sites Λίστα Δραστηριοτήτων Κωδικός Τίτλος Επίπεδο Υ8.Δ1 Αναζήτηση δημοτικών ιστοτόπων και αξιολόγηση

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

ΟΔΗΓΟΣ ΑΡΧΑΡΙΩΝ. Περιεχόμενα

ΟΔΗΓΟΣ ΑΡΧΑΡΙΩΝ. Περιεχόμενα ΟΔΗΓΟΣ ΑΡΧΑΡΙΩΝ Περιεχόμενα 1) Εισαγωγή 2) Οδηγός εγγραφής στο site της PCnews 3) Βρείτε τα καλύτερα του site Γίνετε φίλοι μας στο Facebook 4) Σχετικά με τον τύπο αρχείου PDF - 1 - Εισαγωγή Καλωσορίσατε

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

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

Γεωμετρία, Αριθμοί και Μέτρηση Μαθαίνω Γεωμετρία και Μετρώ Παίζω με τους αριθμούς Βρίσκω τα πολλαπλάσια

Γεωμετρία, Αριθμοί και Μέτρηση Μαθαίνω Γεωμετρία και Μετρώ Παίζω με τους αριθμούς Βρίσκω τα πολλαπλάσια Γεωμετρία, Αριθμοί και Μέτρηση Μαθαίνω Γεωμετρία και Μετρώ Παίζω με τους αριθμούς Βρίσκω τα πολλαπλάσια Οδηγίες Εγκατάστασης & Εγχειρίδιο Χρήσης Πίνακας περιεχομένων 1. Εισαγωγή... 3 2. Οδηγίες εγκατάστασης...

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

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

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία Ξεκινώντας με το MIT Αρρ Inventor 1 η Εργασία Απαιτήσεις 1. Σύνδεση στο Διαδίκτυο (διότι οι εφαρμογές δημιουργούνται online) 2. Εγκατεστημένος ο Browser Google Chrome 3. Υπαρκτός λογαριασμός Gmail 4. Κατεβάστε

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Δημιουργία παιχνιδιού με το Game Maker 8.1 Lite 1

Δημιουργία παιχνιδιού με το Game Maker 8.1 Lite 1 Δημιουργία παιχνιδιού με το Game Maker 8.1 Lite 1 Νίκος Αγγελιδάκης, ΠΕ19 2 έκδοση 1.0 Φεβρουάριος 2012 1 http://www.yoyogames.com/gamemaker/windows 2 http://aggelid.mysch.gr Περιεχόμενα σελ. 1 - Εισαγωγή

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

ΟΔΗΓΙΕΣ ΓΙΑ ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΧΡΗΣΗ ΤΟΥ GOOGLE EARTH [ΠΛΟΗΓΗΣΗ ΚΑΙ ΕΚΤΥΠΩΣΗ ΑΕΡΟΦΩΤΟΓΡΑΦΙΩΝ]

ΟΔΗΓΙΕΣ ΓΙΑ ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΧΡΗΣΗ ΤΟΥ GOOGLE EARTH [ΠΛΟΗΓΗΣΗ ΚΑΙ ΕΚΤΥΠΩΣΗ ΑΕΡΟΦΩΤΟΓΡΑΦΙΩΝ] ΟΔΗΓΙΕΣ ΓΙΑ ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΧΡΗΣΗ ΤΟΥ GOOGLE EARTH [ΠΛΟΗΓΗΣΗ ΚΑΙ ΕΚΤΥΠΩΣΗ ΑΕΡΟΦΩΤΟΓΡΑΦΙΩΝ] Τι είναι το Google Earth Το Google Earth είναι λογισμικό-εργαλείο γραφικής απεικόνισης, χαρτογράφησης και εξερεύνησης

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

ΕΣΔ 200: ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ ΙΙ. Ακαδημαϊκό Έτος 2011 2012, Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

ΕΣΔ 200: ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ ΙΙ. Ακαδημαϊκό Έτος 2011 2012, Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 200: ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ ΙΙ Ακαδημαϊκό Έτος 2011 2012, Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ

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

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

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

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

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

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

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

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων... Περιεχόμενα Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...22 Περιβάλλον ηλεκτρονικού υπολογιστή...23 Επιφάνεια εργασίας...26

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

Χαρτογράφηση με Ανοιχτό Λογισμικό GIS

Χαρτογράφηση με Ανοιχτό Λογισμικό GIS Χαρτογράφηση με Ανοιχτό Λογισμικό GIS Δημιουργία Θεματικού Χάρτη με το QGIS Δρ. Σταμάτης Καλογήρου Σεμινάριο στα πλαίσια του 1oυ Συνεδρίου Χωρικής Ανάλυσης Χαροκόπειο Πανεπιστήμιο, 17-18 Μαΐου 2013 Αυτό

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

Αναδρομικοί Αλγόριθμοι

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

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

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

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

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