Scratch

Ενέργειες μόνο αν συμβεί κάτι

Video – Ενέργειες μόνο αν συμβεί κάτι

Video Transcript
Καλησπέρα.

 

Πολλές φορές επιθυμούμε να εκτελέσουμε κάποιες ενέργειες μόνο αν συμβεί κάτι – όπως ένα συγκεκριμένο γεγονός. Αν αυτό το κάτι δεν συμβεί τότε πιθανότατα οι ενέργειες αυτές να μην επιθυμούμε να γίνουν.

 

Για παράδειγμα λέμε:

ΑΝ βρέξει ΤΟΤΕ θα ανοίξω την ομπρέλα

 

Η ενέργεια «θα ανοίξω την ομπρέλα» θα γίνει μόνο αν βρέξει. Αν δεν βρέξει η ομπρέλα μάλλον δεν θα ανοίξει..

 

Στον προγραμματισμό σχεδόν πάντα έχουμε να αντιμετωπίσουμε τέτοιες επιλογές. Θέλουμε δηλαδή να εκτελούνται κάποιες εντολές μόνο και αν συμβεί κάποιο συγκεκριμένο γεγονός.

 

Αυτό ακριβώς είναι το αντικείμενο του σημερινού μαθήματος. Η προγραμματιστική έννοια που περιγράφει τα παραπάνω είναι η «Δομή επιλογής»

 

Ας ακούσουμε τον Steve τι έχει να μας πει για το συγκεκριμένο θέμα.

 

 

Γεια σας

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

ΑΝ δηλαδή συμβεί κάτι συγκεκριμένο ΤΟΤΕ να εκτελεστούν κάποιες εντολές.

Μπερδευτήκατε; Είμαι σίγουρος πως με το επόμενο παράδειγμα θα καταλάβετε τι εννοώ. Να εμφανιστεί στην οθόνη το πρόγραμμα που έχω ετοιμάσει παρακαλώ… (χτύπημα δακτύλων)

Αν και όπως βλέπετε το σενάριο είναι μικρό – περιέχει κάποιες εντολές που πιθανότατα δεν έχετε ξαναδεί.

Αρχικά ας τρέξουμε το σενάριο να δούμε τι κάνει…

(πάτημα σημαίας)

Βλέπετε πως ο χαρακτήρας ρωτάει τον χρήστη. Αυτό το πετύχαμε με την εντολή «ρώτησε» από την παλέτα αισθητήρες. Όπως βλέπετε το πρόγραμμα περιμένει την απάντηση.

Μόλις πληκτρολογήσω την ηλικία μου αυτή θα αποθηκευτεί μέσα στην μεταβλητή απάντηση. Την μεταβλητή «απάντηση» δεν την έφτιαξα εγώ. Είναι μια έτοιμη μεταβλητή που υπάρχει στο scratch. Ότι απάντηση και αν δώσω – αυτή θα μπει μέσα στο κουτάκι «απάντηση».

 

Ας πληκτρολογήσω την ηλικία μου..

 

Εμφανίζεται το μήνυμα «είσαι ανήλικος». Ας τρέξω το σενάριο ακόμη μια φορά. Θα δώσω ηλικία μεγαλύτερη του 18.

Βλέπετε δεν εμφανίζεται τίποτα.

 

Παρατηρήστε τώρα τις εντολές.. Το μήνυμα «Είσαι ανήλικος» βρίσκεται μέσα στην εντολή ΕΑΝ. Η εντολή «πες Είσαι ανήλικος» θα  εκτελεστεί μόνο αν η απάντηση είναι μικρότερη του 18. Όπως και συμβαίνει. Είδατε πως δεν εκτελείται αν η τιμή είναι μεγαλύτερη του 18.

 

Ας αλλάξουμε το σενάριο ώστε να εμφανίζεται και το μήνυμα «Είσαι ενήλικος» στην αντίστοιχη περίπτωση..

 

Χρειαζόμαστε ακόμη μια εντολή ΕΑΝ που να ελέγχει και την άλλη περίπτωση..

 

 

