Tip:
Highlight text to annotate it
X
>> ZAMYLA CHAN: Γεια σας και καλώς ήρθατε στο πέρασμα Scratch.
Το όνομά μου είναι Zamyla και θα πρέπει να οδηγεί περάσματα για σας αυτό το έτος.
Το CS50, κάθε σύνολο πρόβλημα είναι συνοδεύεται από μια περιδιάβαση.
Κατά τη διάρκεια αυτών περάσματα Θα πάω πάνω set πρόβλημα της εβδομάδας, να εξηγήσει το
έννοιες που απαιτούνται και να διαλύσουν το πρόβλημα που σε διαχειρίσιμα δαγκώματα.
>> Για το πρώτο p-set σε CS50, στην πραγματικότητα Δεν θα μπει σε δακτυλογράφηση και
μηχάνημα πράγματα κώδικα αρκετά ακόμα.
Μάλλον, θα πάμε να χρησιμοποιήσετε Scratch, ένα πρόγραμμα που μας επιτρέπει να εξερευνήσουμε
προγραμματισμού εννοιών σε ένα οπτικές και δημιουργικό τρόπο.
Αυτή η περιδιάβαση θα διερευνήσει θεμελιώδεις έννοιες που θα χρησιμοποιήσουμε
όλη CS50, καθώς και εξυπηρετούν ως φροντιστήριο Scratch.
Σε κάθε πέρασμα θα απαριθμήσω ένα σύνολο από τα εργαλεία που μπορείτε να χρησιμοποιήσετε για την
set πρόβλημα.
Από τις μεγαλύτερες έννοιες πορεία προς την πραγματική λειτουργίες, είναι καλό και χρήσιμο να
ξέρετε τι είστε εξοπλισμένοι με πριν την αντιμετώπιση του προβλήματος σύνολο.
>> Κατ 'αρχάς, ας μιλήσουμε για sprites.
Παιδάκια είναι κεντρικός προκειμένου να έργα στο Scratch.
Κάθε αντικείμενο ή κάθε χαρακτήρα, είτε πρόκειται για μια γάτα, ένα σκυλί ή ένα
μπάλα, που ονομάζεται sprite.
Αν θέλω, ας πούμε, δύο γάτες στο έργο μου, Θα πρέπει να κάνουν δύο
ξεχωριστές sprites σε Scratch, ακόμη αν είναι απολύτως όμοια.
>> Κάθε sprite έχει scripts που συνδέονται με τη συγκεκριμένη Sprite.
Τα σενάρια είναι αυτό που πάμε να κτίριο σύροντας
και απόθεση μπλοκ.
Σενάρια είναι οι οδηγίες που καθορίσει και να προσδιορίσει
πώς το σενάριο συμπεριφέρεται.
>> Τώρα, ξωτικά δεν είναι μόνο εικόνες.
Ένα κοστούμι sprites καθορίζει ποια είναι η Sprite μοιάζει.
Κάθε δεδομένη sprite μπορεί να έχει περισσότερα από ένα κοστούμι.
Λίγο αργότερα, κατά τη διάρκεια αυτής περιδιάβαση εγώ θα να σας δείξει πώς μπορείτε να έχετε
Sprite κοστούμια αλλαγή κατά τη διάρκεια του προγράμματος σας.
>> Για να δημιουργήσετε ένα ξωτικό στο Scratch, μπορείτε να επιλέξουν είτε την αρχική κοστούμι του για
Βιβλιοθήκη του Scratch, το εξάγετε τα δικά σας Του Scratch ενσωματωμένο επεξεργαστή χρώματος,
ανεβάσετε την εικόνα σας, ή να λάβει μια φωτογραφία με την κάμερα του υπολογιστή σας.
Όλα τα ξωτικά τοποθετούνται σε αυτό που αποκαλούμε το στάδιο.
Η σκηνή είναι σαν καμβά μας, όπου sprites μπορούν να μετακινούνται.
>> Αν και μπορούμε να έχουμε πολλαπλάσια ξωτικά, μπορεί να υπάρχει μόνο ένα στάδιο.
Σε αντίθετη περίπτωση, τα στάδια και τα ξωτικά είναι αρκετά παρόμοια από το ότι το στάδιο μπορεί
έχουν επίσης σενάρια.
Σενάρια σχετικά με το στάδιο είναι πολύ χρήσιμα όταν δεν έχετε ένα σενάριο που
δεν σημαίνει απαραίτητα αφορούν σε ένα συγκεκριμένο sprite.
Ίσως αυτή σχετίζεται με πολλαπλές ρίγες, ή και καθόλου.
>> Είναι γενικά καλό σχεδιασμό στο χώρο σας σενάρια σχετικά με το στάδιο και αν είναι
αρκετά γενικό και δεν αφορούν σε συγκεκριμένες sprites.
Και ακριβώς όπως τα ξωτικά έχουν κοστούμια, στάδια έχουν σκηνικά που μπορούν να αλλάξουν
κατά τη διάρκεια του προγράμματός σας.
Και μπορείτε να σχεδιάσετε το δικό σας, να φορτώσετε ένα εικόνα, να τραβήξετε μια φωτογραφία, ή χρησιμοποιήστε το
Βιβλιοθήκη Scratch της σκηνικά.
Τόσο το στάδιο και sprites μπορούν επίσης να παίξουν ήχους από τη βιβλιοθήκη του Scratch, ή
μπορείτε να ανεβάσετε και να καταγράψει τα δικά σας.
>> Για να ξεκινήσετε το πρόγραμμα Scratch σας, θα πρέπει να κάνετε κλικ στο πράσινο σημαία στο
πάνω δεξιά γωνία του παραθύρου του σταδίου.
Αλλά αν δεν συνδέσετε τίποτα για να Αυτό το μπλοκ εδώ, τότε τίποτα δεν είναι
πραγματικά πρόκειται να συμβεί, διότι σας sprites και το στάδιο πρέπει να πει
να ανταποκριθεί στην περίπτωση της πράσινη σημαία που πατήσατε.
Έτσι, θα χρειαστεί να συνδέσετε μπλοκ για το αυλάκι στο κάτω μέρος του πράσινου
σημαίας, και τότε το πρόγραμμα θα εκτελέσει αυτές οι ενέργειες όταν ξεκινάτε
το πρόγραμμά σας.
>> Λοιπόν, τι έρχεται μετά από αυτό;
Λοιπόν, Scratch έχει πολλά τμήματα για να το χρησιμοποιήσετε, και μπορείτε να
ακόμα και να φτιάξετε το δικό σας.
Θα δείτε τρεις καρτέλες, Scripts, Κοστούμια και Ήχοι.
Σύμφωνα με την ετικέτα Scripts είναι κατηγορίες των δηλώσεων.
Καταστάσεις είναι βολική διοργανώθηκε από το χρώμα.
Έχετε δράσεις που σχετίζονται με την κυκλοφορία, ήχο, εμφάνιση, και ούτω καθεξής.
Αν και θα έχετε άλλα μπλοκ χτίστηκε γύρω από τις δηλώσεις σας, αυτό είναι το
δηλώσεις που θα βοηθήσουν τα ξωτικά ή το στάδιο να κάνει κάτι, ενώ
άλλα μπλοκ θα σας βοηθήσει να προσδιορίσετε πότε πρέπει να τα κάνουμε.
>> Ας πούμε ότι είστε δημιουργώντας πολύ σας πρώτο έργο και θέλετε μόνο το
γάτα να νιαούρισμα υπό ορισμένες περιστάσεις.
Για την εφαρμογή αυτή, μπορούμε να πάρουμε επωφεληθούν από τα Boolean.
Αυτές είναι εκφράσεις που αξιολογούν είτε αληθείς ή ψευδείς.
Το Scratch αυτά προσδιορίζονται από το γωνίες στο τέλος του μπλοκ.
Θα έχετε μια ποικιλία διαφορετικών τύπων των Booleans όπως είναι το ποντίκι
να πιέζεται προς τα κάτω, δεν 2 συν 2 εξισώνουν έως 5, ή είναι ο χρήστης πιέζοντας
κάτω από ένα ορισμένο πλήκτρο στο πληκτρολόγιο;
>> Τώρα, δεν μπορείτε απλά να χρησιμοποιήσετε Αυτά Booleans μόνο.
Θα πρέπει να τα συνδυάσετε με αυτό που λέμε συνθήκες.
Μπλοκ κατάσταση μπορεί να βρεθεί στο το πορτοκαλί καταστάσεις ελέγχου.
Οι συνθήκες έχουν βολικά λίγο κράτησης θέσης που δείχνει το σχήμα του
το μπλοκ που χρειάζεστε να τεθεί σε αυτήν.
Έτσι, ανάλογα με το πλαίσιο του κατάσταση, μπορείτε να επιλέξετε ένα Boolean
και τοποθετήστε το μέσα σας κατάσταση.
Και μαζί, έχετε υπό όρους δήλωση.
Μόλις βάλετε δηλώσεις μέσα που εμποδίσει έχετε μια δομή που έχει συσταθεί
σύμφωνα με την οποία όταν μια συγκεκριμένη συνθήκη ικανοποιείται, μπορείτε στη συνέχεια να εκτελέσει τα
καταστάσεων.
>> Ένα από τα πλεονεκτήματα των υπολογιστών είναι η μεγάλη δύναμη και η ταχύτητα με την οποία
μπορεί να εκτελέσει επαναλαμβανόμενες διαδικασίες.
Αντί, δηλαδή, επαναλαμβάνοντας ένα διδασκαλίας ξανά και ξανά και ξανά
ξανά και πληκτρολογώντας στην πραγματικότητα ότι έξω, ή σε αυτή την περίπτωση, το σύρσιμο και απόθεση
και το σύρσιμο και απόθεση, τι μπορούμε να κάνετε είναι να ενσωματώσουν σε ένα βρόχο.
>> Βρόχοι μπορούν να χρησιμοποιηθούν είτε να εκτελέσει πράγματα απείρως με ένα βρόχο για πάντα,
ή για ένα συγκεκριμένο αριθμό φορών.
Για παράδειγμα, επαναλάβετε τη δήλωση, ας πούμε Γεια σου, 10 φορές, ή ίσως μέχρι ένα ορισμένο
συνθήκη είναι αληθής.
Και με αυτή την Επαναλάβετε μέχρι να μπλοκάρουν δείτε ότι Scratch είναι υπαινίχθηκε ότι
θα πρέπει να τοποθετήσετε ένα Boolean σε η Α 'Επαναληπτική Μέχρι μπλοκ να κάνει μια
υπό όρους δήλωση.
>> Τώρα, ξέρουμε ότι μπορούμε να ενσωματώσουν επαναλαμβανόμενων διαδικασιών στο εσωτερικό των βρόχων,
ώστε να μπορείτε να δείτε γιατί κάτι τέτοιο Αυτό μπορεί να μην είναι ιδανική.
Είναι πολύ μεγάλη, κάνει ακριβώς το ίδιο πράγμα ξανά και ξανά
και πάλι, 10 φορές στην πραγματικότητα.
Κινείται 10 βήματα, λέει γειά σου, κινηθεί 10 βήματα, λέει γεια.
Αλλά με τη βοήθεια των βρόχων εμείς να τακτοποιήσετε αυτό επάνω ένα κομμάτι.
Δείτε πως αυτό είναι πολύ καλύτερο.
Είναι μικρότερο, είναι μικρότερο και ολοκληρώνει το ίδιο πράγμα.
>> Προχωρώντας σε μεταβλητές.
Μεταβλητές είναι ουσιαστικά δοχεία για τις τιμές.
Το Scratch, αυτά τα είδη των τιμών μπορεί να είτε να είναι λέξεις ή μπορούν να είναι
αριθμοί, αξίες που έχει τον έλεγχο.
Σε αυτό το πρώτο μπλοκ έχουμε μια μεταβλητή κειμένου που περιέχει το
αξίας, Hello, World.
Στο δεύτερο παράδειγμα, είναι δεδομένο ότι έχουμε ήδη μια μεταβλητή με το όνομα
Counter και είμαστε προσαύξηση το επί τρία.
Και στη συνέχεια, στο τελευταίο παράδειγμα, βλέπουμε ένα παράδειγμα των μεταβλητών που χρησιμοποιούνται
στο εσωτερικό των συνθηκών.
Σε αυτό το μπλοκ, ρωτάμε αν η μεταβλητή Μετρητής είναι μικρότερος από μηδέν.
>> Τώρα, όταν δημιουργείτε μια μεταβλητή που έχετε για να αποφασίσει αν θα κάνει το
μεταβλητή σε όλα τα ξωτικά στο πρόγραμμα σας στο Ξυστό ή
μόνο για τις επιλεγμένες ειδικές sprites όταν κάνετε τη μεταβλητή.
Και αυτό είναι ένα πολύ σημαντικό απόφαση να κάνει.
Έρχεται κάτω σε ό, τι πεδίο που θέλετε η μεταβλητή να έχει.
>> Ένα παράδειγμα τοπικής εμβέλειας θα ήταν μια μεταβλητή μόνο για ένα συγκεκριμένο sprite,
πράγμα που σημαίνει ότι μόνο η sprite θα να είναι σε θέση να δουν ή να το τροποποιήσετε.
Εάν διαπιστώσετε μια μεταβλητή με την παγκόσμια πεδίο με την επιλογή για όλες τις
ξωτικά, τότε αυτό σημαίνει ότι το στάδιο, καθώς και όλα τα ξωτικά,
θα είναι σε θέση να δει, να τροποποιήσει, και η πρόσβαση που
μεταβλητή που έχετε δημιουργήσει.
Και όσον αφορά το σχεδιασμό, είναι καλύτερο να επιλέξτε τοπική εμβέλεια όποτε μπορείτε
ακριβώς έτσι ώστε τα υπόλοιπα ξωτικά και το στάδιο δεν χρειάζεται να ανησυχείτε για
την παρακολούθηση αυτής της μεταβλητής.
>> Μπορείτε να έχετε πραγματικά δύο μεταβλητές το ίδιο όνομα για διαφορετικά ξωτικά, όπως
Εφ 'όσον αυτές είναι τοπικές μεταβλητές.
Sprite ένα, μια γάτα, μπορεί να έχει μια μεταβλητή Counter όνομα, και Sprite δύο, ένα σκυλί,
μπορεί επίσης να έχει μια μεταβλητή με το όνομα Μετρητής εφ 'όσον αυτά
είναι και οι δύο τοπικές μεταβλητές.
Επειδή το πεδίο της μεταβλητής δεν καλύπτει το υπόλοιπο της
προγράμματος, και κανένα από τα άλλα ξωτικά ή το στάδιο θα μπερδευτείτε.
>> Νωρίτερα, ανέφερα το σημείο εισόδου, όταν η πράσινη σημαία κλικ μπλοκ.
Αυτό μπλοκ και το συνοδευτικό καταστάσεις είναι ουσιαστικά λέει
ξωτικά σας ή το στάδιο, εντάξει, όταν η πράσινη σημαία χτυπιέται, αυτό είναι
τι πρέπει να κάνετε.
Αλλά αυτό δεν είναι η μόνη περίπτωση κατά την οποία sprites και το στάδιο μπορεί να απαντήσει.
Έχουμε, για παράδειγμα, για μια εκδήλωση όταν ένα πλήκτρο του πληκτρολογίου είναι πατημένο.
Μπορείτε να επιλέξετε πραγματικά τα γράμματα Α μέσω του Z, το μηδέν έως εννέα ή η
βελάκια.
>> Υπάρχουν και άλλες εκδηλώσεις, πάρα πολύ, όπως όπως όταν Sprite σας κάνει κλικ.
Όταν ξεκινάτε με μπλοκ γεγονός όπως αυτά, θα παρατηρήσετε μια τάση.
Όλα έχουν ένα ενιαίο σύνολο για την πυθμένα και μια ομαλή κορυφή, η οποία
δείχνει ότι τίποτα παραπάνω προσδίδει στο εν λόγω μπλοκ.
Μπορείτε οικοδομήσουμε στο πλαίσιο αυτών των εκδηλώσεων μπλοκ και να οικοδομήσουν προς τα κάτω.
>> Τώρα, τι θα συμβεί αν θέλουμε κάποια εκδήλωση να συμβεί, για παράδειγμα, όταν μια γάτα είναι
αγγίζει ένα ορισμένο τμήμα της σκηνής;
Εμείς πραγματικά δεν έχουν καμία ενσωματωμένη περίπτωση να σημαίνει ότι, έτσι τι θα
έχετε να κάνετε είναι να δημιουργήσετε τη δική μας εκδήλωση.
Και αυτό λέγεται μετάδοση.
>> Έτσι, όταν θέλετε να σηματοδοτεί ότι μια συγκεκριμένο γεγονός έχει συμβεί, τότε θα
χρησιμοποιήσετε ένα μαύρο ονομάζεται Broadcast, η οποία βρίσκεται στην καρτέλα ελέγχου.
Εκεί θα πληκτρολογήσετε το όνομα του περίπτωση που θέλετε να μεταδίδονται, και
στη συνέχεια, ανάλογα με το ποια sprite ή στάδιο μπορεί να αντιδράσει σε ότι
αναμετάδοσης, εάν το επιθυμείτε.
Το Όταν λάβετε μπλοκ λέει η sprites τι να κάνουν όταν είναι
κοινοποιήθηκε ότι η συνήθεια σας γεγονός που έχει συμβεί.
Έτσι, να θυμάστε ότι κάθε φορά που μεταδίδονται ένα συμβάν, με την
Εννοείται ότι κάθε ένα από τα sprites ή το στάδιο πρόκειται να
λάβουν αυτό το γεγονός και να απαντήσετε σε αυτό.
>> Τώρα, η τελευταία ιδέα πριν φτάσουμε σε ένα πραγματικό παράδειγμα του Scratch
το πρόγραμμα, είναι η έννοια των νημάτων.
Αυτό είναι όταν ο υπολογιστής σας είναι ταυτόχρονη εκτέλεση
διεργασίες ταυτόχρονα.
Και είμαι βέβαιος ότι όλοι έχουμε λάβει επωφεληθούν από αυτό.
Όπως και η πλοήγηση στο διαδίκτυο, ενώ να ακούτε μουσική.
Ο υπολογιστής μπορεί να εκτελέσει πολλές πράγματα ταυτόχρονα.
>> Σε αυτό το παράδειγμα εδώ, αυτά τα δύο σενάρια μπορούν να χρησιμοποιηθούν για
ακριβώς το ίδιο sprite.
Το μπλοκ σημείο εισόδου, όταν Πράσινη Σημαία Κλικ, χρησιμοποιείται πολλές φορές, αλλά
που αποτελούν δύο ξεχωριστά σενάρια.
Πράγματι, η Πράσινη Σημαία κλικ μπλοκ θα είναι πιθανώς ένα από τα πιο
δημοφιλή μπλοκ στο πρόγραμμά σας.
Εδώ βλέπουμε ότι όταν η πράσινη σημαία είναι κλικ, υπάρχει μια διαδικασία που συνεχίζεται
σχετικά, καθώς και ένα άλλο.
Έτσι Scratch θα τρέξει πραγματικά αυτές δύο την ίδια ακριβώς στιγμή.
Και γνωρίζοντας ότι μπορείτε πραγματικά να έχετε περισσότερα από ένα σημείο εισόδου, ακόμα και αν
Είναι το ίδιο σημείο εισόδου, πρόκειται να είναι πραγματικά χρήσιμο εάν θέλετε να
ξεχωριστές διαφορετικές εργασίες ένα από το άλλο.
>> Εντάξει.
Έτσι τώρα που έχουμε καλύψει όλα αυτά τα έννοιες, ας δούμε ένα παράδειγμα.
Έχω κάνει μια σειρά από προγράμματα Scratch, γι 'αυτό προσπαθήστε να ακολουθήσετε μαζί, όπως θα
κάνει ένα μικρό παιχνίδι.
Ας ξεκινήσουμε από το άνοιγμα Hungry Dino Zero.
>> Ας κάνουμε κλικ στην πράσινη σημαία για να ξεκινήσει αυτό και να δούμε τι κάνει.
Έχουμε μια sprite bug που κινείται για έναν λίγα βήματα, επαναφέρει σε κάποιο ύψος, και
τότε βήματα πίσω.
Και τότε έχουμε μια dino sprite.
Πατώντας τα βελάκια, είμαι κινείται το sprite dino περίπου, που καθιστά τη σειρά
και περιστρέψτε.
Αυτό μπορεί να είναι το είδος της διασκέδασης, αλλά δεν υπάρχουν πάρα πολλοί
σενάρια σε αυτό το πρόγραμμα.
Μπορούμε σίγουρα να προσθέσει σε αυτό.
>> Για παράδειγμα, όταν ο Dino κινείται αυτή μπορεί πραγματικά να πάρει έξω από την οθόνη και
σχεδόν εξαφανιστεί από το site.
Θέλουμε να το αλλάξουμε αυτό, γιατί Δεν θέλετε το dino να ξεφύγουν.
Οπότε ας σταματήσουμε το script με το κόκκινο σημαία και στη συνέχεια να επεξεργαστείτε τις δέσμες ενεργειών dino.
Σημειώστε ότι αυτό το συγκεκριμένο σενάριο έχει ένας βρόχος για πάντα, η οποία τελειώνει με ένα
επίπεδη επιφάνεια.
Δεν έχει καμία αυλάκωση στο κάτω μέρος.
Και αυτό είναι λογικό από την το όνομα, ένας βρόχος για πάντα.
Είναι εκτέλεσης κάτι απείρως και δεν θα τελειώσει ποτέ.
Έτσι, αυτό είναι μια μεγάλη ευκαιρία να εισαγάγει ένα νήμα.
>> Εντάξει.
Έτσι, ας προσθέσουμε ένα άλλο σενάριο.
Πάω να ξεκινήσω με αυτή την καταχώρηση σημείο, όταν Πράσινη Σημαία κλικ.
Και θέλω να ελέγχει συνεχώς αν ο Dino πρόκειται να είναι
αγγίζει την άκρη.
Σύμφωνα κίνησης υπάρχει ένα τακτοποιημένο μικρό μπλοκ που λέει ότι αν, με την Bounce Edge.
Και έτσι θέλουμε συνεχώς να εκτελέσει αυτό.
>> Τι κάνει αυτή η δήλωση δεν είναι ελέγχει εάν το sprite βρίσκεται στην άκρη του
στάδιο, και αναπηδά πίσω αν είναι.
Και επειδή ο χρήστης μπορεί να κινείται πάντα προς την dino, θέλουμε να βρούμε κάποιο είδος
βρόχο που μας επιτρέπει τη συνεχή εκτελέσει αυτή τη δήλωση.
Ψάχνετε υπό τον έλεγχό θα επιλέξετε το Forever βρόχο.
Οπότε ας σύρετε ότι μέσα στο dino scripts, και στη συνέχεια
Αν προσθέσετε την Bounce Edge.
Και τότε ας δοκιμάσει το πρόγραμμά μας.
>> Έτσι, το bug κινείται ως συνήθως, και στη συνέχεια, αν έχουμε δοκιμάσει νέες σενάριο μας
κινείται dino μας στην άκρη, βλέπουμε ότι δεν μπορεί να
ξεφύγουν από το στάδιο πια.
Η αναπηδά δεξιά πίσω.
Τώρα ίσως να αναρωτιέστε γιατί το dino αναπηδά, αλλά δεν το bug.
Λοιπόν, αυτό είναι επειδή γράψαμε νεότερο μας script μέσα στο dino scripts
και όχι τα σφάλματα.
Έτσι, το σφάλμα δεν θα ακούσετε το οδηγίες που έδωσε το dino.
>> Εντάξει.
Έτσι, ας προσθέσουμε κάτι καινούργιο τώρα.
Αν πάτε στην καρτέλα Κοστούμια θα δείτε ότι τα διάφορα κοστούμια που
έρχονται με προεγκατεστημένο επιλεγμένα Sprite σας αν επιλέξετε ένα από τα
Βιβλιοθήκη του Scratch.
Υπάρχει αυτό το χαριτωμένο μικρό dino chomp κοστούμι, οπότε ας εφαρμόσει το dino
chomping όταν πατάμε, ας πούμε, το πλήκτρο Space.
>> Επιστροφή στα σενάρια dino.
Σε αυτό το σενάριο εδώ, είμαι ήδη έλεγχο στο βρόχο για πάντα αν
ορισμένα πλήκτρα βέλους που πατάτε και η μετακίνηση του dino αναλόγως.
Αν το αριστερό βέλος είναι πατημένο, η dino περιστρέφεται αριστερόστροφα.
Αν το δεξί βέλος πατηθεί, το Dino περιστρέφεται δεξιόστροφα.
Έτσι, αν το πάνω βέλος πατηθεί, τότε το Dino προχωρεί προς τα εμπρός.
Μπορούμε απλά να προσθέσω το σενάριο, αντί της προσθέτοντας μια ξεχωριστή, διότι αυτό
ήδη τον έλεγχο στο θέμα της η οποία πλήκτρα που πιέζονται.
>> Ας προσθέσω ένα που ελέγχει για το πλήκτρο Space είναι πατημένο.
Αυτά τα μπλοκ εδώ έχουν τον έλεγχο για τα πλήκτρα που πιέζονται.
Είναι όλα στην πιο φωτεινή μπλε, έτσι ώστε ας πάμε σε φωτεινό μπλε αίσθησης
δηλώσεις και να κοιτάξουμε γύρω μας.
Εδώ είναι το κλειδί Spaced μπλοκ Τύπου.
Έτσι, αυτό που θέλουμε να κάνουμε είναι να έχουμε το Dino μεταβείτε στο κόψιμο του κάτω κοστούμι
αν, και μόνο αν, η Space πατηθεί το πλήκτρο.
>> Οπότε ας μιμούνται τη δομή εδώ.
Τώρα, αλλάζοντας το κοστούμι έχει να κάνει με πώς το dino φαίνεται έτσι θα πάμε να
Κοίτα δήλωση.
Και αρκετά βέβαιος, έχουμε ένα διακόπτη Στολή για Dino Chomp.
Τώρα, όταν chomp κάτω δεν θέλουμε το dino να κατασπαράζουν για πάντα,
οπότε ας προσθέσουμε μια δήλωση λέγοντας για να αλλάξετε και πάλι πίσω.
Θα στραφούν κοστούμια είδος γρήγορα, όμως, γιατί σε δηλώσεις του Scratch
θα εκτελέσει πλάτη με πλάτη πραγματικά γρήγορα, σχεδόν ακαριαία.
Οπότε ας πάμε με τον έλεγχο και στη συνέχεια να κάνει το dino παύση για λίγο από την αναμονή
ένα δευτερόλεπτο μετά το κατεβάζει.
>> Τώρα ας επεξεργαστείτε το sprite bug.
Η Sprite bug βήματα προς τα εμπρός πέντε δύο βήματα, συνολικά πέντε φορές μετά από μια
παύση στιγμής.
Στην κορυφή μπλοκ εδώ το bug τοποθετεί το ίδιο σε ένα ορισμένο
x-συντεταγμένη αξία.
Για να βρείτε τις συντεταγμένες μπορείτε πραγματικά το ποντίκι πάνω από την οθόνη και
στη συνέχεια, στην κάτω γωνία του σταδίου παράθυρο οι συντεταγμένες θα ενημερώσει τόσο
μπορείτε να επωφεληθείτε από αυτό το εύχρηστο Διαθέτουν για την εφαρμογή της συντεταγμένες
που θέλετε.
Και, σε αυτή τη δήλωση εδώ, έχουμε αναθέσει το σφάλμα να ξεκινήσει την ίδια
x αξία κάθε φορά, αλλά για να πάρει ένα τυχαίο ύψος για το bug που εξακολουθεί να
παραμένει εντός των περιορισμών του σταδίου.
>> Δείτε εδώ που είμαι εκμεταλλευόμενοι η μετάδοση εκδήλωση Scratch.
Το πρόγραμμα χειρισμού συμβάντων ονομάζεται New Bug1.
Έτσι, κάθε φορά που το σφάλμα λαμβάνει το νέο Bug1 εκδήλωση,
αυτό θα εκτελέσει τη δήλωση.
Έτσι, μετά κινείται προς τα εμπρός σύνολο ποσό των φορές, πραγματικά
εκπέμπει η εκδήλωση Νέα Bug1.
>> Αλλά πώς για να αλλάξουμε Αυτό το σενάριο είναι λίγο;
Αυτή τη στιγμή έχουμε το bug κινείται πέντε βήματα.
Αυτό δεν είναι πολλά, ένα σύνολο πέντε φορές.
Εμείς πραγματικά δεν ξέρω πόσες φορές θα απαιτηθούν έως ότου το σφάλμα φτάνει,
ας πούμε, το τέλος της οθόνης, οπότε ας κάνει το, αλλά μέχρι το τέλος του
οθόνη, αλλά χρησιμοποιούν κάποιο είδος άλλων κατασκευάσματος.
>> Πάω να διαχωρίσει αυτό έξω, επειδή θα πάμε να αλλάξουμε μερικά πράγματα.
Για να διαγράψετε τετράγωνα από το μηδέν σύρετε το μπλοκ στο
αριστερά και μετά αφήστε το.
Και παίρνει διαγραφεί.
Εάν αποφασίσετε ότι δεν θέλετε να διαγραφεί τότε μπορείτε να
πηγαίνετε στο Edit και να διαγράψετε.
Αλλά εμείς θέλουμε να απαλλαγούμε από αυτό το μπλοκ.
>> Αυτό που θέλουμε να κάνουμε τώρα είναι να προχωρήσουμε, ας πούμε, 50 βήματα και να διακόψετε ένα δευτερόλεπτο και
επαναλάβετε αυτό έως ότου αγγίξουμε το τέλος της οθόνης.
Έτσι ας χρησιμοποιήσουμε ένα βρόχο που μας επιτρέπει να επαναλάβετε μια διαδικασία μέχρι ένα ορισμένο
πληρούται η προϋπόθεση αυτή, εύστοχα Επαναλάβετε το όνομα μέχρι.
>> Αυτό που πηγαίνει στο εσωτερικό του κατάσταση ενός Επαναλάβετε μέχρι;
Κάτι που μας λέει αν η bug αγγίζει την άκρη του
οθόνη, η οποία πρόκειται να είναι κάτω από Το αισθητήριο Καταστάσεων.
Εδώ είναι αυτό Boolean, Αγγίζοντας.
Και μπορείτε να επιλέξετε εδώ ό, τι θέλετε να ελέγξετε.
Έτσι θα επιλέξετε Αγγίζοντας Edge και να προσθέσετε αυτό υπό όρους δήλωση πίσω μέσα
>> Έτσι τώρα, αν βλέπουμε bug μας, αυτό θα μετακινηθείτε προς τα πίσω και πάλι αγγίζει
η ακμή του σταδίου.
Μεγάλη.
Έχουμε τελειώσει με Hungry Dino Zero, οπότε ας ανοίξει Hungry Dino One.
Κάτι σαν μια επίδειξη μαγειρικής, έχω προσθέσει λίγο περισσότερες δυνατότητες.
Για παράδειγμα, θα δείτε ότι το σφάλμα είναι πραγματικά γλιστρώντας απλώς τώρα
σε αντίθεση με πριν.
Σύμφωνα με κίνηση υπάρχει αυτό γλιστρούν δήλωση.
Τώρα, το bug γλιστράει 70 μονάδες για το το δικαίωμα της τρέχουσας εγχειρίδιο λειτουργίας του, αλλά
παραμένει στην ίδια θέση y εδώ.
Και μπορούμε να έχουμε τώρα μια dino κατασπαράζουν όπως εφαρμόζεται πριν.
>> Όμως, αυτό το πρόγραμμα δεν ονομάζεται Hungry Dion για το τίποτα, οπότε ας έχουν το
dino τρώνε το bug.
Πώς θα μπορούσαμε να πούμε το bug, ή πείτε το dino, που έχει κοπούν;
Πώς θα μπορούσαμε να επικοινωνούν αυτό το γεγονός;
Λοιπόν, ξέρουμε ότι όταν αλλάζουμε το κοστούμι για την dino στην dino chomp
ότι έχουμε chomped κάτω.
Και λέμε ότι θέλουμε το σφάλμα να εξαφανιστούν τη στιγμή που θα φάει.
Λοιπόν, θα πρέπει να ελέγξετε εάν το bug έχει chomped και να
κοινοποιούν στην bug ότι αυτό θα έχει για να κρύψει ή να εξαφανιστούν από την οθόνη
μία φορά ότι είναι chomped κάτω.
>> Οπότε τι είδους ιδέα, τι είδους εργαλείο που μπορούμε να χρησιμοποιήσουμε για να έχουμε το dino
κοινοποιούν στην bug που έχει chomped κάτω;
Broadcasting.
Οπότε ας πάμε στα γεγονότα και να προσθέσετε ένα γεγονός για να μεταδοθεί.
Chomp.
OK.
Αλλά να θυμάστε ότι από τη στιγμή που μεταδίδονται κάτι που πρέπει επίσης να
λαμβάνει αυτό το γεγονός.
Έτσι που sprite θα μεταδίδει chomp;
Λοιπόν, ας το κάνουμε αυτό dino όταν το πλήκτρο Space πιέζεται.
>> Ας προσθέσουμε ένα μπλοκ για να λάβετε chomp.
Τώρα, όταν ο Dino έρχεται μόνο σε ένα κενό διάστημα δεν θέλουμε το σφάλμα
να αντιδράσει καθόλου, μόνο εάν η dino ήταν συγκινητική η αλλά κατά το χρόνο
του chomp κάνουμε πραγματικά κάνουμε κάτι.
Έτσι, θα χρησιμοποιήσουμε τον όρο Εάν λόγω Ερευνούμε αν κάτι είναι
αλήθεια ή όχι.
>> Τώρα αν πάμε πίσω στο αίσθησης, τότε μπορούμε να χρησιμοποιήσουμε αυτό το συγκινητικό
μπλοκ και επιλέξτε Dino.
Στη συνέχεια, σύμφωνα με βλέμματα, θα βρούμε αυτό το Hide μπλοκ που θα κάνει ουσιαστικά το bug
εξαφανίζονται από το στάδιο.
>> Θα κάνουμε το κρύψει, αλλά εμείς θέλω άλλο bug, έτσι δεν είναι;
Dino μας είναι πεινασμένοι.
Έτσι, θέλουμε να δώσουμε μια άλλη bug για να κυνηγήσει.
Οπότε ας μεταδόθηκε επίσης Η εκδήλωση Νέα Bug1.
Εκτός θέλουμε να περιμένετε για λίγο πριν από ένα άλλο bug εμφανίζεται, οπότε ας
Επίσης, περιμένουμε ένα δευτερόλεπτο.
>> Εντάξει.
Οπότε ας ελέγξει αυτό έξω.
Εμείς chomped κάτω, ένα όμως εξαφανίζεται, ένα άλλο εμφανίζεται, και chomp κάτω
σε αυτό και πάλι.
Αυτό μοιάζει με μια όμορφη διασκεδαστικό παιχνίδι, αλλά όλα τα παιχνίδια
Πρέπει να σκοράρει, έτσι δεν είναι;
Έτσι, αυτό που μπορούμε να χρησιμοποιήσουμε για να παρακολουθείτε πόσα σφάλματα το dino έχει φάει;
Μια μεταβλητή.
Έτσι, ας προσθέσουμε μια μεταβλητή που ονομάζεται Αποτέλεσμα.
>> Και τώρα θα πρέπει να αποφασίσει τι πεδίο εφαρμογής αυτή η μεταβλητή έχει.
Έτσι, ας σκεφτούμε.
Ενώ θα μπορούσαμε να θέλουμε το, αλλά να αυξηθεί Το σκορ αν έχουν περάσει
επιτυχία φάει, και το στάδιο θα μπορούσε έχει κάτι να κάνει με το
βαθμολογία, καθώς, οπότε ας αναθέσει Αυτή η μεταβλητή σε όλα τα ξωτικά.
>> Θέλουμε να αυξήσουμε το σκορ, αν και μόνον εάν, ένα bug έχει φάει.
Και έχουμε ήδη γράψει ένα σενάριο που ασχολείται με ένα bug που τρώγεται τόσο
ας προσθέσετε αυτή τη δήλωση σε, Αλλαγή Αποτέλεσμα By One.
Αυτό σημαίνει ότι από τη στιγμή που τρώτε ένα bug οι αυξήσεις σκορ.
>> Ας παίξει για λίγο και να φάνε, Δεν ξέρω, τρία σφάλματα.
Έτσι, μπορείτε να πάρετε κουρασμένοι από το παιχνίδι, καθώς, θα πατήσετε το κόκκινο στάση
υπογράψουν για να σταματήσει το παιχνίδι.
Και όταν θα θέλουν να έρθουν πίσω θα είστε πιέστε την πράσινη σημαία και πάλι.
Αλλά το σκορ είναι ακόμα τρεις ακόμη αν παίζω ένα νέο παιχνίδι.
Δεν θέλουμε να δώσει στους χρήστες ένα κεφάλι ξεκινήσει, οπότε θα χρειαστεί να επαναφέρετε το
σκοράρει κάθε φορά που ξεκινήσετε ένα νέο παιχνίδι.
Ας προσθέσουμε λοιπόν μια δήλωση στο στάδιο της εισόδου script σημείο για να ρυθμίσετε το
μεταβλητή σκορ στο μηδέν.
Μέχρι τώρα, κάθε φορά που ξεκινάτε ένα παιχνίδι, το σκορ θα ξεκινούν από το μηδέν.
>> Τώρα ας ανοίξουμε Hungry Dino 2, όπου Έχω προσθέσει μερικά ακόμη πράγματα.
Έχω δίκιο κλικ στο sprite bug στο επαναλάβει το sprite που έκανε μια
Sprite ίδια με τις προηγούμενες ένα μου.
Bug Poison είναι ουσιαστικά ίδιο με Bug1 αλλά επέλεξα ένα νέο κοστούμι, επειδή
Σκέφτηκα ότι φαινόταν, επίσης, είδος δηλητηριώδους.
Αντί για την αύξηση του σκορ, όταν το bug δηλητήριο τρώγεται, στην πραγματικότητα
μειώσει το σκορ αλλάζοντας Αποτελέσματα από αρνητική.
>> Και τότε έκανα ένα άλλο κοστούμι για dino μας χρησιμοποιώντας το πρόγραμμα επεξεργασίας χρώμα για να
κάνει ένα άρρωστο dino αναζητούν και το ονόμασε Dino Sick.
Αλλά δεν χρησιμοποιούν αυτό το κοστούμι μας το πρόγραμμα ακόμα, οπότε ας προσθέσουμε μερικές
δηλώσεις και μπλοκ που θα αλλάξει το κοστούμι του dino στην πράσινη άρρωστο
κοστούμι κάθε φορά που τρώει ένα δηλητηριασμένο bug.
>> Τώρα, από τη στιγμή που αναπαράγονται το sprite bug, το δηλητηριασμένο bug έχει όλα
τα σενάρια ότι η αρχική bug κάνει.
Αν θέλετε να αντιγράψετε τα σενάρια από άλλα ξωτικά, μπορείτε να σύρετε το
script στην κορυφή της Sprite που θέλετε να αντιγράψετε.
Αλλά δεν θα πρέπει να το κάνουμε αυτό εδώ επειδή το δηλητηριασμένο bug έχει ήδη
script που ελέγχει ότι το σφάλμα έχει chomped κάτω.
Και μπορούμε να επωφεληθούν από αυτό για να κοινοποιούν στην dino ότι έτρωγαν
δηλητηριώδη bug.
Και επικοινωνούμε μεταξύ sprites με τη μετάδοση.
Οπότε ας μεταδίδουν ένα νέο εκδήλωση που ονομάζεται Dino Sick.
>> Και ξέρουμε ότι έχουμε ένα κοστούμι για το dino να αλλάξει, αλλά έχουμε επίσης
γνωρίζετε από προηγούμενες ότι είναι καλύτερα να προσθέσετε σε μια παύση
μεταξύ αλλαγές κοστουμιών.
Έτσι, όταν λάβω Dino Sick, Πάω να αλλάξει κοστούμι για να Dino Sick, περιμένετε
ένα δευτερόλεπτο και στη συνέχεια να στραφούν πίσω για να Dino Hungry.
Εντάξει.
Ας παίξουμε το παιχνίδι μας και να τρώνε ένα σφάλμα και το σκαθάρι.
Και η βαθμολογία μειώνεται κατά ένα.
>> Τώρα, μερικές φορές μπορεί να παρατηρήσετε ότι η μεταβλητή δεν μπορεί να εμφανιστεί σχετικά με την
αριστερή γωνία της οθόνης.
Αν περιηγηθείτε στο Data τμήμα κάτω τα σενάρια, θα δείτε αυτό το σημάδι
εκτός από τις μεταβλητές που δημιουργείτε.
Και αυτό κρύβει ή Αναίρεση απόκρυψης οι μεταβλητή από την οθόνη.
Αλλά μπορείτε επίσης να χρησιμοποιήσετε μια δήλωση ονομάζεται Εμφάνιση ή
Απόκρυψη συγκεκριμένη μεταβλητή.
Έτσι ας χρησιμοποιήσουμε αυτή Αποτέλεσμα Μεταβλητή Δείτε την βεβαιωθείτε ότι κάθε φορά που ξεκινάμε
το παιχνίδι, η μεταβλητή εμφανίζεται.
Μεγάλη.
>> Οπότε ας τρέχει το παιχνίδι και να τρώνε ένα bug δηλητήριο αμέσως.
Τώρα, είναι λίγο περίεργο να έχουν ένα παιχνίδι να έχει αρνητικά σημεία, έτσι δεν είναι;
Ας εισαγάγει ένα άλλο χαρακτηριστικό.
Αν το dino τρώει πάρα πολλά δηλητηριώδη σφάλματα, τότε παίρνει πάρα πολύ άρρωστος και η
το παιχνίδι έχει τελειώσει.
Έτσι για να εφαρμόσει αυτό, θα μεταδίδονται ένα άλλο γεγονός, το παιχνίδι τελείωσε.
Πώς ξέρουμε πότε να εκτελέσει αυτό το παιχνίδι Over εκπομπή;
>> Λοιπόν, μπορούμε να το κάνουμε αυτό με διάφορους τρόπους.
Μπορούμε να έχουμε ένα σενάριο στο στάδιο που ελέγχει συνεχώς αν η βαθμολογία
είναι αρνητική ή όχι, και μεταδόσεις Game Over όταν η
σκορ γίνεται αρνητική.
Ή θα μπορούσαν να επωφεληθούν από το γεγονός ότι ο μόνος τρόπος για το σκορ θα μπορούσε ποτέ
είναι αρνητική, είναι όταν ένα δηλητηριώδες bug τρώγεται.
Επειδή όταν τρώτε το άλλο bug, οι αυξήσεις σκορ.
Δεν υπάρχει καμία χρήση για τον έλεγχο κατά πόσον θα πρέπει να είναι Game Over ή όχι όταν
φάτε ένα εδώδιμο bug.
>> Έτσι, μπορούμε πραγματικά απλά προσθέστε στο script που λαμβάνει το Dino Sick
εκπομπή εκδήλωση.
Θέλουμε να αναθέσει το dino ως εξής.
Αν το σκορ είναι μικρότερη του μηδενός, εκπομπή Game Over.
Έτσι θα χτίσουμε το σκορ κάτω από το μηδέν όρο που χρησιμοποιούν ένα τετράγωνο από το
τμήμα φορέα, και σύροντας στη βαθμολογία μας σε αυτό το μπλοκ.
Και δείτε εδώ μπορείτε απλά να σύρετε το μεταβλητή σκορ και να θέσει κάτω από το μηδέν.
Και θα πάμε να μεταδίδουν ένα νέο γεγονός, το παιχνίδι τελείωσε.
>> Αλλά αν το σκορ δεν έχει πέσει κάτω από μηδέν, θέλουμε το dino να
να συνεχίσει το παιχνίδι.
Έτσι, αντί να χρησιμοποιεί μια, αν εδώ, ας χρησιμοποιήστε ένα άλλο, αν κατασκευάσει.
Ένας άλλος, αν κατασκευάσει λέει dino μας κάνουν ένα πράγμα, αν η συνθήκη είναι αληθής
και ένα άλλο πράγμα, αν η συνθήκη είναι ψευδής.
Το σώμα του πρώτα αν μας μπορεί να πάει σε το αν άλλος, οπότε ας σύρετε ότι μέσα
Αλλά αν το αποτέλεσμα δεν είναι μικρότερη του μηδενός, τότε ας στραφούν πίσω στο
Hungry κοστούμι Dino.
Δεν θέλουμε να το κάνουμε αυτό προληπτικά.
Μεγάλη.
>> Αλλά από τη στιγμή που μεταδίδεται Game Over, πρέπει ακόμα να κάνει μια
εκδήλωση μπλοκ δέκτη.
Υπάρχει πραγματικά μια στάση Όλα δήλωση τον έλεγχο, οπότε ας το συνδέουν με
όταν λαμβάνω Game Over.
Αλλά θέλουμε επίσης το σφάλμα να σταματήσει, έτσι ας σύρετε αυτό το σενάριο για να το σύνολο των
το σφάλμα ξωτικά, καθώς και το στάδιο.
Ας δοκιμάσουμε αυτό.
>> Τρώγοντας ένα δηλητηριώδες bug αμέσως, το πρόγραμμα σταματά όπως αναμενόταν.
Κανένα από τα άλλα κινούνται σφάλματα και ούτε κάνει το dino εάν πατήσετε
κάτω από τα βελάκια.
Αλλά ας πούμε ότι δεν θέλουμε να υπενθυμίσω ο χρήστης των αρνητικών αποτελεσμάτων τους, ώστε να
ας αποκρύψει τη μεταβλητή σκορ από το στάδιο κάθε φορά που το παιχνίδι
Κατά τη διάρκεια εκδήλωσης που έλαβε.
Εντάξει.
>> Έτσι, αυτό είναι ένα αρκετά αξιοπρεπές παιχνίδι.
Με περισσότερο χρόνο μπορείτε να προσθέσετε περισσότερα ξωτικά και άλλα σενάρια.
Ίσως τα σφάλματα μπορούν να κινηθούν σε διαφορετικές ταχύτητες.
Μπορείτε να προσθέσετε ένα νέο φόντο στη σκηνή -
Ένα παιχνίδι Over σκηνικό -
τέτοια ώστε, όταν το στάδιο λαμβάνει την Game Over περίπτωση, μπορείτε να μεταβείτε στη
Game Over σκηνικό και όλα απόκρυψη των sprites.
Πολλά μικρά τσιμπήματα μπορεί να γίνει για να το παιχνίδι σας λίγο πιο γυαλισμένο.
>> Και αυτό είναι μόνο ένα παράδειγμα μιας έργο που μπορείτε να κάνετε στο Scratch
χρησιμοποιώντας όλα τα εργαλεία που συζητήσαμε προηγουμένως -
ξωτικά, τα κοστούμια, τα στάδια, σκηνικά, συνθήκες, βρόχους, μεταβλητές,
μετάδοση εκδηλώσεων και κλωστές.
Hungry Dino δεν χρησιμοποιεί κανέναν ήχο αποτελέσματα, αλλά μπορείτε εύκολα να προσθέσετε σας
δικό με την πλοήγηση στην καρτέλα Ήχοι και εξερεύνηση των ηχητικών καταστάσεων.
Scratch είναι μια μεγάλη εισαγωγή σε έννοιες του προγραμματισμού, ώστε να είναι δημιουργικοί
και, το σημαντικότερο, να διασκεδάσουν.
Το όνομά μου είναι Zamyla, και αυτό είναι CS50.