Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 1 ο ΕΠΑΛ Κατερίνης Έκδοση 1 η Απρίλιος 2017

Σχετικά έγγραφα
Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

Σημειώσεις Greenfoot. Νικολός Δημήτρης

Οδηγίες χρήσης και σύντομη εισαγωγή στην πλατφόρμα Greenfoot Version 1.1

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

Δημιουργία μιας εφαρμογής Java με το NetBeans

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

Φτιάξε ένα απλό παιχνίδι

Σημειώσεις Greenfoot. Νικολός Δημήτρης

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

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

Ποιές εντολές του Scratch πρέπει να ξέρω;

Ας κάνουμε μια γάτα να περπατάει στο Scratch 2.0

ΠΛΗΚΤΡΟΛΟΓΙΟ. Η ελληνική διάταξη πλήκτρων είναι η παρακάτω (δεν υπάρχουν άλλες διατάξεις για το ελληνικό αλφάβητο):

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

Αγώνες αυτοκινήτου Παιχνίδι για 2 παίκτες

Breakdance Computer Game σε Scratch.

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

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

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

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

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

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

1. Εισαγωγή στο Greenfoot

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

Slalom Race Computer Game on Scratch

Εισαγωγή στο πρόγραμμα Microsoft word 2003

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ

Πρακτικές οδηγίες για την Επεξεργασία Κειμένου

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

Σημειώσεις στο PowerPoint

α) Πώς παίρνουμε αποφάσεις στην καθημερινή μας ζωή; Συμπληρώσετε τον παρακάτω πίνακα: τότε

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Γνωρίστε το Excel 2007

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου

Tank Rescue Computer Game σε Scratch

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

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

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

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

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

Microsoft PowerPoint 2007

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων

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

3 Αλληλεπίδραση Αντικειμένων

Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή.

του προγράμματος diagrama_rohs.zip )

Εργασία-3: Παρουσίαση Εργασίας. Ομάδα Α. Προετοιμασία Αναφοράς

Τα Windows Πολύ Απλά και Πολύ Σύντομα

ΜΑΘΗΜΑ Προσθήκη Κειμένου. 2. Ελληνική Διάταξη Πληκτρολογίου ΣΤΟΧΟΙ:

Περιγραφή του βασικού παραθύρου του Cubase SE3. Εικόνα 1

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

Το τρίτο παιχνίδι ΛΑΒΥΡΙΝΘΟΣ ΜΕ ΕΜΠΟΔΙΑ

Εφαρμογή δημιουργίας σεναρίων Sctatch

Copyright 2017 HP Development Company, L.P.

ΣΕΛΙ Α 1 ΚΕΦΑΛΑΙΟ 1 - ΑΡΧΙΚΑ

ΤΕΙ Ηρακλείου. Τμήμα Λογιστικής Πληροφορική I 6 η Εργαστηριακή άσκηση (Excel)

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΕΡΩΤΗΣΕΙΣ στην επεξεργασία κειμένου (Word)

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

Μέρος Α Γνωριμία με το περιβάλλον προγραμματισμού του ρομπότ OTTO

ΕΙΣΑΓΩΓΗ ΣΤΟ POWER POINT

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

Αντικειμενοστρεφής Προγραμματισμός

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: GAME MAKER. Ονοματεπώνυμο:

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ModellingSpace. Εγχειρίδιο Χρήστη

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

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

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

Εισαγωγή στο περιβάλλον Code::Blocks

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

Η εντολή «επανέλαβε Χ»

Πληροφορική. Εργαστηριακή Ενότητα 2 η : Το βιβλίο εργασίας του MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: PowerPoint Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: SCRATCH. Ονοματεπώνυμο:

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

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

Inspiration 7 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΜΕ ΠΑΡΑΔΕΙΓΜΑ

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

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

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

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

ΣΚΗΝΙΚΟ ΥΠΟΒΑΘΡΑ ΑΡΧΙΚΗ

Ενότητα. Παρουσιάσεις. εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Καροτοκυνηγός. Αντικείμενα

Transcript:

Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 1 ο ΕΠΑΛ Κατερίνης Έκδοση 1 η Απρίλιος 2017

