Εργαστήριο Υπολογιστών. Τάξη ΣΤ
Φύλλο Εργασίας : Cross the road I.

Βασικοί Στόχοι.

  • Να χρησιμοποιήσουμε απλά εργαλεία για τον σχεδιασμό φόντου, την εισαγωγή και προγραμματισμό διαφόρων αντικειμένων.
  • Να διαβάσουμε και να μεταφράσουμε κώδικα.
  • Να κάνουμε εκσφαλμάτωση (debugging)  για την διόρθωση των λαθών στον κώδικα.
  • Να παίξουμε με το παιχνίδι που θα δημιουργήσουμε.

Εισαγωγή.

Αυτό το project καθοδηγεί τους μαθητές βήμα προς βήμα μέσα από τη λογική προγραμματισμού στη δημιουργία ενός διαδραστικού και διασκεδαστικού παιχνιδιού τύπου "frogger". Το αντικείμενο του παιχνιδιού είναι να περάσουμε  το βάτραχο από το δρόμο χωρίς να τον αγγίξει κανένα από τα κινούμενα αυτοκίνητα. Το παιχνίδι δείχνει "Game Over" αν κάποιο αυτοκίνητο "πατήσει" τον βάτραχο ή σύμφωνα με τη λογική του προγραμματιστή "ο βάτραχος αγγίζει οποιοδήποτε αυτοκίνητο".

Τα θέματα που θα καλύψουμε σε επίπεδο προγραμματισμού scratch είναι : Το σύστημα συντεταγμένων της οθόνης του Scratch για να μπορούμε να προγραμματίσουμε τις θέσεις και τις κινήσεις των αντικειμένων (βατράχου και αυτοκινήτων), επανάληψη (για πάντα), δομή επιλογής, ενώ θα χρειαστούμε και την εντολή Ή (OR) ενσωματωμένη στην εντολή επιλογής. Η λογική της εντολής Ή είναι ότι ο υπολογιστής θα εκτελέσει κάποιες εντολές  που θα του πούμε εάν ο βάτραχος χτυπηθεί από το αυτοκίνητο 1 ή από το αυτοκίνητο 2.

Πληροφορίες για τις συντεταγμένες.

Η οθόνη στο scratch χωρίζεται από δύο νοητές ευθείες όπως φαίνεται στην εικόνα παρακάτω. Η οριζόντια ευθεία λέγεται "άξονας x" και η κατακόρυφη ευθεία λέγεται "άξονας y".  Στο κέντρο της οθόνης (εκεί που συναντιόνται οι γραμμές) το x και y είναι μηδέν (0). Όσο απομακρυνόμαστε από το κέντρο το x μπορεί να γίνει από -240 έως 240 και το y από -180 έως 180. Με αυτό τον τρόπο κάθε σημείο στην οθόνη αναλύεται σε δυο αριθμούς x και y οι οποίοι λέγονται συντεταγμένες του σημείου.
syntetagmenes scratch
Έτσι λοιπόν μπορούμε να μετακινήσουμε ένα αντικείμενο στην οθόνη με μια εντολή δίνοντας στην εντολή τις συντεταγμένες του σημείου που θέλουμε να πάει.
Για παράδειγμα : 
scratch goto location     scratch move to location

Στην πρώτη εντολή ορίζουμε να τοποθετηθεί ένα αντικείμενο στην θέση χ=-150 και y=-120, ενώ στην δεύτερη περίπτωση δίνουμε εντολή σε ένα αντικείμενο να κινηθεί από την θέση που βρίσκεται προς την θέση x=-150 και y=-120 σε χρόνο ενός δευτερολέπτου.

 

Οδηγίες

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

froggy bug eater2

2.  Δημιουργία οθόνης "GAME OVER"  

A. Πατήστε δεξιό κλικ στο βασικό φόντο του παιχνιδιού και επιλέξτε "διπλασιασμός" όπως φαίνεται στην εικόνα πιο κάτω.
cross2b

Β. Με το εργαλείο κειμένου γράψτε την φράση "GAME OVER" όπως φαίνεται στην παρακάτω εικόνα.
cross2c

3. Βάλτε τα αυτοκίνητα με τον κώδικά τους.
Α.  Στα αντικείμενα που θα χρησιμοποιήσουμε διαγράψτε την γατούλα του scratch και προσθέστε το αυτοκίνητο "Convertible 2" θα το βρείτε εύκολα εάν στο πλαίσιο αναζήτησης γράψετε "cars".

Β.  Δημιουργήστε τον κώδικα για το 1ο αυτοκίνητο όπως φαίνεται πιο κάτω και βρείτε πως ρυθμίζουμε την ταχύτητά του.
cross3

  Γ Εισάγετε το επόμενο αυτοκίνητο και αντιστρέψτε το όπως δείχνει η παρακάτω εικόνα (κάντε κλικ εκεί που δείχνει το βέλος) για να πηγαίνει στην αντίθετη λωρίδα κυκλοφορίας .
cross4
Δ.  Στις εντολές για την κίνηση του 2ου αυτοκινήτου θα πρέπει να αλλάξετε τις συντεταγμένες ώστε το αυτοκίνητο να κινείται αντίθετα και παράλληλα με το 1ο (δηλαδή στην αντίθετη λωρίδα κυκλοφορίας).
Δείτε τις πληροφορίες για τις συντεταγμένες στο scratch στην αρχή του μαθήματος και λάβετε υπόψη σας την θέση και την κίνηση του 1ου αυτοκινήτου... για να μπορέσετε να τις βρείτε. (Πειραματιστείτε μέχρι το σωστό αποτέλεσμα...)
cross4a


4. Εισαγωγή του βατράχου.

Εισάγετε τον βάτραχο με το όνομα "frog" και δημιουργήστε κώδικα για να παγιδεύσετε τα βελάκια ώστε να τον κινείτε με αυτά.
Προσοχή, στην εντολή "Όρισε τρόπο περιστροφής Αριστερά-Δεξιά" για να μην περιστρέφεται ο βάτραχος όταν τον κατευθύνουμε με τα βελάκια.
cross5 
 

5.  Βασικός κώδικας παιχνιδιού

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

6.  Υπάρχει πρόβλημα ;

  • Κάντε εκσφαλμάτωση (debug) για τον εντοπισμό των λαθών του κώδικα.
    (αγνοήστε προς το παρόν στην παρακάτω εικόνα τις πληροφορίες που αναφέρει για το σκορ και τις μεταβλητές).

froggy bug eater12