Ας τρέξουμε τώρα το σενάριο..

 

Ίσως να παρατηρήσατε πως η εισαγωγή της τιμής 18 δεν εμφανίζει κανένα μήνυμα. Δοκιμάστε εσείς στο δικό σας παράθυρο του scratch ακόμη ένα ΕΑΝ ή κάποια μικρή αλλαγή στον κώδικα για να διορθώσετε αυτό το μικρό κενό στο σενάριο.

 

Αντί να χρησιμοποιείτε πολλά ΕΑΝ θα μπορούσατε να χρησιμοποιήσετε την εντολή ΕΑΝ – ΑΛΛΙΩΣ. Δείτε στα παρακάτω δευτερόλεπτα το ίδιο σενάριο αλλά με την εντολή ΕΑΝ ΑΛΛΙΩΣ.

 

 

Νομίζω πως το καταλάβατε και γίνατε σοφότεροι με αυτό το βίντεο έτσι δεν είναι;

 

 

Γράψε στο σκηνικό

Video – Γράψε στο σκηνικό

Video Transcript
Καλησπέρα.

 

Η διαδικασία για να φτιάξει κανείς μια ομελέτα απαιτεί την εκτέλεση συγκεκριμένων βημάτων με την σειρά.

 

Πρώτα πρέπει να αγοράσεις τα αυγά στην συνέχεια να τα σπάσεις, να τα ανακατέψεις να τα ρίξεις στο μαγειρικό σκεύος κ.τ.λ

 

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

 

Κάπως έτσι είναι η λειτουργία και της δομής ακολουθίας στον προγραμματισμό.

 

Θα αφήσω τον Steve να σας το περιγράψει περισσότερο αναλυτικά..

 

Γεια σας,

Όταν θέλεις να δημιουργήσεις ένα οποιοδήποτε σενάριο στο scratch αλλά και σε οποιαδήποτε γλώσσα προγραμματισμού, θα πρέπει να σκέφτεσαι με βήματα τα οποία γίνονται με την σειρά το ένα μετά το άλλο.

Οι εντολές εκτελούνται με την σειρά. Η κάθε εντολή εκτελείται αφού τελειώσει την εκτέλεση της η προηγούμενη.

Ας δούμε ένα παράδειγμα στην πράξη. Ας εμφανιστεί το πρόγραμμα που έχω ετοιμάσει για αυτόν τον λόγο παρακαλώ (χτύπημα δακτύλων).

Χρειάζομαι και έναν τρόπο για να μπω στην οθόνη.. (χτύπημα δακτύλων)

 

Σε αυτό το σενάριο που έχει ανατεθεί στην γάτα του scratch όπως βλέπετε, χρησιμοποιούνται κυρίως εντολές από την παλέτα κινήσεις και σχεδιασμοί πένας.

Η παλέτα σχεδιασμοί πένας διαθέτει εντολές που επιτρέπουν στον χαρακτήρα να σχεδιάσει σχήματα στο σκηνικό.

Προσέξτε πώς οι εντολές εκτελούνται η μία μετά την άλλη με την σειρά. Προσέξτε πως η κάθε μια εντολή εκτελείται αφού έχει τελειώσει την εκτέλεση της η προηγούμενη.

Με το συγκεκριμένο σενάριο, η γάτα δημιουργεί ένα γκρι τετράγωνο. Ας τρέξουμε το σενάριο για να δούμε το αποτέλεσμα στο σκηνικό..

 

Ας τρέξουμε ξανά το σενάριο βήμα – προς βήμα για να καταλάβουμε τι κάνει η κάθε εντολή ξεχωριστά.

Θα μεταφέρω την γάτα εδώ και θα της αλλάξω κάπως το μέγεθος.

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

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

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

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

Με την επόμενη εντολή ορίζουμε το χρώμα της πένας.

Με τις επόμενες 4 εντολές δημιουργείται το τετράγωνο…

 

Πόντοι και άλλες πληροφορίες στα παιχνίδια μας

