Super Scratch Programming Adventure

Distributed Data Management Laboratory, Department of Computer Science & Engineering
University of Ioannina
ΚΕΠΛΗΝΕΤ Θωαννίνων
Be updated! Be a team! Be creative!
September 4-5, 2013
Ειζηγηηέρ: Βήσαρ Ηλίαρ (iliasv@sch.gr), Έξαπσορ Γημήηπιορ (dxexar@sch.gr),
Νικολού Αγγελική (angnikolou@sch.gr), Τζιάμη Φωηεινή (ftsiami@sch.gr)
Super Scratch Programming Adventure
Δημιοςπγία παισνιδιού ζε ππογπαμμαηιζηικό πεπιβάλλον SCRATCH
Φύλλο Επγαζίαρ 1
Αρ παίξοςμε:
Αλνίμηε ηo αξρείo race1.exe
[Αποθηκεύζηε ζηον πποζωπικό ζαρ θάκελο (Home), δεξί κλικ
και Open With Wine Windows Program Loader ή
από Terminal -> wine race1.exe]
Σηε ζπλέρεηα απνζεθεύζηε θαη αλνίμηε ην αξρείν race1.sb θαη κε βάζε α) ηελ πξνεγνύκελε εκπεηξία
ζαο, β) ηνλ θώδηθα πνπ βιέπεηε κπξνζηά ζαο, γ) ηελ αλάιπζε ηνπ πεξηβάιινληνο ηνπ SCRATCH
όπσο πεξηγξάθεηαη ζηελ Δικόνα 1, αιιά θαη δ) ηηο επεμεγήζεηο ηνπ θώδηθα ζηνλ Πίνακα 1 απαληήζεηε
ζηηο εξσηήζεηο ηνπ Πίνακα 2.
Εικόνα 1: Το περιβάλλον του SCRATCH
2
Το ζενάπιο ηος αςηοκινήηος
Αξρηθνπνίεζε...
Όηαλ παηεζεί ην πιήθηξν space ...
Όηαλ παηεζεί ην πιήθηξν δεμί βέινο ...
Όηαλ παηεζεί ην πιήθηξν αξηζηεξό βέινο ...
Πίνακασ 1: Επεξηγϊντασ τον κϊδικα
Επώηηζη
Απάνηηζη
Με πνην ηξόπν μεθηλάεη ε εθηέιεζε ηνπ
πξνγξάκκαηνο;
Πώο «θαηαιαβαίλεη» ην απηνθηλεηάθη όηη ζα πξέπεη
λα μεθηλήζεη λα θηλείηαη;
Με πνην ηξόπν ν ρξήζηεο ειέγρεη ηελ θαηεύζπλζε
ηνπ απηνθηλήηνπ;
Πνηόο είλαη ν ξόινο ηεο εληνιήο:
Δνθηκάζηε λα αιιάμεηε ηα λνύκεξα ζε απηή ηελ
εληνιή. Τη ζπκβαίλεη;
Πνπ βξίζθεηαη ην ζεκείν (0,0);
Πνηεο είλαη νη δηαζηάζεηο ηνπ ζθεληθνύ;
Πνηόο είλαη ν ξόινο ηεο εληνιήο:
Δνθηκάζηε λα επηιέμεηε έλα από ηα άιια δηαζέζηκα
3
λνύκεξα γηα απηή ηελ εληνιή. Τη παξαηεξείηε;
Πόζεο κνξθέο(sprites) έρνπλ ρξεζηκνπνηεζεί ζην
έξγν θαη πνηεο είλαη απηέο;
Υπάξρνπλ κνξθέο κε πεξηζζόηεξεο από κία
ελδπκαζίεο (costumes);
Αλ λαη, πνηεο είλαη απηέο θαη πνην ζθνπό
εμππεξεηνύλ ζην παηρλίδη;
Πνην είλαη ην απνηέιεζκα ησλ εληνιώλ:
Πίνακασ 2: Ερωτήςεισ / Απαντήςεισ
1η Τποποποίηζη ηος παισνιδιού: Πξνζζήθε κνξθήο θαη επηθνηλσλία κεηαμύ δηαθνξεηηθώλ
αληηθεηκέλσλ
1. Δηαιέμηε λέα κνξθή από αξρείν (Costumes->Things->button) θαη δώζηε ην όλνκα “Κνπκπί”.
2. Σηνλ θώδηθά ζαο θάληε ηηο πξνζζήθεο θαη ηξνπνπνηήζεηο πνπ πεξηγξάθεη ν Πίνακαρ 3.
3. Απνζεθεύζαηε κεηά ηηο αιιαγέο κε λέν όλνκα race1a.sb.
Κώδικαρ για επικοινωνία μεηαξύ μοπθών
Τν ζελάξην ηνπ θνπκπηνύ:
Τξνπνπνίεζε ηνπ ζελαξίνπ ηνπ απηνθηλήηνπ
Πίνακασ 3: Μετάδοςη – Λήψη μηνφματοσ
Πποζοσή
Ππέπει να καηανοήζεηε ηην έννοια ηος ζεναπίος, ωρ ππογπάμμαηορ και ειδικόηεπα όηι είναι ανεξάπηηηο για
κάθε μοπθή. Κάθε ανηικείμενο ακολοςθεί ηιρ οδηγίερ πος έσοςν γπαθεί γι' αςηό και η ζςμπεπιθοπά ηος είναι
αποηέλεζμα αποκλειζηικά και μόνο αςηών ηων οδηγιών.
Η επικοινωνία μεηαξύ διαθοπεηικών ανηικειμένων (μεηαξύ μοπθών ή μεηαξύ μοπθών και ςποβάθπος)
μποπεί να γίνει με μηνύμαηα. Το ένα ππόγπαμμα θα ζηέλνει ηο μήνςμα σπηζιμοποιώνηαρ ηο πλακίδιο
μεηάδυζε[ ] από ηην καηηγοπία Έλεγσορ, και ένα άλλο ππόγπαμμα θα πεπιμένει να ηο λάβει,
σπηζιμοποιώνηαρ ηο πλακίδιο Όηαν λάβυ[ ] από ηην καηηγοπία Έλεγσορ.
4
2η Τποποποίηζη ηος παισνιδιού: Αληηθαηάζηαζε ηεο εληνιήο “Γηα πάληα” κε ηελ “Επαλάιαβε
ώζπνπ”
Και λίγη θεωπία...
Ενηολή επανάλητηρ “Για πάνηα”
Η δπλαηόηεηα λα επαναλαμβάνεηαι διαπκώρ
κηα αθνινπζία εληνιώλ κπνξεί λα πινπνηεζεί
ζην Scratch κε ηελ ρξήζε ηεο εληνιήο για
πάνηα.
● Μπνξεί λα πεξηέρεη άιιεο εληνιέο κέζα
ζηηο «δαγκάνερ» ηεο. Σέξλνπκε εληνιέο
από ηηο παιέηεο εληνιώλ αλάκεζα ζηηο
δαγθάλεο, πνπ ζα εθηεινύληαη δηαξθώο θαη
κε ηε ζπγθεθξηκέλε ζεηξά κε ηελ νπνία ηηο
ηνπνζεηνύκε.
● Σην θάησ κέξνο ηεο, ε εληνιή δεν έσει ηην
εξοσή εθείλε πνπ ζα καο επέηξεπε λα
πξνζζέζνπκε άιιε εληνιή κεηά από
απηήλ. Δηλαδή η ενηολή για πάνηα
μποπεί να είναι μόνο η ηελεςηαία ζε ένα
ζενάπιο.
● Καη πόηε ζηακάηα ην ζπγθεθξηκέλν έξγν,
αθνύ νη εληνιέο ηξέρνπλ γηα πάληα; Μόλν
όηαλ παηήζνπκε ην κόκκινο κοςμπί πνπ
βξίζθεηαη δίπια ζηελ πξάζηλε ζεκαία ζα
ζηακαηήζεη λα εθηειείηε ην έξγν καο.
Ενηολή επανάλητηρ “Επανάλαβε ώζπος”
Μέζσ απηήο ηεο επηινγήο κπνξνύκε λα
εμαζθαιίζνπκε ηε ζπλερή επαλάιεςε εληνιώλ
ώζπνπ ε ζπλζήθε ειέγρνπ λα γίλεη αιεζήο.
● αλ ε ζςνθήκη είναι αληθήρ από ηελ αξρή,
ηόηε νη πεξηερόκελεο εληνιέο δελ ζα
εθηειεζηνύλ θακία θνξά!
● αλ ε ζςνθήκη είναι τεςδήρ, ζα
επαλαιακβάλεη ηηο εληνιέο κέρξη ε ζπλζήθε
λα γίλεη αιεζήο.
● αλ ηθαλνπνηεζεί ε ζπλζήθε ην πξόγξακκα
εθηειεί ηελ επόκελε εληνιή θαη γηα απηό
επηηξέπεηε λα πξνζηεζνύλ άιιεο εληνιέο
από θάησ ηεο.
Πίνακασ 4: Σφγκριςη τησ εντολήσ “Για πάντα” – “Επανάλαβε ϊςπου”
Πξνζπαζήζηε λα αληηθαηαζηήζεηε ηελ εληνιή “Για πάνηα” κε ηελ εληνιή “Επανάλαβε
ώζπος”, ώζηε λα έρεηε ηε δπλαηόηεηα λα επεθηείλεηε ην πξόγξακκα θαη κε λέεο εληνιέο από θάησ
ηεο. Γηα ηελ επηινγή ηεο θαηάιιειεο ζπλζήθεο ειέγρνπ, ζθεθηείηε ην ύςνο ηεο ζθελήο θαη ηελ ηηκή
ηνπ y ηε ζηηγκή πνπ ην απηνθίλεην εμέξρεηαη από ηελ πίζηα. (Αποθηκεύζαηε με όνομα race1b.sb)
Σςνθήκη Ελέγσος:
[Δπιζκεθηείηε ηιρ καηηγοπίερ “Έλεγσορ”, “Κίνηζη” και “Τελεζηέρ”]
5
Φύλλο Επγαζίαρ 2
1.
2.
3.
4.
Αλνίμηε ην αξρείν race1b.sb ή race2.sb
Μειεηήζηε θαη πινπνηήζηε ην παξαθάησ ηξνπνπνηεκέλν ζελάξην (Πίνακαρ 5).
Απνζεθεύζαηε κε όλνκα race2a.sb
Πεξηγξάςηε ην απνηέιεζκα ησλ εληνιώλ. Πεηξακαηηζηείηε κε ηελ αιιαγή ηεο ηηκήο ησλ
βεκάησλ πνπ θηλείηαη ην απηνθίλεην, ώζηε λα δείηε ηνλ ρξόλν πνπ κπνξείηε λα νινθιεξώζεηε
ηελ δηαδξνκή.
(Τα πλακίδια “σπονόμεηπο” και “μηδένιζε ηο σπονόμεηπο” βπίζκονηαι ζηην καηηγοπία “Αιζθηηήπερ”)
Απνηέιεζκα εληνιώλ
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
Πίνακασ 5: Τροποποίηςη παιχνιδιοφ – Αποτζλεςμα εντολϊν
Ζωγπαθίζηε μία δεύηεπη πίζηα...(σο λέν ππόβαζξν ζην ζθεληθό ζαο) και ειζάγεηε και μία
εικόνα (σο λέν ππόβαζξν ζην ζθεληθό ζαο). Απνζεθεύζαηε κε όλνκα race3.sb.
6
Νέα ηποποποίηζη ηος παισνιδιού: Πξνζζήθε λέσλ δπλαηνηήησλ ιεηηνπξγηώλ ζην παηρλίδη
●
●
●
●
●
Πσο ζα εκθαληζηεί ε επόκελε πίζηα, εθόζνλ ην απηνθίλεην έρεη δηαζρίζεη ηελ πξνεγνύκελε;
Πσο ζα ππνινγηζηεί ν ζπλνιηθόο ρξόλνο κέρξη ηελ πίζηα ηεξκαηηζκνύ;
Μήπσο ζέινπκε ε εθθίλεζε θαη ε αύμεζε ηεο ηαρύηεηαο ηνπ απηνθηλήηνπ λα γίλεηαη όηαλ ην
θνπκπί “πάλσ βέινο” παηεζεί;
Σε θάζε πίζηα πόζεο δσέο ζα έρεη ην απηνθίλεην;
Σθεθηήθαηε θάηη γηα ην ζθνξ;
Και λίγη θεωπία...
Μεηαβληηέρ
Οι μεηαβληηέρ είναι ζςμβολικά ονόμαηα πος ανηιζηοισούν ζε θέζειρ μνήμηρ ηος ςπολογιζηή. Σηηο
ζέζεηο κλήκεο απηέο, απνζεθεύνπκε δηάθνξεο ηηκέο (π.ρ. ηνλ αξηζκό ηεο πίζηαο, ηνλ αξηζκό ησλ
βεκάησλ πνπ θηλείηαη ην απηνθίλεην, ηνλ αξηζκό δσώλ, ην ζθνξ θηι). Οη ηηκέο απηέο κπνξνύλ λα
αιιάμνπλ, λα δηαβαζηνύλ ή λα αληηγξαθνύλ. Μπνξείηε λα ηηο θαληαζηείηε ζαλ θνπηάθηα πνπ έρνπλ
έλα όλνκα θαη κηα ηηκή.
Σην Scratch, γηα λα δεκηνπξγήζεηε κηα κεηαβιεηή πξέπεη αξρηθά λα κεηαθεξζείηε ζηελ θαηεγνξία
“Μεηαβληηέρ” θαη λα παηήζεηε ζηελ επηινγή «Δημιούπγηζε μια μεηαβληηή».
Σην παξάζπξν πνπ ζα εκθαληζηεί, πξνζδηνξίζηε:
α) ην όνομα ηεο κεηαβιεηήο
→ Γημιοςπγήζηε ηην μεηαβληηή με όνομα πίζηα
7
β) ην εύπορ σπήζηρ ηεο κεηαβιεηήο: ε λέα κεηαβιεηή ζέιεηε λα είλαη νξαηή θαη λα ηξνπνπνηείηαη
από όια ηα αληηθείκελα ηνπ έξγνπ καο ή λα αμηνπνηείηαη κόλν από έλα ζπγθεθξηκέλν αληηθείκελν.
→ Η μεηαβληηή πίζηα ππέπει να είναι κοινή για όλερ ηιρ μοπθέρ;
Πεπιζζόηεπη θεωπία ζηο: http://www.scratchplay.gr/chapters.html?ch=14
Ώπα για δπάζη…
1. Πεηξακαηηζηείηε κε ηηο παξαθάησ εληνιέο (Πίνακαρ 6)
Σενάπιο αςηοκινήηος
Σενάπιο ζκηνικού
Πίνακασ 6: Εντολζσ για αλλαγή πίςτασ ςτο παιχνίδι
2. Πνηεο εληνιέο ηηο αξρηθνπνίεζεο πξέπεη λα επαλαιεθζνύλ θαη κέζα ζηελ εληνιή “επαλάιαβε
ώζπνπ”, ώζηε ζε θάζε αιιαγή πίζηαο ή κεηά από απνηπρία (θαη πάηεκα θνπκπηνύ), ην απηνθίλεην λα
επαλέξρεηαη ζηελ ζέζε εθθίλεζεο;
3. Αμηνπνηείζηε ηα παξαθάησ:
Τη ρξεηάδεηαη λα πξνζζέζεηε ζην ζελάξην ηνπ απηνθηλήηνπ;
8