Curs Avansat de Dezvoltare Python
Capitolul
>
Nivel
Asincron/Aștept
Citirea mesajelor
Obiectiv
Verifică dacă numerele articolelor din cramă sunt corecte folosind funcția read() și fă un inventar al stocului rămas.
Crama are mai multe lăzi cu sticle de vin, acestea fiind destinate să fie mutate la etaj pentru distribuție. În depozit, mesele vor avea note cu comenzi, iar lângă ele vor fi lăzi care conțin sticlele. Trebuie să verifici dacă numărul de sticle din fiecare ladă se potrivește cu cel de pe note și să completezi articolele lipsă.
Mai întâi, adună sticlele împrăștiate din camera de vin, astfel încât să le ai la îndemână pentru a suplimenta articolele lipsă din comenzi. Există trei (3) tipuri de sticle de vin; odată adunate, creează variabile pentru ele astfel: empty_bottles, purple_bottles, yellow_bottles și stochează numărul colectat pentru fiecare în variabilele respective.
După ce revendici toate sticlele din câmp, mergi spre marcajele X luminoase din interiorul depozitului și îndreaptă-te spre note. Folosește funcția read() pentru a citi informațiile de comandă de pe notă, activând un pop-up. Similar cu funcția write(), funcția read() este o funcție async care necesită await înainte ca codul să fie rulat, astfel: await player.read().
Notele sunt codificate pe culori, în funcție de covoarele de dedesubt; odată ce ai aflat numerele comenzilor, mergi la marcajele X întunecate din fața lăzilor codificate pe culori și folosește funcția speak() pentru a verifica conținutul fiecărei lăzi. Există trei (3) constante corespunzătoare fiecărei lăzi: green_crate, blue_crate și red_crate.
Verifică dacă conținutul fiecărei lăzi corespunde cu cel de pe nota de pe covorul de culoare corespunzătoare. Dacă există articole lipsă în lăzi, conform notei, adaugă-le în lăzile respective. Creează variabile: empty_missing, purple_missing și yellow_missing și adaugă numărul de articole lipsă la conținutul lăzii.
După ce ai setat variabilele, folosește funcția place() pentru a adăuga sticlele lipsă în lăzi, de exemplu: player.place(empty_missing). După ce ai completat toate articolele, mergi la marcajul X de culoare aurie și write() un inventar al tuturor sticlelor rămase care nu au fost depozitate.
O schiță a mesajului va fi scrisă în editorul de cod, stabilește cantitățile corecte pentru fiecare din sticlele rămase nedepozitate, scăzând cele două variabile pe care le-ai creat, de exemplu: empty_bottles-empty_missing. După ce vei fi contabilizat toate articolele rămase, vei fi finalizat nivelul.