Τι είναι το Greenfoot Το Greenfoot είναι ένα Ολοκληρωμένο Περιβάλλον Ανάπτυξης Εφαρμογών (IDE) που έχει ως σκοπό τη διδασκαλία του Αντικειμενοστρεφούς προγραμματισμού με τη γλώσσα Java. Με το Greenfoot μπορεί να δημιουργηθεί ένας κόσμος (world), μέσα στον οποίο αλληλεπιδρούν μορφές (actors), με τις οποίες μπορούν να προγραμματιστούν παιχνίδια, προσομοιώσεις και άλλα προγράμματα με γραφικά.

Βασικές κλάσεις (1/2) Οι βασικές κλάσεις που συναντάμε στον προγραμματισμό παιχνιδιών & προσομοιώσεων με το Greenfoot είναι οι παρακάτω: World: περιλαμβάνει μεθόδους για τη δημιουργία και διαχείριση του κόσμου (επιπέδων) του παιχνιδιού. Actor: περιλαμβάνει μεθόδους για τη διαχείριση των χαρακτήρων του παιχνιδιού. GreenfootImage: περιλαμβάνει μεθόδους για την αναπαράσταση και τη διαχείριση εικόνων, οι οποίες μπορεί να χρησιμοποιούνται είτε για τα επίπεδα του παιχνιδιού είτε για τους χαρακτήρες, τη δημιουργία κίνησης και εφέ.

Βασικές κλάσεις (2/2) GreenfootSound: περιλαμβάνει μεθόδους για τον χειρισμό της αναπαραγωγής ήχου. Greenfoot: περιλαμβάνει μεθόδους για την επικοινωνία με το ίδιο το περιβάλλον προγραμματισμού. MouseInfo: χειρισμός των συμβάντων του παιχνιδιού.

Επιπρόσθετες κλάσεις Επιπλέον, έχουν δημιουργηθεί επιπρόσθετες κλάσεις που μπορούν να ενσωματωθούν σε ένα project και παρέχουν δυνατότητες, όπως: χρήση χαρτών Google Maps είτε για τον κόσμο του παιχνιδιού είτε ως χαρακτήρες. χρήση πληροφοριών καιρού για την τρέχουσα τοποθεσία ή οποιαδήποτε πόλη στον κόσμο, οι οποίες μπορούν ακόμα και να επηρεάσουν τη συμπεριφορά των χαρακτήρων του παιχνιδιού.

Περιβάλλον του Greenfoot (1/5) Όπως προαναφέρθηκε, το Greenfoot αποτελείται από έναν «κόσμο» (World) και τους «ηθοποιούς» ή «μορφές» (Actors) που δρουν πάνω σε αυτόν. Ο κόσμος καταλαμβάνει το μεγαλύτερο μέρος του παραθύρου, και ουσιαστικά αποτελεί τη βάση πάνω στην οποία ενεργούν οι ηθοποιοί. Στην άκρη του παραθύρου βλέπουμε την ιεραρχική δομή των κλάσεων (classes), στην οποία οργανώνονται ο κόσμος και οι μορφές.

Περιβάλλον του Greenfoot (2/5) Οι κλάσεις είναι σύνολα αντικείμενων με ίδιες ιδιότητες, τα οποία μπορούν να ανήκουν σε ένα άλλο σύνολο με κοινές ιδιότητες. Για παράδειγμα σε μια τάξη «όχημα», μπορούμε να δημιουργήσουμε υπο-κλάσεις «αυτοκίνητο» και «μοτοσικλέτα». Αυτές οι δύο υπο-κλάσεις θα έχουν όλες τις ιδιότητες του οχήματος συν τις δικές τους. Πατώντας πάνω σε μία κλάση, μπορούμε να την εισάγουμε χειροκίνητα στον κόσμο (γίνεται και αυτόματα με κώδικα), να τη διαγράψουμε, ή να προσθέσουμε κώδικα.

Περιβάλλον του Greenfoot (3/5) Τελευταίο μέρος του παραθύρου είναι η κονσόλα χειρισμού, που βρίσκεται στο κάτω μέρος της οθόνης και διαθέτει διάφορες επιλογές: Run: εκτέλεση του σεναρίου Speed (Μπάρα κύλισης ταχύτητας): ορισμός της ταχύτητας εκτέλεσης Act: εκτέλεση ενός συγκεκριμένου τμήματος εντολών Reset: εκκίνηση της εκτέλεσης από την αρχή

