Cuprins:

Să plouă: 5 pași
Să plouă: 5 pași

Video: Să plouă: 5 pași

Video: Să plouă: 5 pași
Video: Cargo - Daca ploaia s-ar opri (Official Video) 2024, Iulie
Anonim
Lasa sa ploua
Lasa sa ploua

Acesta este un joc care trebuie jucat pe Micro: bit

Jocul se numește Ploaie și scopul este de a evita să fie lovit de obiectele care cad.

Fie mișcându-se la stânga din dreapta și / sau împușcând obiectele.

Jocul este operat de următoarele comenzi.

Shake - Inițiază un joc nou.

A - Deplasează personajul spre stânga.

B - Mută personajul spre dreapta.

A + B - Trage proiectilul la obiectele care cad.

Se acordă un punct pentru fiecare obiect în cădere lovit de proiectil.

Dacă personajul este lovit de obiectul care cade, atunci pierde o viață după ce pierde trei vieți, jocul se termină, acest lucru este indicat de imaginea feței triste și de scor.

Fiecare etapă a jocului este împărțită în mai multe funcții explicate în text.

Descrierea folosește codul blocului și este disponibil și Javascript.

Provizii

Micro: bit

Editor MakeCode

Pasul 1: inițializați

Inițializați
Inițializați
Inițializați
Inițializați
Inițializați
Inițializați

Inițializarea parametrilor jocului se realizează prin atribuirea unei combinații de variabile numerice și booleene.

Aranjarea ecranului cu informațiile anterioare, dacă există, atribuirea poziției de început a personajului pistolului și acordarea timpului utilizatorului pentru a poziționa micro-bitul pregătit pentru a începe jocul.

Este mai ușor să înțelegeți codul dacă variabilele primesc nume care indică funcția lor

De exemplu, „foc” inițiază „arma” care lansează „racheta”.

La fel, dacă endgamecount este mai mare de 3, atunci endgame este adevărat.

Deoarece arma se mișcă doar pe orizontală pe rândul de jos, y este întotdeauna 4 și variabila x este modificată pentru a ilumina LED-ul corespunzător folosind comenzile de plotare și deplotare.

Procesul de inițializare este utilizat în două funcții, On Start și On Shake.

După cum indică numele, apelurile de pornire inițializează la începutul codului pentru a seta variabilele utilizate la valorile necesare.

On Shake apeluri Initialize când utilizatorul inițiază un joc nou.

Acest lucru permite utilizatorului să repornească jocul și inițializează variabilele parametrului jocului, șterge ecranul și poziționează personajul jocului în poziția sa inițială.

Pasul 2: Plouă pentru totdeauna

Plouă pentru totdeauna
Plouă pentru totdeauna

Aceasta este partea din codul jocului care generează în mod aleatoriu obiectele care se încadrează și inițializează pozițiile de început înainte de a le muta pe ecran.

Impresia de cădere este definită de o întârziere între pornirea și oprirea LED-ului și creșterea contorului de poziție. La fiecare creștere a contorului de poziție se face o verificare pentru a determina dacă obiectul care se încadrează s-a ciocnit cu personajul jocului.

Dacă se detectează o coliziune, se pierd vieți până la maximum trei, atunci se anunță sfârșitul jocului, se afișează scorul și bucla obiectului care cade se termină.

Rainstart este poziția de pornire x a acestui caracter, care este incrementată în jos pe ecran prin indexul de schimbare a buclei „pentru” pentru poziția „y”. De la 0 la 4 cu 0 fiind partea de sus și 4 fiind partea de jos.

Nu dorim ca ploaia să cadă prea repede încât să nu o putem vedea, așa că adăugăm o întârziere cu o pauză.

Pe măsură ce ploaia cade, verifică înainte pentru a determina dacă există o coliziune cu arma, acest lucru se realizează folosind „punct”, care determină starea LED-ului din fața sa.

Dacă LED-ul dinaintea ploii este aprins, atunci acest lucru este determinat ca un hit și o viață se pierde sau jocul se termină.

Pentru a menține totul ordonat trebuie să scoatem LED-ul aprins anterior, astfel încât să apară o picătură de ploaie care cade continuu fără a lăsa o urmă.