Video -Πόντοι και άλλες πληροφορίες στα παιχνίδια μας

Video Transcript
Γεια σας,

 

Στο μάθημα αυτό ο Stevie θα σας μιλήσει για τις μεταβλητές.

 

Οι μεταβλητές είναι μια προγραμματιστική έννοια που χρησιμοποιείται σε όλες τις γλώσσες προγραμματισμού.

 

Η κατανόηση της έννοιας και της χρησιμότητας των μεταβλητών είναι βασική για την συνέχεια των μαθημάτων αυτών.

 

Δείτε αυτό το βίντεο περισσότερες από μια φορές, παγώστε την εικόνα όπου χρειάζεται για να διαβάσετε πιο προσεκτικά τα κείμενα και φυσικά δοκιμάστε τις προτάσεις του παρουσιαστή στο δικό σας παράθυρο του του Scatch.

 

Καλή συνέχεια.

Καλησπέρα!

 

Στα περισσότερα ηλεκτρονικά παιχνίδια, οι ήρωες που πρωταγωνιστούν μαζεύουν πόντους.

Ας υποθέσουμε πως δημιουργούμε ένα παιχνίδι όπου μια μαϊμού ψάχνει να βρει μπανάνες για να φάει. Θα πρέπει όμως να αποφεύγει τα λιοντάρια που κυνηγάνε να φάνε αυτή. Κάθε φορά που τρώει μπανάνες κερδίζει πόντους.

Ας δούμε λίγα στιγμιότυπα από ένα τέτοιο παιχνίδι…

Βλέπετε πως η τιμή του score αλλάζει ή καλύτερα μεταβάλλεται, κάθε φορά που η μαϊμού πετυχαίνει τον στόχο της. Δηλαδή να φάει ένα τσαμπί με μπανάνες.

Το score είναι μια μεταβλητή. Ονομάζεται έτσι γιατί η τιμή που περιέχει ΜΕΤΑΒΑΛΛΕΤΑΙ.

-------------------------------------------------------------------------------------

 

Μπορούμε να φανταστούμε το score σαν ένα κουτάκι μέσα στον υπολογιστή μας που κάθε στιγμή μπορεί να περιέχει μια διαφορετική τιμή. Η τιμή αυτή μπορεί να αλλάζει με διάφορους τρόπους. Μπορεί ο προγραμματιστής να ορίσει να μειώνεται όταν γίνεται κάτι (π.χ όταν ακουμπάει την μαϊμού ένα λιοντάρι) ή να αυξάνεται περισσότερο σε κάποια άλλη περίπτωση που ο προγραμματιστής με την φαντασία του θα επινοήσει.

Επειδή ο προγραμματιστής δεν μπορεί να ξέρει κάθε στιγμή ποια τιμή έχει μέσα το κουτάκι αυτό, καθώς αυτή μπορεί να μεταβάλλεται με πολλούς τρόπους, όταν θέλει να χρησιμοποιήσει την τιμή αυτή, αντί για τον αριθμό χρησιμοποιεί το όνομα του κουτιού. Κάθε φορά λοιπόν που ο προγραμματιστής χρησιμοποιεί την λέξη score εννοεί τον αριθμό που έχει μέσα, όποιος και αν είναι αυτός.

 

Ας δούμε το παιχνίδι ακόμη λίγα δευτερόλεπτα αλλά από άλλη οπτική γωνία.  Έχουμε λοιπόν 5 χαρακτήρες. Η μπανάνες, η μαϊμού και τα 3 λιοντάρια. Αν κάνουμε κλικ επάνω στα λιοντάρια για να δούμε το σενάριο που έχει ανατεθεί στο κάθε ένα θα παρατηρήσουμε πως κάθε ένα από αυτά έχει διαφορετικό σενάριο που του αποδίδει διαφορετική συμπεριφορά στο παιχνίδι.

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

 

Ας δούμε τώρα στον κώδικα τον τρόπο που χρησιμοποιείται η μεταβλητή score.