Περιβάλλον του Greenfoot (4/5) Ένας πεπερασμένος χώρος όπου το πρόγραμμά μας τρέχει. Χώρος όπου μπορούμε να εισαγάγουμε κάποιες μορφές (actors). Επιτρέπει τις μορφές να αλληλεπιδρούν. Κόσμος (World) Διάγραμμα Κλάσεων (Class Diagram) Εργαλεία Εκτέλεσης (Execution Controls)

Περιβάλλον του Greenfoot (5/5) Η υπερκλάση World υπάρχει πάντα στα σενάρια Greenfoot και είναι ενσωματωμένη. Η TurtleWorld (υποκλάση) αντιπροσωπεύει έναν συγκεκριμένο κόσμο γι αυτό το σενάριο Τα βέλη δείχνουν σχέσεις Οι Lettuce, Animal και Counter είναι υποκλάσεις της Actor (υπερκλάση) Οι Snake, Turtle και Bug είναι υποκλάσεις της Animal

Αντικείμενα και Κλάσεις 3. Κλικ στον κόσμο Στιγμή της κλάσης Wombat 2. Κλικ new Wombat() Κλάση Wombat 1. Δεξί κλικ πάνω στο Wombat Κατασκευαστής

Πολλαπλά Αντικείμενα Μπορούμε να δημιουργήσουμε πολλές στιγμές της ίδιας κλάσης. Για να τοποθετήσουμε περισσότερα από ένα αντικείμενα (μορφές) της ίδιας κλάσης, πατάμε το Shift (εμφανίζει τη μορφή) και στη συνέχεια κάνουμε κλικ στις θέσεις που επιθυμούμε να τοποθετηθούν. Η θέση μιας μορφής μπορεί να αλλάξει αν τη σύρουμε με το ποντίκι.

Προβολή Κατάστασης (Ιδιότητες) Object Inspector Εμφάνιση παραθύρου ιδιοτήτων

Προβολή μεθόδων Μέθοδοι που κληρονομούνται από την κλάση Actor Μέθοδοι της κλάσης Wombat

Μορφές (Actors) Η προκαθορισμένη κατάσταση των «Actors» είναι: Εικόνα Θέση στον κόσμο (ως προς τους άξονες x και y) Περιστροφή Εικόνα Θέση Περιστροφή

Αλλαγής της γλώσσας διεπαφής Μενού του Greenfoot Edit Preferences καρτέλα Interface και από το αναδυόμενο μενού Language Greek και ΟΚ. Κλείνουμε το Greenfoot και το ξανανοίγουμε.

Δημιουργία νέου σεναρίου Scenario New πηγαίνουμε στο φάκελο που θέλουμε και δίνουμε το όνομα του σεναρίου μας (στην πραγματικότητα δημιουργείται φάκελος που θα περιέχει όλα τα απαραίτητα αρχεία για το σενάριό μας) πατάμε το κουμπί Create.

Δημιουργία νέου κόσμου Για να δημιουργήσουμε έναν νέο Κόσμο: δεξί κλικ πάνω στο World New Subclass δίνουμε όνομα διαλέγουμε εικόνα ΟΚ. Αρχικά το πλαίσιο έχει αυτή τη μορφή Κλικ στο κουμπί Compile Η εικόνα μπαίνει στο φόντο του κόσμου και το πλαίσιο αλλάζει μορφή

Δημιουργία νέας μορφής Για να δημιουργήσουμε μία «μορφή» - κλάση: δεξί κλικ πάνω στο Actor New Subclass δίνουμε όνομα διαλέγουμε εικόνα ΟΚ. Επαναλαμβάνουμε την παραπάνω διαδικασία για όλες τις κλάσεις που θέλουμε να δημιουργήσουμε. Κλικ στο κουμπί Compile Πλέον είμαστε έτοιμοι να δημιουργήσουμε όσες στιγμές της κλάσης επιθυμούμε