Pasul 3: Mutarea personajului pistolului

Mutarea personajului pistolului
Mutarea personajului pistolului
Mutarea personajului pistolului
Mutarea personajului pistolului

Există două funcții de intrare utilizate pentru a muta personajul pistolului.

Acestea sunt butonul Pornit A apăsat și butonul Pornit B apăsat.

Butonul de pornire A apăsat.

Această funcție mută caracterul jocului spre stânga atunci când este apăsat butonul A.

Dacă nu este sfârșitul jocului și cu valoarea pistolului în raza sa permisă, poziția anterioară a personajului pistolului este neplotată, valoarea pistolului a scăzut și noua poziție a pistolului a fost trasată.

Dacă valoarea pistolului este mai mică de 0, atunci arma este trasată la x = 0, y = 4

Butonul de pornire B apăsat.

Această funcție mută caracterul jocului spre dreapta când este apăsat butonul B.

Dacă nu este sfârșitul jocului și cu valoarea pistolului în raza sa permisă, poziția anterioară a personajului pistolului este neplotată, valoarea pistolului este mărită și noua poziție a pistolului este reprezentată.

Dacă valoarea pistolului este mai mare de 4, atunci arma este trasată la x = 4, y = 4

Pasul 4: Lansarea proiectilului

Lansarea proiectilului
Lansarea proiectilului

Putem muta personajul pistolului în stânga și în dreapta și acum trebuie să poată trage proiectilul asupra obiectelor care plouă.

Aceasta este partea din codul jocului care generează proiectilul și inițializează pozițiile de început înainte de a-l muta pe ecran.

Impresia mișcării ascendente este definită de o întârziere între pornirea și oprirea LED-ului și creșterea contorului de poziție. La fiecare creștere a contorului de poziție se face o verificare pentru a determina dacă proiectilul s-a ciocnit cu un obiect în cădere.

Dacă se detectează o coliziune, obiectul în cădere este șters în acea poziție, scorul este actualizat, variabila poziția obiectului în cădere este resetată, poziția proiectilului și inițiatorul sunt resetate și bucla proiectilului este terminată.

Dacă jocul final este fals, foc = adevărat și rachetă = 4 pentru poziția sa de pornire.

Se creează o buclă while, aceasta permite tragerea unică sau continuă a proiectilelor în timp ce focul = adevărat.

Variabila de rachetă este scăzută de la 4 (jos) la 0 (sus) la

În fiecare punct, pe măsură ce racheta urcă pe afișaj, verifică dacă există o coliziune cu un obiect de ploaie dacă nu este detectată nicio coliziune, proiectilul continuă în sus și în afara ecranului.

Dacă se detectează o coliziune, obiectul de ploaie nu este trasat, deoarece este acum distrus, variabila sa se resetează și contorul de lovituri este incrementat cu 1.

Racheta nu este planificată pentru a da impresia că aceasta a fost distrusă.

Variabilele pentru ploaie, rachetă și foc sunt resetate.

Pasul 5: Endofgame

Endofgame
Endofgame
Endofgame
Endofgame
Endofgame
Endofgame

Această funcție setează steagul jocului final, afișează notificarea jocului final și scorul și pentru fiecare viață pierdută afișează explozia distrugerii.

Funcția endofgame este apelată pentru două instanțe atunci când utilizatorul pierde o viață și când toate cele trei vieți au expirat semnalând sfârșitul jocului.

De fiecare dată când funcția endofgame se numește endgamecount este mărită, dacă mai puțin de 3 se numește funcția de explozie care animă distrugerea personajului pistolului. Animația exploziei este o secvență de schimbare a pozițiilor LED-urilor care indică cu animație efectele undei de șoc.

În timp ce goliți în același timp ecranul, readuceți variabila pistolului la poziția inițială implicită și aplicați o pauză înainte de a comenta din nou jocul.

Dacă endgamecount = 3 se apelează funcția de explozie și după aceasta se afișează fața tristă care indică sfârșitul jocului urmat de scorul obținut. Odată ce scorul este eliminat, sunteți gata să reporniți jocul scuturând Micro: bit.

Recomandat: