Tip:
Highlight text to annotate it
X
>> ZAMYLA CHAN: Ciao, e benvenuto per la procedura dettagliata Scratch.
Il mio nome è Zamyla e sarò in testa procedure dettagliate per voi quest'anno.
In CS50, ogni problema insieme è accompagnati da una guida.
Durante queste procedure dettagliate vado su della settimana problema insieme, spiegano il
concetti necessari e rompere il problema impostato in morsi gestibili.
>> Per il primo p-set in CS50, in realtà non sarà possibile ottenere in dattilografia e
codice macchina roba abbastanza ancora.
Piuttosto, stiamo andando a utilizzare Scratch, un programma che ci permette di esplorare
concetti di programmazione in un modo visivo e creativo.
In questa procedura dettagliata verrà esplorare concetti fondamentali che useremo
tutta CS50, oltre a servire come un tutorial Scratch.
In ogni procedura dettagliata ti elenco una serie di strumenti che è possibile utilizzare per la
problema proposto.
Da grandi concetti del corso di effettiva funzioni, è buono e utile per
sai quello che stai dotati di prima affrontare il problema insieme.
>> In primo luogo, parliamo di sprite.
Gli sprite sono fondamentali per rendere progetti in Scratch.
Ogni oggetto o di ogni personaggio, sia esso un gatto, un cane o un
palla, si chiama uno sprite.
Se voglio, dire, due gatti nel mio progetto, Ho bisogno di fare due
sprite separate in Scratch, anche se sono assolutamente identici.
>> Ogni sprite ha script associati con quella sprite specifico.
Gli script sono quello che stai andando da costruire trascinando
e lasciando cadere i blocchi.
Gli script sono le istruzioni che determinare e definire
in che modo lo script si comporta.
>> Ora, gli sprite non sono solo immagini.
Un costume sprite determina ciò che lo sprite assomiglia.
Qualsiasi dato sprite può avere più di un costume.
Un po 'più tardi durante questa procedura dettagliata Torno vi mostrerà come si può avere la
costumi cambiamento sprite durante il programma.
>> Per creare uno sprite a zero, è possibile scegliere il suo costume iniziale per
Biblioteca di Scratch, disegnare il tuo in Scratch di built-in editor di vernice,
caricare la tua immagine, o scattare una foto con la fotocamera del computer.
Tutti gli sprite sono posti su quello che noi chiamiamo il palco.
Il palco è come la nostra tela dove sprite possono muoversi.
>> Anche se siamo in grado di avere multipli sprite, ci può essere solo una tappa.
In caso contrario, le fasi e sprite sono abbastanza simile fatto che lo stadio può
hanno anche script.
Gli script della scena sono molto utili quando non si dispone di uno script che
non necessariamente appartenere ad uno sprite specifico.
Forse appartiene a più strisce, o del tutto assenti.
>> E 'generalmente una buona progettazione per fare la tua script sul palco se sono
abbastanza generale e non riguardano a sprite specifici.
E proprio come gli sprite hanno costumi, fasi hanno fondali che possono cambiare
nel corso del programma.
Ed è possibile disegnare il proprio, caricare un immagine, scattare una foto, o usare il
Biblioteca Scratch di fondali.
Sia il palcoscenico e gli sprite possono anche giocare suoni dalla biblioteca di zero, o
è possibile caricare e registrare la propria.
>> Per avviare il programma Scratch ti faremo necessario fare clic sulla bandiera verde al
nell'angolo superiore destro della finestra del palco.
Ma se non si collega nulla questo blocco qui, allora non c'è niente di
in realtà sta per accadere, perché la vostra sprite e la fase hanno bisogno di essere raccontata
per rispondere all'evento della bandiera verde viene cliccato.
Quindi avrete bisogno di collegare i blocchi alla scanalatura sul fondo del verde
bandiera, e poi il programma eseguirà quelle azioni quando si avvia
il vostro programma.
>> Ebbene, che cosa viene dopo?
Beh, Scratch ha molti blocchi per voi da usare, e si può
anche fare il vostro proprio.
Vedrete tre schede, script, Costumi e suoni.
Sotto il tag script sono categorie delle dichiarazioni.
Dichiarazioni sono convenientemente organizzato dal colore.
Devi azioni legate al movimento, suono, aspetto, e così via.
Anche se avrete altri blocchi costruiti circa le sue dichiarazioni, è il
dichiarazioni che aiuteranno gli sprite o la fase di fare qualcosa, mentre
altri blocchi contribuiranno a determinare quando farlo loro.
>> Diciamo che si sta creando il vostro molto primo progetto e si desidera solo il
gatto a miagolare a determinate circostanze.
Per implementare questo, possiamo prendere vantaggio di booleani.
Si tratta di espressioni che restituiscono a true o false.
In Scratch questi vengono identificati dal angoli alla fine dei blocchi.
Avrete una varietà di diversi tipi di booleani, come è il mouse
viene premuto, fa 2 più 2 equiparare a 5, oppure è l'utente preme
premuto un certo tasto sulla tastiera?
>> Ora, non si può semplicemente utilizzare questi booleani solo.
Avrete bisogno di combinarle con ciò che chiamiamo condizioni.
Blocchi di condizione possono essere trovati in le istruzioni di controllo arancione.
Condizioni hanno convenientemente un po ' segnaposto che indica la forma di
il blocco che avete bisogno mettere in essa.
Quindi a seconda del contesto della situazione, si può scegliere un valore booleano
e posizionarlo all'interno della vostra condizione.
E mettere insieme, si ha un'istruzione condizionale.
Una volta messo dichiarazioni all'interno che bloccare avete una struttura costituita
per cui una volta che una certa condizione è soddisfatta, si esegue in tal caso quelli
dichiarazioni.
>> Uno dei vantaggi dei computer è la grande potenza e la velocità con cui sono
in grado di eseguire processi ripetitivi.
Non, per esempio, ripetendo l' istruzione più e più e più volte
di nuovo e in realtà digitando che fuori, o in questo caso, trascinando
e trascinando, quello che abbiamo può fare è incapsulare in un ciclo.
>> I loop possono essere usati per eseguire sia cose infinitamente con un ciclo per sempre,
o per un numero prefissato di volte.
Per esempio, ripetere l'affermazione, dire HI, 10 volte, o forse fino a un certo
condizione è vera.
E con questa ripetizione Fino bloccarti vedere che Scratch è suggerendo che
è necessario inserire un valore booleano in la ripetizione Fino blocco per fare un
istruzione condizionale.
>> Ora, sappiamo che siamo in grado di incapsulare processi ripetitivi all'interno di loop,
così si può capire perché una cosa del genere questo potrebbe non essere l'ideale.
E 'super lungo, lo fa solo la stessa cosa più e più
ancora, 10 volte infatti.
Si muove 10 gradini, dice ciao, spostare 10 gradini, dice ciao.
Ma con l'aiuto di loop noi possibile riordinare questo un po '.
Vedere come questo è molto meglio.
È più corto, è più piccola e completa la stessa cosa.
>> Passando alle variabili.
Le variabili sono essenzialmente contenitori per i valori.
In Scratch, questi tipi di valori può essere sia parole o possono essere
numeri, i valori che abbiamo hanno il controllo su.
In questo primo blocco abbiamo un variabile di testo che contiene il
valore, Ciao, mondo.
Nel secondo esempio, si presume che abbiamo già una variabile denominata
Contatore e stiamo incrementando esso per tre.
E poi, nell'ultimo esempio, vediamo un esempio di variabili in uso
all'interno di condizioni.
In questo blocco, ci chiediamo se la variabile Contatore è minore di zero.
>> Ora, quando si crea una variabile si ha per decidere se fare la
variabile a disposizione di tutti gli sprite nel programma Scratch, o
solo per gli sprite specifici selezionati quando si effettua la variabile.
E questo è molto importante decisione di fare.
Si tratta di quello che ambito si la variabile dovrà avere.
>> Un esempio di applicazione locale sarebbe un variabile solo per uno sprite specifico,
il che significa che solo quella sprite sarebbe essere in grado di vedere o di modificarlo.
Se si stabilisce una variabile globale con ambito selezionando per tutti
sprite, quindi questo significa che la fase, così come tutti gli sprite,
sarà in grado di vedere, modificare, e di accesso che
variabile che hai creato.
E in termini di design, è meglio scegli ambito locale ogni volta che potete
solo in modo che il resto degli sprites e fase non devono preoccuparsi di
tenere traccia di quella variabile.
>> Si può effettivamente avere due variabili di lo stesso nome per diversi sprite come
Finché questi sono variabili locali.
Sprite uno, un gatto, può avere una variabile nome del contatore, e sprite due, un cane,
può anche avere una variabile denominata Contrastare finché queste
sono entrambe le variabili locali.
Perché la portata della variabile non si estende al resto del
programma, e nessuno degli altri sprite o la fase va in confusione.
>> In precedenza, ho citato il punto di ingresso, quando la bandiera verde cliccato blocco.
Questo blocco e la accompagna dichiarazioni sono essenzialmente dicendo
i tuoi sprites o il palcoscenico, OK, quando si clicca la bandiera verde, questo è
cosa si dovrebbe fare.
Ma questo non è l'unico evento che sprite e la fase possono rispondere.
Abbiamo, per esempio, un evento per quando viene premuto un tasto della tastiera.
Si può effettivamente scegliere le lettere A a Z, da zero a nove o il
tasti freccia.
>> Ci sono altri eventi, anche, come come quando si fa clic il vostro sprite.
Quando si inizia con blocchi di eventi come questi, si noterà una tendenza.
Sono tutte dotate di un unico gruppo sul inferiore e una parte superiore liscia, che
indica che nulla sopra attribuisce a quel blocco.
Si costruisce in quegli eventi blocchi e costruire verso il basso.
>> Ora, cosa succede se vogliamo qualche evento per accadere, per esempio, quando un gatto è
toccando una certa sezione del palco?
Noi in realtà non abbiamo alcun built-in evento per significare che, così quello che faremo
che dovete fare è creare il nostro evento.
E che chiama broadcasting.
>> Quindi, quando si vuole segnalare che una determinato evento è successo, allora si
utilizzare una chiamata Broadcast nero, che si trova nella scheda di controllo.
Ci si digita il nome del evento che si vuole trasmettere, e
poi a seconda di quale sprite o fase può reagire a tale
trasmettere, se lo desiderate.
Il blocco quando ricevo racconta la sprite cosa fare quando sono
notificato che la vostra abitudine evento è accaduto.
Quindi ricorda che ogni volta che si effettua la trasmissione un evento, che sia con la
fermo restando che ciascuna uno dei sprites o nella fase sta per
ricevere tale evento e rispondere ad essa.
>> Ora, l'ultimo concetto prima di arrivare ad un esempio reale di un Scratch
programma, è il concetto di thread.
Questo è quando il computer è esecuzione simultanea
processi contemporaneamente.
E sono sicuro che tutti abbiamo preso vantaggio di questo.
Come navigare sul web mentre l'ascolto di musica.
Il computer può eseguire più cose allo stesso tempo.
>> In questo esempio qui, questi due script possono essere utilizzati per
esattamente lo stesso sprite.
Il blocco punto di ingresso, quando Green Flag Cliccato, è usato più volte, ma
sono due script separati.
In effetti, la Bandiera Verde Cliccato blocco probabilmente sarà uno dei più
blocchi popolari nel programma.
Qui vediamo che quando la bandiera verde è cliccato, c'è un processo in corso
via, così come un altro.
Così Scratch sarà effettivamente eseguito questi due al tempo stesso esatto.
E sapendo che si può effettivamente avere più di un punto di ingresso, anche se
è lo stesso punto di accesso, sta per essere davvero utile se si desidera
compiti distinti separati uno dall'altro.
>> D'accordo.
Quindi, ora che abbiamo coperto tutti questi concetti, diamo un'occhiata a un esempio.
Ho fatto una serie di programmi Scratch, quindi cercate di seguire insieme a noi
fare un po 'di gioco.
Cominciamo con l'apertura Hungry Dino Zero.
>> Facciamo clic sulla bandiera verde per avviare e vedere cosa fa.
Abbiamo una sprite bug che si muove per un pochi passi, si azzera ad una certa altezza, e
poi passi indietro.
E poi abbiamo un dino sprite.
Premendo i tasti freccia, mi sto muovendo lo sprite dino intorno, facendola girare
e ruotare.
Che può essere divertente, ma Non ci sono molti
script in questo programma.
Possiamo sicuramente aggiungere a questo.
>> Ad esempio, quando si muove il dino essa può effettivamente scendere lo schermo e
quasi scomparire dal sito.
Vogliamo cambiare perché siamo non vogliono il dino a fuggire.
Quindi cerchiamo di fermare il nostro script con il rosso bandiera e quindi modificare gli script di dino.
Si noti che questo script particolare ha un loop infinito, che termina con una
regolo.
Non ha alcuna scanalatura in basso.
E questo ha un senso dal nome, un ciclo per sempre.
E 'esecuzione di qualcosa di infinitamente e non avrà mai fine.
Quindi questa è una grande opportunità per introdurre un thread.
>> D'accordo.
Quindi aggiungiamo un altro script.
Ho intenzione di iniziare con questa voce punto, quando Green Flag Cliccato.
E voglio controllare continuamente se il dino sta per essere
toccare il bordo.
Sotto di movimento c'è un piccolo blocco ordinata che dice, se da Bounce Edge.
E quindi vogliamo continuamente eseguire questo.
>> Che questa affermazione non è se i controlli lo sprite è sul bordo del
fase, e rimbalza indietro se lo è.
E poiché l'utente può sempre spostare la dino, vogliamo trovare un qualche tipo di
ciclo che ci permette di continuo eseguire questa istruzione.
Guardando sotto controllo ci scegliere il ciclo per sempre.
Quindi cerchiamo di trascinare che nel dino script, e poi
Se aggiungi Bounce On Edge.
E poi mettiamo alla prova il nostro programma.
>> Così il bug si muove come al solito, e poi se testiamo il nostro nuovo script
spostando il nostro dino al bordo, si vede che non può
sfuggire alla fase più.
Rimbalza subito.
Ora si potrebbe chiedere perché la dino rimbalzi ma non il bug.
Beh, questo è perché abbiamo scritto il nostro più nuovo lo script all'interno della script dino
e non gli insetti.
Quindi il bug non ascoltare il istruzioni abbiamo dato il dino.
>> D'accordo.
Quindi cerchiamo di aggiungere qualcosa di nuovo ora.
Se vai alla scheda Costumi vedrete che i diversi costumi che
sono precaricati con il vostro sprite selezionato se si sceglie uno dalla
Libreria di Scratch.
C'è questo carino dino chomp costume, quindi cerchiamo di attuare il dino
quando masticando premiamo, dire, il tasto Space.
>> Torna script dino.
In questo script qui, sono già controllo in loop per sempre se
vengono premuti alcuni tasti freccia e spostando la dino conseguenza.
Se ne andarono freccia viene premuto, il dino ruota in senso antiorario.
Se si preme la freccia destra, il dino ruota in senso orario.
Quindi, se si preme la freccia in su, quindi il dino progredisce in avanti.
Possiamo solo aggiungere allo script, invece di aggiungendo uno separato perché questo
è già il check-in tema di che vengono premuti i tasti.
>> Lasciatemi aggiungere uno che verifica viene premuto il tasto Space.
Questi blocchi qui stanno controllando per essere premuti i tasti.
Sono tutti nel blu brillante, così Andiamo a brillanti sensing blu
dichiarazioni e guardarsi intorno.
Ecco un blocco di stampa Spaced chiave.
Quindi quello che vogliamo fare è avere il dino passare alla sua abbattere costume
se, e solo se, l'spaziale viene premuto il tasto.
>> Quindi cerchiamo di imitare la struttura qui.
Ora, cambiando il costume ha a che fare con come la dino sembra così andremo a
Guarda dichiarazione.
E infatti, abbiamo un interruttore Costume di Dino Chomp.
Ora, quando noi chomp giù che non vogliamo il dino di essere chomping giù per sempre,
Quindi aggiungiamo una dichiarazione dicendo essa per tornare indietro.
Sarà passare costumi tipo di fretta, però, perché nelle dichiarazioni Scratch
eseguirà back to back davvero rapidamente, quasi istantaneamente.
Quindi andiamo a controllo e poi fare il dino pausa per un po 'di attesa
un secondo dopo chomp agisce verso il basso.
>> Ora andiamo a modificare il bug sprite.
Il bug sprite passi in avanti di cinque passi per un totale di cinque volte, dopo un
attimo di pausa.
Nel blocco in alto qui il bug si colloca in un determinato
x coordina-valore.
Per trovare le coordinate in realtà è possibile mouse sopra lo schermo e
poi in basso del palco finestra le coordinate si aggiornerà in modo
è possibile usufruire di questo comodo caratteristica di attuare le coordinate
che si desidera.
E, in questa dichiarazione qui, noi istruiamo il bug per iniziare allo stesso
x valore ogni volta, ma per prendere un casuale altezza per il bug che ancora
soggiorni entro i vincoli del palcoscenico.
>> Vediamo qui che sto sfruttando la trasmissione dell'evento in Scratch.
Questo gestore eventi viene chiamato New Bug1.
Così ogni volta che il bug riceve l'evento New Bug1,
che sarà eseguire l'istruzione.
Quindi, dopo che si sposta in avanti il suo set quantità di volte, in realtà
trasmette l'evento New Bug1.
>> Ma come circa cambiamo questo script un po '?
In questo momento abbiamo il bug movimento cinque passi.
Che non è molto, per un totale di cinque volte.
Noi in realtà non so quante volte sarà essere necessari fino a quando il bug raggiunge,
dire, l'estremità dello schermo, quindi cerchiamo di rendere il ma raggiungere la fine della
schermo, ma utilizzare un qualche tipo di altro costrutto.
>> Ho intenzione di separare questo perché stiamo andando a modificare alcune cose.
Per eliminare i blocchi di Scratch si trascina i blocchi per il
a sinistra e poi rilasciare.
E viene eliminato.
Se si decide che non hai vogliono che venga cancellato, allora si può
vai a Modifica e Undelete.
Ma noi volevamo arrivare liberarsi di quel blocco.
>> Quello che vogliamo fare ora è passare, diciamo, 50 passi e mettere in pausa un secondo, e
ripetere questo fino a quando tocchiamo l'estremità dello schermo.
Quindi usiamo un ciclo che ci permette di ripetere un processo fino a un certo
condizione è soddisfatta, giustamente nome ripetersi.
>> Ciò che accade all'interno della condizione di una ripetizione fino al?
Qualcosa che ci dice se il bug sta toccando il bordo del
schermo, che sta per essere sotto il Bilancio di rilevamento.
Ecco questo booleano, Toccare.
E si può scegliere qui ciò che si desidera verificare.
Così ci selezionare Bordo commovente e aggiungiamo questa istruzione condizionale interattiva
>> Così ora se guardiamo il nostro bug, sarà spostare di nuovo una volta che tocca
il bordo del palco.
Grande.
Abbiamo finito con Hungry Dino Zero, Apriamo dunque Hungry Dino One.
Un po 'come un programma di cucina, ho aggiunto un po 'più funzionalità.
Per esempio, vedrete che il bug è in realtà molto semplicemente scivolando ora
al contrario di prima.
In moto c'è questo scivolare dichiarazione.
Ora, l'insetto scivola 70 unità per la diritto della sua esposizione attuale, ma
rimane nella stessa posizione y qui.
Ed ora possiamo avere un dino chomping come abbiamo implementato prima.
>> Ma, questo programma non è chiamato Hungry Dion per niente così diamo il
dino mangiare il bug.
Come possiamo raccontare il bug, o dire la dino, che ha abbattuto?
Come possiamo comunicare questo evento?
Beh, sappiamo che quando si passa il costume per il dino al dino chomp
che abbiamo chomped giù.
E dire che vogliamo il bug di scomparire una volta che ha mangiato.
Beh, dovremo verificare se il bug è stato chomped su e
comunicare al bug che si avrà per nascondere o scomparire dallo schermo
una volta che è stato chomp giù.
>> Quindi, che tipo di concetto, che tipo di strumento possiamo utilizzare per avere il dino
comunicare al bug che ha chomped giù?
Broadcasting.
Quindi andiamo a Eventi e aggiungere un evento da trasmettere.
Chomp.
OK.
Ma ricordate che una volta abbiamo trasmesso qualcosa dobbiamo anche
ricevere questo evento.
Quindi, quale sprite trasmetterà chomp?
Bene, diamo il dino farlo quando si preme il tasto Space.
>> Proviamo ad aggiungere un blocco di ricevere chomp.
Ora, quando il dinosauro si riduce semplicemente a uno spazio vuoto non vogliamo che il bug
di reagire a quella del caso, solo se la dino stava toccando la, ma al tempo
del chomp abbiamo effettivamente fare qualcosa.
Quindi useremo la condizione Se a causa Stiamo controllando se qualcosa è
vero o no.
>> Ora, se torniamo al rilevamento, quindi possiamo usare questa commovente
bloccare e selezionare Dino.
Poi, sotto sguardi, troviamo questo Nascondi blocco che ti fondamentalmente fanno il bug
scomparire dalla scena.
>> Ce la faremo nascondere, ma lo facciamo desiderare un altro bug, giusto?
Il nostro dino ha fame.
Quindi vogliamo dare un altro bug di caccia.
Quindi diamo anche trasmesso l'evento New Bug1.
Tranne lo vogliamo aspettare per un po ' prima che appaia un altro bug, quindi cerchiamo di
attendere anche un secondo.
>> D'accordo.
Quindi cerchiamo di controllare questo fuori.
Noi chomped giù, ma un scompare, appare un altro, e noi chomp giù
di nuovo.
Questo è l'aspetto di un grazioso divertente gioco, ma tutti i giochi
bisogno di segnare, giusto?
Così che cosa possiamo usare per tenere traccia di quanti bug del dino ha mangiato?
Una variabile.
Quindi cerchiamo di aggiungere una variabile denominata Score.
>> E ora dovremo decidere cosa questa variabile ha portata.
Quindi pensiamo.
Mentre si potrebbe desiderare la ma per aumentare il punteggio se è stato
mangiato con successo, e lo stadio potrebbe avere a che fare con la
punteggio così, quindi cerchiamo di assegnare questa variabile per tutti gli sprite.
>> Vogliamo aumentare il punteggio se, e solo se, un bug è stato mangiato.
E abbiamo già scritto una sceneggiatura che tratta di un bug di essere mangiato così
andiamo ad aggiungere questa dichiarazione a, Cambiare Score per uno.
Ciò significa che una volta che si mangia un bug il punteggio aumenta.
>> Giochiamo per un po 'e mangiare, Non lo so, tre bug.
Così ci si stanca del gioco, bene, si preme il tasto rosso di stop
firmare per fermare il gioco.
E quando si desidera tornare ti faremo premere di nuovo la bandiera verde.
Ma il punteggio è ancora in tre anche anche se sto giocando una nuova partita.
Non vogliamo dare agli utenti una testa avvia, quindi avremo bisogno di ripristinare il
segnare ogni volta che iniziare una nuova partita.
Quindi aggiungiamo una dichiarazione alla fase di script di punto di ingresso per impostare il
punteggio variabile a zero.
Così ora, ogni volta che si avvia un gioco, il punteggio partirà da zero.
>> Ora apriamo Hungry Dino 2 dove Ho aggiunto un paio di cose.
Ho diritto cliccato sul bug sprite duplicare il folletto che ha fatto un
sprite identico a quello precedente.
Veleno Bug è sostanzialmente identica a Bug1 ma ho scelto un nuovo costume, perché
Ho pensato che sembrava, beh, tipo di velenoso.
Anziché aumentare il punteggio quando il bug veleno è mangiato, io in realtà
diminuire il punteggio modificando punteggio da uno negativo.
>> E poi ho fatto un altro costume per il nostro dino usando l'editor vernice per
fare un malato in cerca dino e la chiamò Dino Malato.
Ma non usiamo questo costume nella nostra programma ancora, quindi cerchiamo di aggiungere un po '
dichiarazioni e blocchi che cambieranno costume del dino al verde malato
costume ogni volta che si mangia un bug avvelenato.
>> Ora, dal momento che abbiamo duplicato il bug sprite, l'insetto avvelenato ha tutte
Gli script che il bug originale fa.
Se si voleva copiare gli script di altri sprite, è possibile trascinare il
scritto in cima alla sprite che si desidera copiare.
Ma non abbiamo bisogno di farlo qui perché l'insetto avvelenato ha già una
script che controlla che il bug è stato chomped giù.
E possiamo approfittare di questo per comunicare al dino che ha mangiato un
insetto velenoso.
E comunichiamo tra sprite di broadcasting.
Quindi cerchiamo di trasmissione di un nuovo evento chiamato Dino Malato.
>> E noi sappiamo che abbiamo un costume per il dino a cambiare, ma abbiamo anche
sapere da prima che è meglio aggiungere in una pausa
tra cambi di costume.
Così quando ricevo Dino Sick, io vado di cambiare costume a Dino Sick, attendere
un secondo, per poi passare eseguire a Dino Hungry.
D'accordo.
Facciamo il nostro gioco e mangiare un bug e lo scarabeo.
E il punteggio diminuisce di uno.
>> Ora, a volte si potrebbe notare che la variabile potrebbe non apparire sul
alto a sinistra dello schermo.
Se si passa alla sezione dei dati di cui gli script, vedrete questo segno di spunta
accanto alle variabili che si creano.
E questo nasconde per visualizzare o nascondere le variabile dallo schermo.
Ma è anche possibile utilizzare una dichiarazione chiamato Show o
Nascondere una variabile specifica.
Quindi usiamo questa Mostra Variabile Punteggio ottenuto da fare in modo che ogni volta che si parte
il gioco, viene mostrata la variabile.
Grande.
>> Quindi cerchiamo di eseguire il gioco e mangiare un bug veleno subito.
Ora, è un po 'strano per avere un gioco per avere punti negativi, giusto?
Quindi cerchiamo di introdurre un altro elemento.
Se il dino mangia troppi velenoso bug allora diventa troppo malato e la
gioco è finito.
Quindi, per realizzare questo, ci trasmettiamo un altro evento, Game Over.
Come facciamo a sapere quando eseguire questo Game Over trasmissione?
>> Beh, possiamo farlo in diversi modi.
Possiamo avere uno script nella fase che controlla continuamente se il punteggio
è negativo o no, e trasmissioni Game Over quando il
punteggio diventa negativo.
Oppure potremmo approfittare del fatto che l'unico modo in cui il punteggio potrebbe mai
essere negativo, è quando un velenoso bug è mangiato.
Perché quando si mangia l'altro bug, il punteggio aumenta.
Non c'è alcuna utilità nel verificare se esso dovrebbe essere Game Over o meno quando si
mangiare un bug commestibile.
>> Così possiamo in realtà solo aggiungere alla script che riceve la Dino Malato
trasmissione evento.
Vogliamo istruire il dino come segue.
Se il punteggio è inferiore a zero, trasmettere Game Over.
Quindi noi costruiremo il punteggio minore di zero condizione di utilizzare un isolato dalla
Sezione operatore, e trascinando nel nostro punteggio a quel blocco.
E vedete qui si può semplicemente trascinare il punteggio variabile e mettere meno di zero.
E stiamo andando a trasmettere un nuovo evento, Game Over.
>> Ma se il punteggio non è andato al di sotto di pari a zero, vogliamo che il dino a
continuare il gioco.
Quindi, invece di usare un caso qui, diamo utilizzare un costrutto if else.
Un altro costrutto se dice il nostro dino a fare una cosa se la condizione è vera
e un'altra cosa, se la condizione è falsa.
Il corpo del nostro primo se può andare in se il resto, quindi cerchiamo di trascinare dentro che
Ma se il punteggio non è inferiore a zero, quindi cerchiamo di tornare alla
Hungry costume Dino.
Non vogliamo farlo preventivamente.
Grande.
>> Ma dal momento che abbiamo trasmesso Game Over, abbiamo ancora bisogno di fare un
evento blocco ricevente.
In realtà c'è un arresto Tutti dichiarazione in controllo, quindi cerchiamo di collegare questo a
quando ricevo Game Over.
Ma vogliamo anche il bug di fermarsi, così cerchiamo di trascinare questo script per tutti
il bug sprite e il palcoscenico.
Proviamo questo fuori.
>> Mangiare un insetto velenoso subito, il programma si blocca come previsto.
Nessuno degli altri insetti mossa e né fa il dino se si preme
giù i tasti freccia.
Ma diciamo che non vogliamo ricordare l'utente del loro punteggio negativo, così
cerchiamo di nascondere il punteggio variabile da la fase ogni volta che il gioco
Nel corso dell'evento è ricevuto.
D'accordo.
>> Quindi, questo è un gioco abbastanza decente.
Con più tempo è possibile aggiungere più sprite e altro script.
Forse i bug possono muoversi a velocità diverse.
È possibile aggiungere un nuovo sfondo sul palco -
un Game Over fondale -
tale che, quando lo stadio riceve il Game Over evento, si può passare alla
Game Over sfondo e tutto degli sprite pelle.
Un sacco di piccole modifiche possono essere fatte per rendere il vostro gioco un po 'più lucido.
>> E questo è solo un esempio di un progetto che si può fare in Scratch
utilizzando tutti gli strumenti che abbiamo discusso in precedenza -
sprite, costumi, palchi, fondali, condizioni, loop, variabili,
eventi di diffusione e fili.
Hungry Dino non usa alcun suono effetti, ma è possibile aggiungere facilmente il vostro
proprio per spostarsi nella scheda Suoni e esplorando le dichiarazioni del suono.
Scratch è una grande introduzione al concetti di programmazione, in modo da essere creativi
e, soprattutto, divertirsi.
Il mio nome è Zamyla, e questo è CS50.