Αποθήκευση Κόσμου Για να μη χάνονται οι μορφές μέσα στον Κόσμο κάθε φορά που κάνουμε Compile, πρέπει αυτός να αποθηκευτεί. Μενού Controls Save the World

Αποθήκευση σεναρίου Για να αποθηκεύσουμε ένα σενάριο, πηγαίνουμε στο μενού Scenario Save. Αν θέλουμε να αποθηκεύσουμε ένα αντίγραφο του σεναρίου, τότε κάνουμε χρήση της επιλογής Save As, όπου θα επιλέξουμε τη θέση και το όνομα του σεναρίου. Τέλος θα κάνουμε κλικ στο κουμπί Save.

Άνοιγμα σεναρίου Για να ανοίξουμε ένα υπάρχων σενάριο, πηγαίνουμε στο μενού Scenario Open επιλέγουμε το σενάριο κλικ στο κουμπί Open. Μπορούμε να ανοίξουμε πιο γρήγορα πρόσφατα σενάριά μας από το μενού Scenario Open recent

Κλείσιμο σεναρίου Για το κλείσιμο ενός σεναρίου πηγαίνουμε στο μενού Scenario Close.

Ορισμός και χρήση Μεθόδων (1/2) Οι μέθοδοι είναι μικρές προγραμματιστικές μονάδες (modules) που καθορίζουν την συμπεριφορά ενός αντικειμένου. Τα βασικά μέρη από τα οποία αποτελείται μία μέθοδος είναι τα εξής: Το όνομα της μεθόδου H λίστα των παραμέτρων Ο τύπος της τιμής που επιστρέφει η μέθοδος. Aν η μέθοδος δεν επιστρέφει τιμή ο τύπος της είναι void. Το κυρίως σώμα της μεθόδου (που είναι μέσα σε άγκιστρα) Σύνταξη: τύπος όνομα_μεθόδου(λίστα_παραμέτρων) { } δηλώσεις και εντολές

Ορισμός και χρήση Μεθόδων (2/2) Η εντολή που επιστρέφει τιμή Παράδειγμα: public boolean atworldedge() { if(getx() < 20 getx() > getworld().getwidth() - 20) return true; if(gety() < 20 gety() > getworld().getheight() - 20) return true; else return false; }

