Puteți stoca animalele într-o matrice și le puteți genera oriunde doriți. Vom folosi această capacitate pentru a construi un țarc împrejmuit pentru animale și pentru a crea o grădină zoologică instantanee oricând dorim. Când acest proiect pornește, el va crea o matrice și o va umple cu animale la alegere.
Acest proiect va avea două comenzi:
- „pen”: Apelați-o mai întâi pentru a comanda Constructorului să creeze un țarc împrejmuit în jurul poziției dumneavoastră, astfel încât animalele să nu scape.
- „zoo”: La această comandă, MakeCode va trece prin matricea dvs. și va genera două animale de fiecare tip, în interiorul țarcului.
- Realizați activitatea
- Crearea proiectului
- Realizați o matrice pentru animale
- Adaugați animale la array
- Să vă alegeți animalele
- Să avem un țarc pentru animale
- Găsește un loc pentru stilou
- Stabilește marcajul de pornire
- Desenați conturul stiloului
- Puneți gardurile
- Încercați comanda „pen”
- Pregătiți-vă să eliberați animalele
- Lasă-i să plece!
- Încercați comanda „zoo”
- Completează programul Zoo
- Provocarea 1 – Adăugați mai multe animale la grădina zoologică
- Provocarea 2 – Creați o a doua matrice pentru numele animalelor
- (Sarcini 1-2)
- (Sarcini 3-4)
- Unde ați plasa aceste blocuri în codul nostru existent?
- Experimente
- Experiment 1 – Adăugați un adăpost pentru păsări, doar pentru păsări!
- Experimentul 2 – Adăugați un alt exponat la grădina zoologică pentru calamari
Realizați activitatea
Crearea proiectului
-
Crearea unui nou proiect MakeCode numit „Zoo”.
-
În
||loops:LOOPS||
, există un||loops:on start||
care își va executa comenzile o singură dată, de îndată ce proiectul pornește. Trageți acel bloc în spațiul de lucru de codare.
||loops:on start||
se execută atunci când programul pornește. Acest lucru poate fi o pacoste uneori, deoarece testați codul sau doriți să reporniți programul, dar s-ar putea să nu înțelegeți de ce programul dvs. nu funcționează. Folosiți butoanele din colțul din stânga jos pentru a reporni codul atunci când construiți cod care se bazează pe ||loops:on start||
.
- Click pe butonul de oprire din colțul din stânga jos al ferestrei de conectare a codului.
- În continuare, va trebui să reporniți mediul de codare. Faceți clic pe butonul de redare. Dacă butonul de redare nu este activat, atunci codul dumneavoastră nu va rula în Minecraft.
-
Din
||variables:VARIABLES||
, faceți clic pe butonul Make a Variable. -
Denumiți această variabilă
animalarray
și faceți clic pe Ok.
Realizați o matrice pentru animale
-
Din
||variables:VARIABLES||
, trageți||variables:set||
în blocul On start. -
Utilizând meniul derulant din
||variables:set||
, selectați variabilaanimalarray
. -
Click pe fila Advanced din Toolbox pentru a afișa sertarul
||arrays:ARRAYS||
Toolbox. -
Din
||arrays:ARRAYS||
, trageți un||arrays:create array with||
în||variables:set "animalarray" to||
.
Adaugați animale la array
-
Click pe semnul Plus (+) de pe
||arrays:create array with||
pentru a adăuga încă 7 sloturi în array-ul dvs. Lungimea totală a matricei dvs. ar trebui să fie 8. -
Din
||mobs:MOBS||
, trageți un bloc Animal în primul slot din||arrays:create array with||
. -
Completați restul matricei dvs. cu blocuri de animale. Puteți face clic dreapta pe
||mobs:animal||
și selecta Duplicate pentru a face copii ale acestui bloc.
Să vă alegeți animalele
Creați o grădină zoologică cu 8 tipuri diferite de animale. Fiți atenți la faptul că anumite animale vor mânca alte animale! De exemplu, oceloții și găinile nu se înțeleg foarte bine. Gândiți-vă la ce fel de grădină zoologică doriți și planificați în consecință.
- Utilizând meniurile derulante din blocurile
||mobs:animal||
, selectați diferite tipuri de animale în matricea dumneavoastră.
Să avem un țarc pentru animale
Acum că aveți array-ul de animale configurat, haideți să lucrăm la crearea unei incinte împrejmuite pentru grădina zoologică. Pentru aceasta veți folosi blocurile ||builder:BUILDER||
. Constructorul este ca un cursor invizibil în joc care poate plasa blocuri de-a lungul unei căi foarte rapid. Îi veți ordona Constructorului să meargă la un punct din colțul de sud-est și să creeze un marcaj, care este un punct de referință invizibil. Apoi îi veți da o serie de comenzi pentru a-l face să traseze un pătrat. În cele din urmă, constructorul este capabil să plaseze garduri de-a lungul acestei traiectorii.
-
Din
||player:PLAYER||
, trageți un bloc||player:on chat command||
în spațiul de lucru. -
Renumiți comanda „pen”.
-
Click pe fila Advanced din Toolbox pentru a afișa sertarul
||builder:BUILDER||
Toolbox. -
Din
||builder:BUILDER||
, trageți||builder:builder teleport to||
în||player:on chat command "pen"||
.
Găsește un loc pentru stilou
Rețineți că coordonatele Minecraft sunt întotdeauna specificate în coordonate X, Y, Z, unde X este de la vest la est și Z este de la nord la sud. Vrem ca Constructorul să înceapă în colțul de nord-est al pixului în raport cu jucătorul, așa că mergeți mai departe și schimbați coordonatele pentru a specifica o locație la 5 blocuri spre est și 5 blocuri spre nord de poziția dumneavoastră.
- În
||builder:builder teleport to||
, schimbați valorile poziției în(~5, ~0, ~-5)
.
Stabilește marcajul de pornire
Să ne asigurăm că Constructorul este orientat în direcția corectă, astfel încât să deseneze pixul în jurul tău. După ce constructorul este orientat în direcția corectă, îl puteți pune să plaseze un marcaj de pornire.
-
Din
||builder:BUILDER||
, trageți||builder:builder face||
în afară și sub||builder:builder teleport to||
. Valoarea implicită „cu fața spre vest” este bună. -
În continuare, din
||builder:BUILDER||
, luați un||builder:builder place mark||
pentru a-l pune după||builder:builder face||
.
Desenați conturul stiloului
Acum îi vom cere pur și simplu Constructorului să deseneze un pătrat.
-
Din
||loops:LOOPS||
, trageți o buclă||loops:repeat||
și puneți-o după||builder:builder place mark||
. Un pătrat are patru laturi, așa că repetarea de patru ori este grozavă. -
Din
||builder:BUILDER||
, trageți un||builder:builder move||
în bucla||loops:repeat||
. -
Tăiați
10
în||builder:builder move||
pentru a face laturile pixului dvs. 10 blocuri. -
Din
||builder:BUILDER||
, trageți||builder:builder turn||
după blocul||builder:builder move||
.
Puneți gardurile
Ultimul pas este ca Constructorul să pună garduri de-a lungul pătratului pe care îl trasează.
-
Din
||builder:BUILDER||
, plasați un||builder:builder trace path from mark||
după bucla||loops:repeat||
. -
Utilizând meniul derulant din
||builder:builder trace path from mark||
, selectați un gard de stejar.
Codul dvs. ar trebui să arate asemănător cu acesta:
player.onChat("pen", function () { builder.teleportTo(pos(5, 0, -5)) builder.face(WEST) builder.mark() for (let i = 0; i < 4; i++) { builder.move(FORWARD, 10) builder.turn(TurnDirection.Left) } builder.tracePath(OAK_FENCE)})
Încercați comanda „pen”
Acum, deschideți o lume plată în jocul Minecraft, și tastați „pen” în fereastra de chat. Ar trebui să vedeți cum se construiește un stilou în jurul vostru! Pentru o provocare suplimentară, ați putea încerca să îl faceți pe Constructor să adauge o poartă de gard.
Pregătiți-vă să eliberați animalele
Acum vine partea distractivă. Matricea este încărcată cu animale, țarcurile au fost construite… este timpul să le dați drumul! Pentru această comandă, vom trece pur și simplu prin toată matricea și pentru fiecare animal din matrice, vom genera două dintre ele la câteva blocuri distanță de tine, dar tot în interiorul țarcului.
-
Din
||player:PLAYER||
, obțineți un||player:on chat command||
și redenumiți-l „zoo”. -
Din
||loops:LOOPS||
, trageți un||loops:for element||
în||player:on chat command "zoo"||
. -
În
||loops:for element||
, folosiți meniul derulant pentru al 2-lea slot pentru a selectaanimalarray
.
Lasă-i să plece!
-
Din
||mobs:MOBS||
, trageți un bloc||mobs:spawn animal||
și plasați-l în interiorul lui||loops:for element||
. -
Din
||variables:VARIABLES||
, trageți variabila valoare în blocul||mobs:spawn animal||
, înlocuind animalul implicit pui. -
Ajustați coordonatele din
||mobs:spawn animal||
la(~3, ~0, ~0)
, astfel încât animalele să se nască la câteva blocuri distanță de Jucător. -
Pentru a crea perechi de animale, faceți clic dreapta pe blocul
||mobs:spawn animal||
pentru a-l duplica. De asemenea, puteți folosi o buclă aici, dacă doriți.
Codul dvs. ar trebui să arate asemănător cu acesta:
let animalarray: number = player.onChat("zoo", function () { for (let value of animalarray) { mobs.spawn(value, pos(3, 0, 0)) mobs.spawn(value, pos(3, 0, 0)) }})
Încercați comanda „zoo”
Întoarceți-vă în lumea dvs. Minecraft, și tastați comanda „zoo” în fereastra de chat, și urmăriți cum apar animalele!
Completează programul Zoo
let animalarray: number = player.onChat("pen", function () { builder.teleportTo(pos(5, 0, -5)) builder.face(WEST) builder.mark() for (let i = 0; i < 4; i++) { builder.move(FORWARD, 10) builder.turn(TurnDirection.Left) } builder.tracePath(OAK_FENCE)})player.onChat("zoo", function () { for (let value of animalarray) { mobs.spawn(value, pos(3, 0, 0)) mobs.spawn(value, pos(3, 0, 0)) }})animalarray =
Program partajat: https://makecode.com/_2Jc55Xbjz1v8
Provocarea 1 – Adăugați mai multe animale la grădina zoologică
Creați un țarc mai mare și adăugați toate tipurile diferite de animale! Există 19 tipuri diferite. Apoi, urmăriți nebunia care urmează!
Provocarea 2 – Creați o a doua matrice pentru numele animalelor
Această provocare aplică mai multe concepte într-una singură. Sunteți pregătiți pentru ea? Amintiți-vă că a învăța nu înseamnă întotdeauna a câștiga. Dacă vă luptați cu această provocare, atunci nu vă simțiți descurajați. Dacă această provocare vi se pare prea ușoară, atunci poate că ați putea să vă faceți propria provocare și să o împărțiți cu un alt elev!”
Un ocelot este un animal foarte obscur pentru mulți, așa că ar fi bine să cunoaștem numele animalelor pe care le creștem.
Creați un al doilea array care să listeze numele animalelor din ||variables:animalarray||
. Apoi, pe măsură ce animalele se generează, folosiți ||player:say||
pentru a da feedback. Incluzând un ||loops:pause||
între animale, utilizatorul va avea mai mult timp pentru a citi și înțelege ce sunt diferitele animale.
Sarcini:
- Creați un array
||variables:animalnames||
. - Puneți toate numele animalelor în
||variables:animalarray||
. - Imprimați numele după ce acestea se generează.
- Păsește codul după tipărire timp de 1 secundă sau mai mult… tu alegi cât timp să faci pauză.
Pentru că sunt atât de multe animale de listat pentru sarcina nr. 2, ai putea lua în considerare să faci o parte din acest lucru în javascript în loc să folosești blocuri. După ce creați un array, puteți introduce numele animalelor mult mai ușor în javascript. În plus, puteți vedea mult mai ușor toate numele.
Codarea în blocuri este minunată, dar în acest caz, tastarea în javascript ar fi mult mai rapidă. Uitați-vă la exemplul de mai jos. Puteți să vă dați seama cum să copiați acest format pentru toate animalele? Apoi, când termini, poți adăuga ||player:say||
și ||loops:pause||
revenind în editorul de blocuri.
Asigură-te că virgulele și ghilimelele sunt toate la locul potrivit sau vei primi o eroare.
(Sarcini 1-2)
Blocurile de mai jos sunt răspunsurile și te-ar putea ajuta să faci treaba mai repede. Acum trebuie doar să vă dați seama unde să le plasați! Pentru a imprima numele animalelor trebuie să folosiți un contor care acționează ca o cheie pentru fiecare nume. Amintiți-vă că cheia este numărul în care sunt puse lucrurile în array…. pentru noul nostru array, cheile vor arăta astfel:
Pui = 0
Vacă = 1
Porc = 2
etc…
Trebuie să setați numele pentru fiecare animal în noul nostru array. Un exemplu este dat mai jos. Acum trebuie doar să vă dați seama unde să plasați acest cod și să terminați de setat numele pentru toate animalele.
let animalnames: string = animalnames = "Chicken"
(Sarcini 3-4)
Mai jos vi s-a dat contorul ‘CurrentAnimalNum’. Acesta acționează ca o cheie atunci când se obțin valori din matricea ||variables:animalnames||
.
Dacă nu înțelegeți toate acestea, nu este sfârșitul lumii. Vedeți doar dacă puteți plasa acest cod în locul potrivit. În timp ce faceți acest lucru, încercați să înțelegeți de ce se întâmplă lucrurile așa cum se întâmplă. Dacă aveți nevoie de ajutor pentru plasare, cereți îndrumare instructorului dumneavoastră.
Unde ați plasa aceste blocuri în codul nostru existent?
let currentAnimalNum = 0let animalnames: string = animalnames = player.say(animalnames)currentAnimalNum += 1loops.pause(1000)
Experimente
Să adăugăm la grădina zoologică existentă pentru a continua să o facem mai mare și mai bună. Jucați-vă cu codul din fiecare experiment și vedeți ce mai puteți adăuga pentru a face grădina zoologică mai completă!
Experiment 1 – Adăugați un adăpost pentru păsări, doar pentru păsări!
În acest experiment, separăm păsările în propria lor matrice și construim o cușcă special pentru ele. O volieră este o clădire în care sunt ținute păsări. Aceasta este ceea ce vor primi ele. Scrieți „zoo” în fereastra de chat și acum veți avea animalele de uscat în țarcul lor și păsările în propria lor volieră. Cu toate acestea, există încă unele probleme.
Utilizați acest cod pentru început.
Cum ați putea face acest lucru mai bine? Puteți construi un țarc separat pentru fiecare animal? Ce altceva vă mai puteți gândi să faceți?
Aici puteți vedea o problemă. Priviți cum măgarul este roșu. Acest lucru se datorează faptului că lupii noștri îi atacă. Poate că lupii trebuie să fie separați în propriul lor țarc sau peșteră sau ceva de genul acesta.
Experimentul 2 – Adăugați un alt exponat la grădina zoologică pentru calamari
Din moment ce calamarii înoată în apă, acest program construiește un loc pentru ei să înoate în pământ și apoi umple pământul cu apă. Tastați „zoo” în fereastra de chat pentru a începe.
Din nou, ați putea încerca să extindeți grădina zoologică și mai mult prin adăugarea de semne, caracteristici diferite, peșteri, râuri sau orice alt lucru la care vă puteți gândi.
Rețineți că codul folosește funcții pentru a ajuta la organizarea noilor incinte pentru diferite tipuri de animale. Fiecare funcție creează țarcurile și animalele pentru fiecare tip de animal.
.