[Powered by Google Translate] ZAMYLA Chandler: Va bene. Ciao a tutti, e benvenuti a Scenario 0. Zamyla mio nome, e sarò portando questi procedure dettagliate di questo anno. In CS50, ogni insieme problema è accompagnato da una guida per cui andremo attraverso set problema della settimana, si parla attraverso, parlare come iniziare, discutere diversa tecniche e suggerimenti per rompere realmente il problema messo in alcune punture gestibili. Sono anche molto felice di rispondere a qualsiasi domanda che si hanno sul set problema. Senza ulteriori indugi, sono contento che tu sia qui, sia che siate qui di persona o la sintonia in online. Cominciamo. Così il primo p-set in CS50 - in realtà, non abbiamo intenzione di entrare in digitazione e la macchina codice di roba molto ancora. Stiamo in realtà intenzione di utilizzare Scratch, che è un programma che ci permette di fare un po 'drag and drop programmazione. E così, anche se non stiamo scrivendo, permette realmente a noi esplorare alcuni dei concetti fondamentali che useremo durante tutto CS50. Ora, alcuni di questi concetti sono elencati qui nella Casella degli strumenti. Quello che mi piacerebbe fare per ogni procedura dettagliata è presente a tutti voi con una serie di strumenti che è possibile utilizzare per la procedura dettagliata. E così, non ti preoccupare. Andremo su tutti questi termini e tutti questi teorie durante la procedura dettagliata. Ora, se si finisce per utilizzare tutti questi strumenti, o semplicemente alcuni di loro, è davvero bello sapere cosa si sta attrezzata in grado di affrontare il problema proposto. Quindi, in Scratch, il gergo prima è necessario sapere è che cosa è uno sprite. Così ogni oggetto o ogni personaggio, sia esso un gatto un cane o una palla, si chiama uno sprite. E così, se voglio, per esempio, due gatti - anche se non sono identico - Ho bisogno di fare due sprite separate in Scratch. E così sprite hanno script associati con loro. Gli script sono in realtà ciò che si sta andando ad essere edificio - drag and drop - con i vostri blocchi. E così ciò che gli script non è una specie di determinare e definire le modalità di lo sprite si comporta. Sprites non sono in realtà solo le immagini, perché abbiamo costumi associata anche gli sprite che tipo di determinare ciò che lo sprite assomiglia. E si può avere più di un costume per uno sprite specificato. Quindi, ad un certo punto durante il programma Scratch, come mostreremo più tardi oggi durante la procedura dettagliata, si può effettivamente cambiare il costume del vostro sprite per farlo sembrare uno leggermente diverso o completamente diverso. E così ci sono tre modi per creare uno sprite in Scratch. Si, è possibile disegnare il proprio in Scratch di costruito nel editor di vernice. È possibile caricare la tua immagine, utilizzare uno dei Scratch, costruito in i, o, l'ultima opzione, ottenere uno sprite casuale. Ora, se vi sentite particolarmente fortunato, poi ho accogliamo favorevolmente per tentare la fortuna e di creare uno sprite casuale. Quindi tutti gli sprite sono immessi sul la fase di Scratch. Lo stadio - possiamo trattare come la nostra tela. E così tutti gli sprite sono immessi sul palco. E questa fase, ciò che fa si consente a tutti gli sprite per spostarsi su di esso. E proprio come gli sprite, lo stadio ha anche script. E così questi script, per fare la loro sul palco - è veramente utile quando, ad esempio, si dispone di uno script che non esattamente si riferiscono a uno sprite specifico, ma piuttosto appartiene alla più sprite o solo, in generale, qualcosa che si vuole fare. Quindi, è possibile inserire questi script sul palco, invece, e che sarebbe design leggermente migliore. Ora, mentre è possibile avere più sprite, è bene tenere a mente che si può avere solo uno stadio. Ma le fasi hanno anche sfondi. A differenza dei costumi, come sprite fare, stadi hanno sfondi. E ancora, è possibile disegnare il proprio o carica il tuo immagine da usare come sfondo. Così qualcuno ha qualche domanda prima di andare avanti? OK. Sentitevi liberi di interrompere me quello che durante la procedura dettagliata, e Sono felice di rispondere a tutte le vostre domande. OK. Così, quando si avvia il programma di sprite, che cosa avete intenzione di non è che stai andando a cliccare la bandiera verde. Ma se non collegare nulla a questo blocco di destra qui, poi niente è in realtà sta per accadere. Perché, vedete, che cosa gli script e la fase di necessità di fare è in realtà sanno di rispondere all'evento - questo è quello che li chiamano, gli eventi - della bandiera verde essere cliccato. Quindi è necessario collegare effettivamente blocchi per la scanalatura al inferiore di tale blocco bandiera verde cliccato, e quindi l' programma saprà cosa fare e come rispondere alla bandiera verde viene cliccato. Beh, che cosa viene dopo? Beh, abbiamo una pletora di blocchi in Scratch da utilizzare e dove la carne, in realtà, del vostro programma si trova in questi dichiarazioni. E così queste affermazioni sono convenientemente organizzata in base al colore. Devi azioni legate al movimento, suono, sguardi, et cetera. E così si può vedere è possibile spostarsi tra di loro in schede nel programma Scratch. E così, mentre avrai altre cose costruite intorno ad essa, ciò che le dichiarazioni realmente fare è effettivamente dice al sprite o la fase di fare qualcosa. Al contrario solo per dire, OK, quando si esegue questa operazione, il dichiarazioni in realtà contengono la vera carne di esso. Diciamo che si desidera eseguire solo una determinata azione, ad esempio si desidera solo il gatto a miagolare quando una certa cosa succede. Siamo in grado di approfittare di booleane, che hai imparato nel lezione uno. E quindi queste sono espressioni che restituiscono true o false. E così questi sono identificati in Scratch dal - vedete gli angoli alla fine di quei blocchi. E in modo da avere una varietà di diversi tipi di valori booleani. Avete "è la più viene premuto verso il basso", "fa 2 più 2 equivale a 5, "o" l'utente viene premuto un determinato tasto sul la tastiera? " Ora, non si può semplicemente utilizzare questi da soli. Quello che devi fare è di combinarli con una condizione. Quindi la condizione c'è nella scheda di controllo di Scratch. E così convenientemente un segnaposto poco che mostra la forma del blocco che è necessario mettere in essa. Quindi, a seconda del contesto della situazione, è possibile scegliere un valore booleano e poi inserire all'interno della vostra condizione. E ci si dispone di un'istruzione condizionale. Se metti istruzioni all'interno di quel blocco, allora avete un struttura istituita, per cui una volta che una certa condizione sia soddisfatta sinistra, quindi eseguire l'istruzione. Sì? STUDENTE: Se una variabile rappresenta un numero, è possibile utilizzare la variabile all'interno del booleana, come quella verde, per esempio? ZAMYLA Chandler: Sì, è possibile. È possibile trascinare e rilasciare il valore della variabile all'interno del forma circolare lì. Ora, uno dei vantaggi di computer è la grande potenza e la velocità con cui si possono eseguire processi ripetitivi. E così, invece, per esempio, ripetendo una istruzione più e più e più volte e in realtà scrivendo che fuori - o in questo caso, in Scratch, trascinando e trascinamento della selezione - quello che possiamo fare è incapsulare in un ciclo. E così, i loop possono essere usati per eseguire sia le cose infinitamente con un loop infinito, o per un impostare il numero di volte - dire, ripetere "salutare" 10 volte o fino a un certo condizione è vera. E così ancora una volta, si vede che Scratch è suggerendo che quando si dispone di una condizione come "ripetere fino a", quindi l'unica cosa che si inserisce all'interno vi è un valore booleano. Bene. Così ora, sappiamo che siamo in grado di incapsulare ripetitivo processi all'interno di loop. Si può capire perché una cosa del genere potrebbe non essere l'ideale. Non si adatta sulla diapositiva. In sostanza, lo fa proprio la stessa cosa più e più volte 10 volte, in effetti. Si muove 10 passi, dice ciao, si muove di 10 gradini, dice ciao. Così ora si può vedere che una volta che hanno cicli, qualcosa di simile a questo è molto meglio. È più corto, è più piccolo, e compie effettivamente l' stessa cosa. Ora, in Scratch questo potrebbe non fare molta differenza, ma consente di risparmiare in realtà è un po 'di tempo. Così sulla variabile espressione - si può effettivamente utilizzare le variabili e metterli all'interno di condizioni. Come espresso proprio lì, si vede che abbiamo una variabile denominata "Contrastare", e siamo pari che per vedere se è minore di 0. Quindi le variabili sono essenzialmente, direi, contenitori per valori. In Scratch, questi tipi di valori possono essere parole o possono essere numeri. E così, con queste variabili, che cosa possiamo fare con loro si è possibile impostare il loro valore. Così, nel primo esempio qui, abbiamo l'esempio di testo contenente il valore "Ciao, mondo!" Nel secondo esempio, si presume che abbiamo già una variabile denominata "Contrastare", e in questo caso, stiamo cambiando per 3. Noi stiamo con incrementi di 3. E poi, nell'ultimo esempio, le variabili possono essere trascinati da mettere in un'espressione booleana. Ora, quando si crea una variabile, quello che hai da decidere è se si effettua la variabile per tutte le sprite nel programma Scratch, o solo per il specifiche sprite in cui selezionate quando si fanno la variabile. E quindi questa è una decisione molto importante da prendere. E si tratta veramente basso per quello che si desidera che il campo di applicazione variabile di avere. Così, per esempio, un esempio di portata locale sarebbe se si scegliere proprio per questo sprite di avere la variabile. In modo che significa che soltanto tali sprite sarebbe in grado di accedere a tale variabile. Solo che sprite sarebbe in grado di vedere, cambiarlo, modificarlo. Se si sceglie di avere una portata globale - così è se si dice per tutti gli sprite, se si seleziona l'opzione - allora ciò significa che lo stadio così come tutti gli sprite sarà in grado di vedere, modificare e accedere a quella variabile che che hai creato. Tutte le domande finora su variabili o altro? Sì. STUDENTE: Per le variabili, si può avere due variabili di lo stesso nome, se sono su diversi sprite? ZAMYLA CHAN: Finché sono gli sprite locali --- ah, sì, scusa. Quindi la domanda era se si possono avere due variabili di lo stesso nome in un programma e se si dispone di due variabili con lo stesso nome, ma sono entrambi gli sprite locali, così sprite uno, il gatto, ha una variabile "contatore", nome e sprite due, il cane, ha una variabile denominata "contatore", purché tali entrambi gli sprite sono locali, quindi la loro portata non si estende alle il resto del programma. E così nessuno degli altri sprite o il fase si confonderà. Bene. Così ho detto prima il punto di ingresso, quando abbiamo avuto la quando il verde blocco contrassegnato cliccato. E allora di cosa si tratta - si dice, OK, quando si verifica l'evento che la bandiera verde è cliccato, questo è ciò che si dovrebbe fare. E perché non è in realtà l'unico evento che abbiamo in Scratch. Abbiamo anche altri eventi. Così abbiamo, per esempio, quando un tasto la tastiera è premuto. E si potrebbe effettivamente scegliere le lettere dalla A alla Z, da 0 a 9, oppure i tasti freccia. E poi abbiamo anche altri eventi, come ad esempio quando il sprite viene cliccato. E così, quando si inizia con questo, si nota la tendenza chiave è che hanno solo una scanalatura sul fondo, e così allora che, ancora una volta, le chiavi in ​​voi che non si attacca al di sopra tale blocco. Si costruisce da quella e al di sotto. Ora, per esempio, cosa succede se si vuole un evento accada solo quando, non so, un gatto sta toccando una determinata sezione di la fase o qualcosa del genere? Noi in realtà non hanno costruito in evento per significare che. Quindi quello che dovrete fare è in realtà creare il nostro evento. E che si chiama trasmissione. Così, quando si vuole segnalare che un certo è successo, quindi si utilizza - nella scheda di controllo, c'è un blocco chiamato "Broadcast". E così allora, si digitare il nome del caso in cui si desidera trasmettere, e poi a seconda di quale sprite o sprite - è possibile avere più sprite che reagiscono a questo messaggio - o la fase dovrà gestire la cosa, dovrà riceverlo, dovrà dire, va bene, ho capito che questo ha successo, quindi ho intenzione di fare questo con esso. E così ogni volta che si trasmette un evento, che è con il fermo restando che ciascuna che sprite o un altro sprite è andando a ricevere tale evento e rispondere. Ora, l'ultimo concetto, prima di entrare in un esempio reale di un programma di Scratch è thread. Thread Così è quando il computer è in esecuzione processi simultanei contemporaneamente. Vi garantisco che tutti noi abbiamo approfittato di discussioni quando ci stiamo guardando un film al tempo stesso scrivendo un saggio o qualcosa del genere. Il computer è in esecuzione diverse cose allo stesso tempo, proprio come Scratch può. Quindi, come potete vedere in questo esempio, questi due script possono essere utilizzati per la sprite esattamente lo stesso, perché questi cominciando blocchi entry point può effettivamente utilizzato multipli di volte. Vi garantisco che, probabilmente, la bandiera verde cliccato blocco sarà uno dei più popolari blocchi del programma. Così, qui vediamo che quando la bandiera verde si fa clic, non c'è un processo in corso, così come quando la bandiera verde è cliccato, c'è un processo separato in corso. E così Scratch verrà eseguito questi due contemporaneamente. E così con questi fili, sapendo che si può effettivamente avere più di un punto di ingresso - anche se il punto di ingresso stesso - che sta per diventare veramente utile se si desidera, ad esempio, separare compiti distinti l'uno dall'altro. Bene. Quindi cerchiamo di guardare in realtà un esempio di un programma di Scratch. OK. Così ho già fatto un piccolo programma per noi qui. Così sto solo andando cliccare la bandiera verde per avviare e vedere quello che fa. Quindi abbiamo un pesce arancione qui - un pesce sprite - sembra muoversi e quindi ripristinare e tornare indietro. E poi abbiamo una sprite squalo. E questo sprite squalo può muoversi, può ruotare, che può nuotare intorno. OK. Ecco, questo è tipo di divertimento. Ma possiamo sicuramente aggiungere di più per questo. Per esempio, si vede che quando lo squalo è in movimento, esso può effettivamente ottenere fuori dallo schermo e quasi scomparire dalla vista. Quindi vogliamo cambiare la situazione, perché non si vuole che il squalo di fuggire. E quindi cerchiamo di fermare il nostro script e quindi modificare lo squalo script, forse aggiungere qualcosa. Si noti che in questo sprite particolare qui, per sempre il ciclo termina con un bordo dritto. Esso non ha alcuna scanalatura. Quindi, in realtà questo ha un senso, perché è un ciclo infinito. E 'l'esecuzione di qualcosa di infinitamente. Quindi non potrà mai finire. Anche se ci fosse qualcosa sotto di essa, sarebbe non arrivare a questo. Così si sono effettivamente costretti ad introdurre un filo. Bene. Quindi cerchiamo di aggiungere un altro script. Quindi ho intenzione di iniziare con questo punto di ingresso di quando verde bandiera si fa clic. Quindi quello che voglio fare è continuamente verificare se la squalo sta per essere a contatto con il bordo. Ma so che, in realtà, sotto c'è un movimento pulito piccolo blocco che dice, oh, se sul bordo, rimbalzo. Quindi, quello che vogliamo fare è continuamente eseguire. E così ciò che questo "se sul bordo, rimbalzo" fa - in realtà controlla se sono già al limite, poi riprendersi. Quindi abbiamo bisogno di trovare un qualche tipo di loop continuo eseguire questa istruzione. Quindi, se si guarda sotto controllo, qualcuno ha un'idea di ciò ciclo si potrebbe desiderare di utilizzare? Gia '. STUDENTE: Il ciclo per sempre. ZAMYLA CHAN: Esattamente, sì. Il ciclo per sempre. Quindi cerchiamo di tenere traccia che qui, e poi dire, se sul bordo, rimbalzo. E poi vediamo. Bene. Così il pesce si muove come al solito. E poi, oh - ora lo squalo non può scappare e rimbalza fuori dallo schermo. Cool. Bene. Così mi è stato guardare dentro Io non posso - sì? STUDENTE: Come si fa a fare che si applicano allo squalo mentre si muove ai pesci? ZAMYLA Chandler: Ah. Quindi la ragione per cui solo lo squalo rimbalza, a differenza dei pesci, perché questo script che abbiamo scritto è dentro lo sprite squalo. Vedete, qui, lo sprite squalo è selezionata. Bene. Quindi cerchiamo di aggiungere qualcosa d'altro. Stavo esplorando i diversi costumi che Scratch ha, e ho visto questo grazioso piccolo squalo-chomp. Così ho pensato che, ehi, beh, forse siamo in grado di implementare la squalo chomping, per esempio, quando si preme lo spazio. Sto solo andando a fermare questo. Bene. Sì. STUDENTE: Potresti mostrare il - è che sotto Costumi? ZAMYLA Chandler: Oh, sì. Così sono andato in costumi, e poi ho guardato sotto Importa. Ed ecco, Scratch ha tutta una serie di costumi che si può scegliere. E così poi c'è un sacco di animali, e poi il shark ha un paio di costumi ad esso associati. OK. Quindi, in questo script qui, io sto già controllando continuamente nel ciclo per sempre, bene, bene, se la freccia sinistra è premuto, allora voglio ruotare in senso antiorario. Se la freccia destra si preme, voglio ruotare in senso orario. Se la freccia su viene premuto, poi ho vuole progredire in avanti. Quindi, quello che possiamo fare è solo aggiungere a questo script, invece di aggiungendo una separata, perché sono già registrazione il tema di quali tasti vengono premuti. Quindi cerchiamo di aggiungere uno che dice che se la barra spaziatrice - usiamo la barra spaziatrice per chomp giù. Quindi questi freccia tasto sinistro premuto, eccetera, questi sono nel blu luminoso. Quindi cerchiamo di andare al Sensing l'azzurro più luminoso, e guardare in basso. Oh, e qui è uno spazio di tasto premuto. Quindi, quello che vogliamo fare è avere l'interruttore di squalo per la sua chomping giù costume. Questo ha a che fare con il modo lo squalo sembra, quindi andiamo a look. E qui ci siamo, comodamente, passare a costume squalo-chomp. Ma quando chomp giù, non vogliamo essere lo squalo chomping giù per sempre, quindi cerchiamo di aggiungere, OK, beh, allora, dopo chomp agisce, vogliamo che per tornare indietro. Ok, vediamo cosa fa. Così abbiamo muoversi. OK. Così l'abbiamo chomping. E 'una specie di chomping rapidamente, però, perché in Scratch, è loro esecuzione istantaneamente. Allora, andiamo per il controllo e farlo apprezzare la sua chomp, aspetta un secondo. E qui chomp agisce verso il basso un po 'più a lungo prima che vada tornare alla sua fame. OK. Quindi sono abbastanza contento con lo squalo ora. Ma il pesce, quello che sembra stia facendo - è una progressione paio di passi, infatti, cinque volte. Si muove a 50 passi. E poi quello che sta facendo qui, in questo blocco superiore qui è che io sono dicendo: OK, bene, sta andando ad andare in un certo valore di x. Per trovare le coordinate, si può in realtà solo mouse lo schermo, e quindi in fondo - proprio qui - ti mostrerà quali sono le coordinate sono. Così si può trarre vantaggio da questa per inserire le coordinate che si desidera. E allora che cosa questa affermazione qui sta dicendo sta dicendo, OK, bene, il pesce inizia a questo valore x certa e quindi la altezza può cambiare. In realtà sto andando a prendere una altezza casuale che rimane ancora entro i limiti del palcoscenico. Ed ecco, quello che sto approfittando di è trasmettere eventi. Così si vede che questo gestore di eventi è fish1 nuovo. Così ogni volta che il pesce riceve il nuovo fish1 evento, sarà eseguire questo. E poi si vede che dopo si muove in avanti il ​​suo valore insieme di volte, poi trasmette effettivamente ancora una volta, OK, nuova fish1. Invece, che ne dici facciamo in modo che l'unico pesce continua fino alla fine dello schermo prima si resetta, invece di tipo di andare al centro di esso. Così, invece di dire, ripetere cinque volte - perché non fare davvero sapere quante volte sarà necessario fino a quando non raggiunge la fine dello schermo, usiamo qualcos'altro. Quindi ho intenzione di separare tutto questo, perché noi in realtà non vogliono questo. Per eliminare i blocchi in Scratch, quello che fai è è sufficiente trascinare a sinistra, rilascio, e quindi viene eliminato. Se si decide che non si vuole fare questo, allora si può sempre undelete. Ma noi vogliamo liberarci di questo. Quello che vogliamo fare è che vogliamo continuare a muoversi a 50 passi e pausa un secondo fino a che toccare l'estremità dello schermo. Così chiunque può individuare un ciclo che si potrebbe desiderare di utilizzare tale ripete un processo solo fino a quando si tocca lo schermo. STUDENTE: Ripetere l'operazione fino. ZAMYLA CHAN: ho sentito "ripetere fino a", e questo è corretto. Quindi sì, ripetere fino a questo blocco avviene anche - ma vediamo che questo ripetere fino blocco non è abbastanza completo, giusto? Quindi abbiamo bisogno di dire, OK, bene, ripetere fino a quando? Quindi diciamo, bene, bene, ripetere fino a quando il pesce è a contatto con il bordo dello schermo. E così ti dico che questo è in fase di rilevamento. C'è questo booleano toccante. E così si può selezionare quello che si vuole essere il controllo che il pesce sta toccando. Così qui, vogliamo dire toccare il bordo. E poi vogliamo aggiungere questa interattiva E così ora, se guardiamo il nostro pesce andare, una volta che tocca il bordo, si sposterà di nuovo. Bene. Quindi sono contento di questo. E, apriamo HungryShark1. OK, un po 'come un programma di cucina, ho aggiunto un po' più funzioni. Così, per esempio, si vede che il pesce è ora realtà scivolando senza intoppi, a differenza di prima, quando era tipo di movimento e di arresto, in movimento e l'arresto - essenzialmente solo saltare pixel impostati. Ho guardato sotto Movimento, trovato questa dichiarazione planata, e io detto OK, invece di muoversi e di arresto, in movimento e l'arresto, ho intenzione di scivolare 70 unità a destra, ma stare da me stessa posizione y qui. Bene. Così abbiamo uno squalo che può chomp. Cool. Ma si chiama HungryShark, dopo tutto, quindi cerchiamo di avere il squalo mangia il pesce. Quindi, come potremmo dire il pesce o dire lo squalo che ha chomp giù? Come possiamo comunicare? Sì. STUDENTE: Il secondo costume dello squalo, lo cattura il pesce. ZAMYLA Chandler: Sì, esattamente. Così sappiamo che quando stanno passando il costume al chomp, chomp che abbiamo verso il basso. Ora, alla fine controlla. Dire vogliamo che il pesce a scomparire una volta il suo mangiato. Dovremo comunicare in qualche modo il pesce che si avrà da nascondere, per esempio, o la scomparsa dalla lo schermo una volta che è stato chomped verso il basso. Quindi, che tipo di concetto, che tipo di strumento si può utilizzare per hanno comunicare squalo al pesce, OK, Ho chomp giù? STUDENTE: Broadcasting. ZAMYLA Chandler: Sì, esattamente, trasmettendo un evento. Quindi cerchiamo di andare a controllare e diciamo broadcast. E andiamo in onda chomp. Bene. Ma una volta che abbiamo trasmesso qualcosa, che sia con la presupposto che stiamo in realtà sta per avere qualcosa riceverlo. E così che sta per essere il pesce. Quindi diciamo che, quando ricevo chomp. Ora, quando il chomp squalo giù solo uno spazio vuoto, non lo facciamo desidera che il pesce a reagire a quelle. Quindi diciamo che, OK, bene, solo se lo squalo sta toccando il pesce al momento della chomp - che quando ci troveremo a fare qualcosa. Allora, abbiamo intenzione di utilizzare la condizione se, a destra, perché stiamo controllando se qualcosa è vero o no. Quindi, se torniamo al rilevamento, allora possiamo usare qui, se toccando. E poi qui, scegliamo lo squalo. Poi sotto look, questo blocco hide - che ti fanno praticamente il pesce scompare dalla scena. Faremo lo nascondo, ma vogliamo un altro pesce, giusto? Il nostro squalo ha fame. Vogliamo dare più pesce. Allora cerchiamo di trasmettere anche un pesce nuovo. OK. Quindi cerchiamo di vedere che cosa fa. Cool. Così chomp agisce verso il basso e un altro pesce appare. Ma questo è un po 'troppo veloce per un altro pesce di andare. Così facciamo solo aspettare un secondo prima di in onda un nuovo pesce. Bene. OK. Quindi questo è un processo abbastanza buona di un gioco. Ma tutti i giochi hanno bisogno di un punteggio, giusto? Allora, cosa possiamo usare per tenere il punteggio? Sì. STUDENTE: Altro - ZAMYLA CHAN: Già. Esattamente. Gia '. Così si vuole tenere traccia di fondamentalmente come molti pesci si mangia. Per fare questo, dovremo fare una variabile. Chiamiamolo punteggio. E quindi presumibilmente, dal momento che questo è un gioco che stiamo giocando, stiamo andando a voler il pesce per essere in grado di - dire, una volta che la sua consumata può aumentare il punteggio o qualcosa e poi lo stadio probabilmente hanno a che fare qualcosa con la piaga pure. Quindi ho intenzione di scegliere per rendere questo una variabile globale e dire per tutti gli sprite. OK. Così, quando vogliamo aumentare il punteggio? Quando un pesce è stato mangiato. E così abbiamo già un processo qui che a che fare con il pesce viene mangiato. Quindi cerchiamo di aggiungere questa istruzione qui - variazione del punteggio di 1. Cool. Quindi una volta che si mangia un pesce, il punteggio aumenta. Bene. Quindi dire che sono stanco di questo gioco. Mi fermo. E poi, oh, ho voglia di tornare al gioco. Voglio iniziare una nuova partita. Ebbene, il punteggio è ancora in 3, anche se sono la riproduzione di un nuovo gioco. Non abbiamo voglia di segnare non per ripristinare, giusto? Quindi cerchiamo di aggiungere una dichiarazione di quando il gioco è iniziato nel in scena per dire, OK, bene, vogliamo azzerare il punteggio. Quindi qui abbiamo fissato il punteggio variabile da 0. E così ora, ogni volta che si avvia un gioco, il punteggio avrà inizio alle ore 0. Cool. OK. OK. Così ora, andiamo a HungryShark2. Così ho fatto un po 'di più ora, e quello che ho fatto è a destra clic sullo sprite pesce. Volevo più pesce, e così ho cliccato duplicato e mi ha fatto un nuovo sprite identico a quello e anche copiato in tutto il script pure. Allora questo fish2 è sostanzialmente identico a fish1, tranne che invece di partire sinistra e lo spostamento a destra, inizia a destra e si muove a sinistra. E poi ho anche scelto un nuovo costume per esso. Poi ho trovato un altro costume che era un pesce maculato, e io Era come, fresco, questo sembra velenoso, quindi facciamo finta che questo è un pesce velenoso. E così ho detto, bene, bene, invece di mangiare la pesci velenosi e avere il vostro aumento del punteggio, in realtà ho vuole che diminuire. Quindi qui abbiamo punteggio diminuisce di 1 ogni volta che il squalo lo mangia. E poi, mi è piaciuto molto i costumi che graffiano disponibile, e ho guardato e poi ho trovato le shark's - sembrava uno squalo malato. E così poi l'ho modificato ho fatto verde. E mi sono detto, fresco, è uno squalo malato. Bene. Quindi cerchiamo cerchiamo di aggiungere al nostro script di una sorta di modo di rendere il interruttore di squalo in essere malato ogni volta che mangia un pesce avvelenato. OK. Quindi perché abbiamo copiato tutti gli script dal nostro originale pesce in pesce veleno, che ha già questo sprite qui che dice, quando mi chomped giù, io sono in realtà chomped giù? Così siamo in grado di approfittare di questo per comunicare al squalo, oh, beh, hai appena mangiato un pesce veleno. Tu sei malato. E così questo sarebbe il tipo di azione? Che cosa si vuole fare? Broadcast. Sì, esattamente. Quindi cerchiamo di trasmissione. Chiamiamolo squalo malato. OK. Così ora, lo squalo, ovviamente, sta per essere quello che è ricezione di questo evento. Quindi aggiungiamo quando ricevo lo squalo essere malati. OK. Così sappiamo di avere questo costume - lo squalo è malato. E poi si sa da prima che tipo di apprezzare quando siamo in grado di mettere in pausa un po 'prima di tornare. Si '? STUDENTE: Come si fa a copiare lo script da uno sprite a un altro? ZAMYLA Chandler: Ah. Quindi, in questo caso, quando ho appena ripetuto lo sprite, a copiare uno script ad un altro sprite, quello che ho fatto qui è stato solo dire duplicato, e in realtà ha un intero nuovo sprite con tutti gli script inclusi. Ma dire che si desidera copiare solo un certo script ad un altro sprite, allora cosa si dovrebbe fare in realtà è sufficiente trascinare questo, il mouse sopra un altro script, e ora qui è duplicato. In questo caso, già aveva, in modo da poter eliminare solo di nuovo. Ma per copiare uno script in un altro, quello che fai è solo trascinarlo gli altri sprite. OK. Così siamo tornati al squalo essere malati. Squalo Quindi è ricevuto è malato, e dice, bene, bene, una volta che sto male, ho intenzione di passare a mio costume che dice "Squalo malato", e ora, diciamo solo aggiungere un tempo di attesa per apprezzare il verde. E poi andiamo a fame di nuovo, in modo che possiamo solo tornare allo squalo aver fame. Bene. Quindi andiamo a mangiare questo pesce viola. Va bene. Bella domanda. Che cosa è successo al bancone? OK. Così abbiamo impostato punteggio a 0 qui, ma questo punteggio - che cosa questo segno di spunta non fa altro che si nasconde o Scopre la variabile dallo schermo. Ma quello che possiamo fare, invece di deselezionare o il controllo di esso - si può effettivamente avere questo blocco qui dice "mostrare o nascondere la variabile ". Quindi cerchiamo di fare in modo che ogni volta che si inizia il gioco che la variabile viene mostrato. OK. Così ora la variabile viene mostrato. Mangiamo un pesce veleno, e ci si ammala. Cool. Bene. Così ora, è strano per un gioco per noi avere negativo punti, giusto? Quindi continua a mangiare questi ed è come - Così come su ogni volta che si ottiene negativo, se abbiamo mangiato troppo molti pesci velenosi, game over - squalo e 'troppo male. Bene. Così che cosa abbiamo bisogno di fare è che abbiamo bisogno di trasmesso un evento - game over. Così abbiamo potuto fare in diversi modi, in realtà. Potremmo avere da qualche parte in fase di uno script che continuamente controlli è il punteggio negativo? Il punteggio negativo? Se sì, allora va in onda questo evento. Ecco, questo è un modo di farlo. Oppure potremmo approfittare del fatto che sappiamo che il unico modo che il punteggio potrebbe essere negativo è quando si mangia un pesci velenosi, giusto? Perché quando si mangia un altro pesce, il tuo punteggio è destinata ad aumentare. Quindi non c'è alcuna utilità per verificare se deve essere gioco è finito o no. Quindi questo è un processo simile qui. Così possiamo in realtà solo aggiungere a questo "quando ricevo squalo malato ". Così dicono si aggiunge questa condizione. Vogliamo dire che, se il punteggio è minore di 0. Così abbiamo intenzione di andare agli Operatori, che andremo a utilizzare questo meno di uno, che andremo a trascinare il nostro cliente qui, dire 0. E così, se il punteggio è 0, quindi vogliamo trasmettere qualcosa che si chiama game over. OK. Quindi dire che abbiamo game over. Parliamoci chiaro spostare qui o qualcosa del genere. Bene, noi vogliamo lo squalo solo per tornare ad essere affamati, se il gioco può essere giocato. Così, invece di utilizzare un "se", useremo un "if else" costruire. Che cosa fa questo - dice, OK, quindi se questa condizione è vero, allora fare questo, ma se è falso allora fare questo. Quindi cerchiamo di aggiungere se il punteggio è inferiore a 0, allora si trasmesso game over, ma se non - se la vostra punteggio è ancora positivo - poi tornare ad essere affamati. OK. Cool. Quindi, ora che abbiamo il gioco su eventi, dovremo avere qualche modo di rispondere ad esso. Quindi cerchiamo di fare un nuovo script che dice "quando ricevo gioco oltre. "E quello che abbiamo qui sotto controllo è in realtà questo arrestare tutti i pulsante, e quindi sostanzialmente si imita clic la fermata rosso segno qui. Quindi cerchiamo di avere la fermata squalo. E così vogliamo anche il pesce di fermarsi, quindi cerchiamo di trascinare e copiarlo trovi Vogliamo che tutti i pesci di fermarsi. E poi diamo la tappa pure. Bene. Così nuotare intorno, si mangia un pesce, e allora il programma si blocca. Sto andando verso il basso, ma non posso davvero fare nulla. OK, ma diciamo che non vogliamo ricordare all'utente che loro hanno un valore negativo, per esempio, allora possiamo, per esempio, nascondere la variabile dallo schermo. Così, quando lo stadio riceve game over, poi si nasconde il punteggio variabile. OK. Quindi cerchiamo di mangiare pesce un altro. E poi il punteggio scompare, e basta questa schermata. Bene. Ecco, questo è un gioco abbastanza decente, e se avete avuto più tempo, allora si potrebbe eventualmente aggiungere script sempre più. E così allora, ho aggiunto qualche pesce più, li ha fatti progredire a velocità diverse, e quindi ogni volta che lo squalo mangia un pesci velenosi, si dice in realtà, "Blech!" E poi quello che ho fatto è stato aggiunto un nuovo sfondo per il stadio - un gioco rispetto alla media. E allora cosa fa la fase durante la partita per il superamento di gestione è passa allo sfondo del gioco è finito sfondo. E così, ho nascosto tutte le sprite dal palco in modo che solo il gioco su sfondo è stato mostrato. Ci sono un paio di altre piccole aggiunte che ho aggiunto, per esempio, prima quando abbiamo finito il nostro programma, allora la nostra squalo, la prossima volta che abbiamo iniziato, si avvia in tale posizione pure. Quello che ho aggiunto è ogni volta che la bandiera verde si fa clic, quindi lo squalo risale al origine e poi rivolta verso destra, in modo che ogni volta, si dispone di un squalo a partire lì. Così si può sperimentare in Motion e cose del genere, che solo per aggiungere piccoli tocchi che rendono la vostra gioco un po 'più lucido. Qualcuno ha qualche domande su HungryShark? Cool. Bene. Ecco, questo è un esempio di qualcosa che si potrebbe fare in Scratch utilizzando tutti gli strumenti di cui abbiamo discusso in precedenza. Così ho anche incluso nelle diapositive procedura dettagliata. Li vedrete in seguito. E 'solo una panoramica dei processi che abbiamo fatto - passando da HungryShark0 tutta la strada per il nostro finale. Uno Gia '. Ma questo è tutto. Starò dietro se voi ragazzi vogliono altre domande. Questo era Walkthrough 0. Grazie a tutti per essere venuti, e ci vediamo alla Procedura dettagliata 1.