Στο σενάριο της μπανάνας βλέπετε τον τρόπο που ορίζεται η αρχική τιμή του score σε 0. Έτσι κάθε φορά που θα ξεκινά ένα καινούριο παιχνίδι το score θα ξεκινά από την αρχή.

Στις παρακάτω γραμμές περιέχεται κώδικάς που θα αναφερθούμε περισσότερο αναλυτικά σε ένα από τα επόμενα μαθήματα αυτής της ενότητας. Τώρα μπορούμε να πούμε πως με αυτές τις γραμμές ρυθμίζεται  ο αριθμός που περιέχει η μεταβλητή score να αλλάζει κατά +1 κάθε φορά που η μπανάνα ακουμπά την μαϊμού.

Δηλαδή αν η μεταβλητή score περιέχει τον αριθμό 0, μόλις η μπανάνα ακουμπήσει την μαϊμού – θα γίνει 1, αν ξανασυμβεί, 2 και θα συνεχίζει να αυξάνεται με αυτόν τον τρόπο

 

Στο 1ο και στο 3ο λιοντάρι δεν χρησιμοποιείται καθόλου η μεταβλητή score. To 2o λιοντάρι όμως είναι αυτό που μεταβάλλει την ταχύτητα του ανάλογα με το score. Με αυτές τις γραμμές πετυχαίνουμε αυτό το αποτέλεσμα.

Βλέπετε πώς ο προγραμματιστής ρυθμίζει την κίνηση του λιονταριού ανάλογα με την τιμή της μεταβλητής score. Προσέξτε πώς χρησιμοποιείται η μεταβλητή score. Με την εντολή

Κινήσου (score/4) βήματα

Ο προγραμματιστής φυσικά και δίνει εντολή στο αντικείμενο να κινηθεί τόσα βήματα όσα περιέχονται μέσα στην μεταβλητή score δια του 4.

Καθώς η τιμή του score θα αυξάνει με την εξέλιξη του παιχνιδιού, η κίνηση του λιονταριού θα είναι μεγαλύτερη.

 

Τον αριθμό των πόντων του παιχνιδιού μου,

θα τον κρατάω μέσα σε κουτάκι,

στην μνήμη του υπολογιστή μου..

 

Το κουτάκι αυτό είναι η μεταβλητή score

 

Στην αρχή φυσικά του παιχνιδιού ο αριθμός των πόντων θα είναι 0

 

Κάθε φορά που θα ακουμπάει

μια μαϊμού μπανάνα,

οι πόντοι θα αλλάζουν.

 

Θα γίνονται ένας παραπάνω από όσο ήταν

Πριν η μαϊμού ακουμπήσει την μπανάνα

 

Και κάθε φορά που η μαϊμού θα ακουμπάει την μπανάνα θα γίνεται το ίδιο.

 

Για να κάνω το παιχνίδι περισσότερο ενδιαφέρον θα βάλω ένα λιοντάρι να κυνηγάει την μαϊμού

 

Το λιοντάρι θα κινείται

πιο γρήγορα κάθε φορά που η

μαϊμού θα τρώει ένα τσαμπί

 

Όσο δηλαδή το score

μεγαλώνει, η κίνηση του

λιονταριού θα είναι μεγαλύτερη.

 

Αν το παιχνίδι έτσι είναι

πολύ δύσκολο, μπορώ να

κάνω κάποια αλλαγή, ώστε το

λιοντάρι να κινείται πιο αργά..

Οι θέσεις των ηρώων στο σκηνικό

Video – Οι θέσεις των ηρώων στο σκηνικό

Video Transcript
Γεια σας,

Η ενότητα των μαθημάτων που ακολουθεί αναφέρεται σε σημαντικότατες προγραμματιστικές έννοιες.

Η γνώση τους θα σας βοηθήσει να βάλετε ισχυρές βάσεις για να κατανοήσετε τον προγραμματισμό των ηλεκτρονικών υπολογιστών.

Η ενέργεια που είναι απαραίτητη να κάνετε τώρα είναι να παγώσετε το βίντεο αυτό και να ανοίξετε σε ένα άλλο παράθυρο το Scratch.