Μέθοδος act() Η μέθοδος act() υπάρχει στον πηγαίο κώδικα όλων των αντικειμένων του Greenfoot και καλείται (εκτελείται) για όλα τα αντικείμενα του Κόσμου κάθε φορά που κάνουμε κλικ στο κουμπί εκτέλεσης Act ή Run. Το κουμπί Act εκτελεί τον κώδικα μία φορά, ενώ το κουμπί Run επαναλαμβάνει τον κώδικα της μεθόδου Act μέχρι να πατήσουμε το κουμπί Pause. public void act() { //Εδώ γράφουμε τις εντολές που καθορίζουν τις ενέργειες // που το αντικείμενο πρέπει να πραγματοποιεί όταν // εκτελείται η act. }

Προσθήκη κώδικα σε αντικείμενο Διπλό κλικ στο πλαίσιο της κλάσης ή δεξί κλικ Open editor Τοποθετούμε π.χ. την εντολή move() (κινήσου) μέσα στη μέθοδο act() και μετά κλικ στο κουμπί Compile Πως θα αυξήσουμε την ταχύτητα του αντικειμένου;

Προβολή τεκμηρίωσης Σύνοψη μεθόδων Εναλλαγή μεταξύ πηγαίου κώδικα και τεκμηρίωσης

Μεταγλώττιση (Compilation) (1/2) Για κάθε συγγραφή ή αλλαγή κώδικα πρέπει να πατήσουμε Compile για να δούμε αν έχουμε συντακτικά λάθη και να τα διορθώσουμε. Πιθανά συντακτικά λάθη: Μη κλείσιμο αγκυλών {} ή παρενθέσεων (), οι οποίες πρέπει να είναι ζευγάρια. Κάθε εντολή πρέπει να υπακούει στο συντακτικό και τη γραμματική του Greenfoot, π.χ. move(1) και όχι Move(1) (δηλ. τα γράμματα πρέπει να είναι πεζά ή κεφαλαία όπου ακριβώς πρέπει) και να τελειώνει με το χαρακτήρα «;». Όταν κάνουμε μεταγλώττιση, στο κάτω μέρος της οθόνης το Greenfoot εμφανίζει τυχόν συντακτικά λάθη, τα οποία μπορούμε να διορθώσουμε και να μεταγλωττίσουμε ξανά το πρόγραμμά μας.

Μεταγλώττιση (Compilation) (2/2) Compilation με συντακτικά λάθη Compilation χωρίς συντακτικά λάθη

Εκτέλεση προγράμματος Όπως προαναφέραμε, το πρόγραμμα (αφού πρώτα γίνει Compile) εκτελείται με τα κουμπιά Act ή Run. Πατώντας Run, η πασχαλίτσα μετακινείται ως το τέλος του Κόσμου

Εντολές: Δημιουργία πλέγματος στο υπόβαθρο Η μέθοδος super, δημιουργεί πλέγμα στο υπόβαθρο (κόσμο) με χαρακτηριστικά αυτά που δηλώνονται μέσα στην παρένθεση (παράμετροι). Σύνταξη: super(αριθμός κελιών οριζοντίως, αριθμός κελιών καθέτως, μέγεθος κελιών); Ανοίγουμε τον editor για το υπόβαθρο (εντολή Open editor) και αλλάζουμε τις παραμέτρους της εντολής super. Παράδειγμα: public background() { } super(600, 400, 1);

Εντολές: Μετακίνηση αντικειμένου Με την μέθοδο move(), το αντικείμενο μετακινείται προς την κατεύθυνση που κοιτάει, τόσες μονάδες όσες δηλώνει η παράμετρος. Η μονάδα εκφράζεται σε σχέση το μέγεθος του κελιού, π.χ. η move(1); κινεί το αντικείμενο κατά 1 κελί. Η αρνητική τιμή παραμέτρου, το μετακινεί προς την αντίθετη κατεύθυνση. Σύνταξη: move(αριθμός κελιών); Παράδειγμα: public class ladybug extends Actor { } public void act() { } move(5);

Εντολές: Στροφή αντικειμένου Με την μέθοδο turn() μπορούμε να καθορίσουμε πόσες μοίρες θα περιστραφεί η μορφή (δεξιόστροφα). Η κατεύθυνση περιστροφής αλλάζει βάζοντας αρνητικές τιμές στις παραμέτρους. Σύνταξη: turn(μοίρες); Παράδειγμα: public class ladybug extends Actor { } public void act() { } turn(90); https://www.dreamstime.com/stock-photo-compass-image289770

Εντολές: Εμφάνιση τιμών Η εντολή System.out.println(), εμφανίζει ένα παράθυρο με τίτλο «Greenfoot: Terminal Window» και παίρνει ως παράμετρο μια έκφραση (μεταβλητή, σταθερά κ.λπ.), της οποίας εμφανίζει την τιμή. Σύνταξη: System.out.println(έκφραση); Παράδειγμα: public class ladybug extends Actor { } public void act() { } System.out.println( Hello!!! );

Εντολές: Παραγωγή τυχαίων αριθμών Η εντολή Greenfoot.getRandomNumber(), επιστρέφει έναν τυχαίο αριθμό από το μηδέν μέχρι το όριο που ορίζεται ως τιμή της παραμέτρου και είναι ένας ακέραιος αριθμός (int). Μπορούμε να δούμε πώς λειτουργεί η εντολή αυτή χρησιμοποιώντας την εντολή System.out.println. Σύνταξη: Greenfoot.getRandomNumber(όριο); Παράδειγμα: public class ladybug extends Actor { public void act() { System.out.println(Greenfoot.getRandomNumber(60)); } }

Εντολές: Επιλογή (1/2) Η εντολή χρησιμοποιεί τις δεσμευμένες λέξεις ( if και else ). Η δομή επιλογής if / else επιτρέπει στο προγραμματιστή να καθορίσει μια ενέργεια που θα εκτελεστεί όταν η συνθήκη είναι αληθής και μια διαφορετική ενέργεια που θα εκτελεστεί όταν η συνθήκη θα είναι ψευδής. Σύνταξη: if (συνθήκη){ if (συνθήκη){ εντολή-ές; εντολή-ές; } } else { εντολή-ές; } Τελεστές σύγκρισης: > (μεγαλύτερο) < (μικρότερο) >= (μεγαλύτερο ή ίσο) <= (μικρότερο ή ίσο) == (ίσο)!= (διάφορο)

Εντολές: Επιλογή (2/2) Παράδειγμα: public class ladybug extends Actor { } public void act() { } move(5); if (Greenfoot.getRandomNumber(100)>50) { } turn(90); Η πασχαλίτσα στρίβει μόνο αν ο τυχαίος αριθμός είναι μεγαλύτερος του 50. Όμως αυτό δεν ξέρουμε πότε θα συμβεί δεδομένου ότι η μέθοδος Greenfoot.getRandomNumber() παράγει έναν τυχαίο αριθμό κάθε φορά. Έτσι, η πασχαλίτσα κάνει μια τυχαία κίνηση μέσα στο πλέγμα.

Εντολές: Έλεγχος επαφής Η μέθοδος istouching(), παίρνει τιμή «αλήθεια» αν το αντικείμενό μας ακουμπά ένα άλλο αντικείμενο. Σύνταξη: istouching(όνομα_κλάσης.class); Παράδειγμα: move(5); if (Greenfoot.getRandomNumber(100)>80) { } turn(90); if (istouching(bomb.class)){ } System.out.println("Επαφή με αντικείμενο!!!");

Εντολές: Εξαφάνιση αντικειμένου Η μέθοδος removetouching(), εξαφανίζει το αντικείμενο που έρχεται σε επαφή με το αντικείμενό μας. Σύνταξη: removetouching(όνομα_κλάσης.class); Παράδειγμα: move(5); if (Greenfoot.getRandomNumber(100)>80) { } turn(90); if (istouching(bomb.class)){ } removetouching(bomb.class);

Εντολές: Δημιουργία νέου αντικειμένου (1/2) Η μέθοδος addobject(), δημιουργεί ένα αντικείμενο μιας κλάσης και το τοποθετείται σε συγκεκριμένη θέση στο πλέγμα. Με την εντολή αυτή δεν θα χρειάζεται να βάζουμε τα αντικείμενα χειροκίνητα κάθε φορά αλλά θα εμφανίζονται αυτόματα κάθε φορά που πατάμε Compile. Η εντολή addobject εκτελείται μέσα στον κατασκευαστή του world (δεξί κλικ στην υποκλάση του world και επιλέγουμε Open Editor). Σύνταξη: addobject(new όνομα_κλάσης(), θέση x, θέση y);

Εντολές: Δημιουργία νέου αντικειμένου (2/2) Παράδειγμα: public class background extends World{ public background() { super(600, 400, 1); addobject(new bomb(), 150, 150); prepare(); }. }

Εντολές: Τοποθέτηση αντικειμένου σε συγκεκριμένη θέση Η μέθοδος setlocation(), τοποθετείται το αντικείμενο που εκτελεί τον κώδικα στη συγκεκριμένη θέση. Σύνταξη: setlocation(θέση οριζόντια, θέση κατακόρυφα); Παράδειγμα: public class ladybug extends Actor { public void act() { 50 int x = getx(); int y = gety(); //move 50 to right setlocation(x + 50, y); } Έχει οριστεί 1 κελί = 1 pixel }

Εντολές: Έλεγχος πληκτρολογίου (1/3) Για την ανάκτηση εισόδου από το πληκτρολόγιο, χρησιμοποιούνται οι μέθοδοι getkey() και iskeydown(), οι οποίες επιστρέφουν/κατανοούν τα ακόλουθα ονόματα πλήκτρων: "a", "b",.., "z" (αλφαβητικά πλήκτρα), "0".."9" (ψηφία), τα περισσότερα σημεία στίξης. Η getkey() επιστρέφει επίσης κεφαλαίους χαρακτήρες όταν χρειάζεται. "up", "down", "left", "right" (τα cursor keys) "enter", "space", "tab", "escape", "backspace", "shift", "control" "F1", "F2",.., "F12" (τα function keys)

Εντολές: Έλεγχος πληκτρολογίου (2/3) Η εντολή που επιτρέπει τη χρήση του πληκτρολογίου είναι η Greenfoot.isKeyDown(). Η μέθοδος iskeydown() σημαίνει «Είναι το πλήκτρο πατημένο» χωρίς να αναφέρεται σε κάποιο πλήκτρο συγκεκριμένα. Το πλήκτρο δηλώνεται μέσα στην παρένθεση και μπορεί να είναι οποιοδήποτε πλήκτρο του πληκτρολογίου. Για να χρησιμοποιήσουμε για παράδειγμα τα βελάκια, μέσα στην παρένθεση θα πρέπει να βάλουμε τις λέξεις: "up", "down", "left" και "right". Σύνταξη: Greenfoot.isKeyDown("String key"); Παράδειγμα: if (Greenfoot.isKeyDown("left")) { } turn(-90);

Εντολές: Έλεγχος πληκτρολογίου (3/3) Η μέθοδος getkey() επιστρέφει την τιμή του πλήκτρου που έχει πατηθεί. Αν δε πατηθεί κάποιο πλήκτρο η τιμή που επιστρέφει είναι null. Σύνταξη: Greenfoot.getKey(); Παράδειγμα: if (Greenfoot.getKey() == "up") { } setlocation(getx(), gety() - 1); setrotation(270);

Εντολές: Αναπαραγωγή ήχου Η μέθοδος για την αναπαραγωγή ήχου στο Greenfoot είναι η playsound(). Σύνταξη: Greenfoot.playSound("path/όνομα_αρχείου"); Παράδειγμα: if (istouching(bomb.class)){ removetouching(bomb.class); Greenfoot.playSound("blow.wav"); }

Εντολές: Τερματισμός προγράμματος Μπορούμε να σταματήσουμε την εκτέλεση της εφαρμογής μας οποιαδήποτε στιγμή επιθυμούμε. Αυτό μπορεί να γίνει με την μέθοδο stop(). Σύνταξη: Greenfoot.stop(); Παράδειγμα: void touchingbomb(){ } if (istouching(bomb.class)) { } removetouching(bomb.class); Greenfoot.stop();

Εκτέλεση κώδικα συγκεκριμένης μεθόδου 1. Δεξί κλικ στη ladybug Το αντικείμενο θα εκτελέσει τις εντολές που περιέχει η μέθοδος act(), δηλαδή θα κινηθεί, θα στρίψει κ.λπ. 2. Επιλογή μεθόδου act()

Επιστροφή τιμών 1. Δεξί κλικ στη ladybug κατάδειξη Inherit from Actor 3. Επιστροφή της θέσης του αντικειμένου στο πλέγμα στον άξονα x 2. Επιλογή μεθόδου getx()

Αλληλεπίδραση με αντικείμενα 1. Δεξί κλικ στη ladybug κατάδειξη Inherit from Actor 3. Ορισμός περιστροφής του αντικειμένου κατά 180 ο 2. Επιλογή μεθόδου turn()

Διαγραφή αντικειμένου Διαγραφή μορφής

Σύνοψη μεθόδων: Κλάση World (1/2)

Σύνοψη μεθόδων: Κλάση World (2/2)

Σύνοψη μεθόδων: Κλάση Actor (1/2)

Σύνοψη μεθόδων: Κλάση Actor (2/2)

Σύνοψη μεθόδων: Κλάση Greenfoot (1/2)

Σύνοψη μεθόδων: Κλάση Greenfoot (2/2)

Σύνοψη μεθόδων: Κλάση MouseInfo

Σύνοψη μεθόδων: Κλάση GreenfootImage (1/3)

Σύνοψη μεθόδων: Κλάση GreenfootImage (2/3)

Σύνοψη μεθόδων: Κλάση GreenfootImage (3/3)

Πηγές Greenfoot (https://www.greenfoot.org/home) Τα πρώτα βήματα με το Greenfoot Νικολός Δημήτριος Introduction to Programming - Greenfoot by Michael Kölling Greenfoot API - Michael Kölling Greenfoot: An Introduction to OOP Adrienne Decker, Stephanie Hoeppner, Fran Trees PCSTEPS (https://www.pcsteps.gr/130637-εισαγωγήστη-java-για-αρχάριους/)