Είναι απαραίτητο να δοκιμάζετε οτιδήποτε προτείνει ο Steve. Μόνο έτσι θα καταφέρετε να επιτύχετε τους στόχους αυτού του μαθήματος.

Να θυμάστε πως όσο πιο πολύ ώρα περνάτε με την εφαρμογή τόσο καλύτεροι ή καλύτερες θα γίνεστε!

Να θυμάστε λοιπόν. Παγώνουμε συχνά την εικόνα και δοκιμάζουμε στο Scratch.

Steve μπορείς να ξεκινήσεις..

Γεια σας.

Η προγραμματιστική έννοια που θα συζητήσουμε σε αυτό το μάθημα είναι οι συντεταγμένες. Οι συντεταγμένες είναι μια πολύ σημαντική προγραμματιστική έννοια καθώς καθορίζουν την θέση των αντικειμένων στο σκηνικό. Η κατανόηση τους θα σας βοηθήσει ιδιαίτερα στην δημιουργία παιχνιδιών με το scratch.

Αργύρη! Θα χρειαστώ την βοήθεια σου στην οθόνη.

Το σκηνικό στο Scratch έχει μήκος 480 εικονοστοιχεία και ύψος 360 εικονοστοιχεία.

Για να καθορίσει ο προγραμματιστής την ακριβή θέση ενός αντικειμένου στο σκηνικό θα πρέπει να ορίσει ακριβώς τις συντεταγμένες του.

Αργύρη, θα χρειαστώ την βοήθεια σου στην οθόνη

Οι συντεταγμένες είναι 2 αριθμοί. Ο πρώτος αριθμός, που έχει την ονομασία Χ, ορίζει την οριζόντια θέση του αντικειμένου στο σκηνικό. Ο δεύτερος ονομάζεται Υ και ορίζει την κατακόρυφη θέση του αντικειμένου στο σκηνικό

Οι τιμές που μπορεί να πάρει η συντεταγμένη Χ είναι μεταξύ των -240 και του 240. Αν έχει τιμή -240 τότε βρίσκεται κάπου στην άκρη αριστερά της σκηνής. Αν έχει τιμή 0 στην μέση του σκηνικού ενώ αν έχει τιμή 240 στην δεξιά άκρη του σκηνικού.

Οι αντίστοιχες τιμές της συντεταγμένης Υ είναι από  -180 μέχρι 180. Αν το αντικείμενο έχει τιμή Υ = -180 τότε η θέση του θα είναι στο κάτω άκρο του σκηνικού ενώ αν είναι 180 στο πάνω άκρο του.

Για να προσδιοριστεί η ακριβής θέση ενός αντικειμένου αναφέρουμε τις συντεταγμένες του ως ζεύγος. Η θέση (0,0) σημαίνει πως το Χ=0 και το Υ=0 και βρίσκεται ακριβώς στο κέντρο του σκηνικού

 

Ας μεταφερθούμε όμως στην εφαρμογή του scratch για να δούμε ορισμένα πράγματα στην πράξη.

Μόλις ξεκινά η εφαρμογή, από προεπιλογή στο νέο έργο, υπάρχει το αντικείμενο με όνομα: «αντικείμενο 1» που είναι η γνωστή μας γάτα.

Το όνομα του αντικείμενου το βλέπουμε εδώ και μπορούμε να το αλλάξουμε αν θέλουμε. Συνήθως αλλάζουμε το όνομα κάθε αντικείμενου που χρησιμοποιούμε σύμφωνα με αυτό που απεικονίζει η μορφή του. Ας το αλλάξω σε «cat».

Προσέξτε πως η θέση της γάτας, φαίνεται να είναι στο κέντρο του σκηνικού. Η ακριβής της θέση προσδιορίζεται όπως είπαμε από τις συντεταγμένες της. Όπως βλέπετε βρίσκεται στην θέση 0,0. Δηλαδή ακριβώς στο κέντρο του σκηνικού.

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

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

Μουσική παρακαλώ…