M5 | L11 – Structura Daca/IF II

Astăzi vom afla despre:

  • Structura IF, variabile BOOL, operatori logici, structura IF/ELSE

Aplicațiile pe care le vom folosi sunt:

Khan Academy

PROIECTE:

Buton

Buton inteligent

Carti

Minge magica

Khan Editor : https://www.khanacademy.org/computer-programming/new/pjs

Cod de inceput:

// let’s play 4 square!

draw = function() {

    fill(204, 204, 204);

    rect(0, 0, 200, 200); // top left

    rect(200, 0, 200, 200); // top right

    rect(0, 200, 200, 200); // bottom left

    rect(200, 200, 200, 200); // bottom right

    fill(0, 0, 0);

    ellipse(mouseX, mouseY, 30, 30);

};

Final:

 

Acum să vorbim despre condiții mai complexe pe care le puteți verifica cu programele dvs. Pentru a demonstra, am configurat ecranul pentru a arăta ca un joc vechi Foursquare. Există patru pătrate, iar tu stai într-una și îți dai mingea la celelalte pătrate. Așa că acum voi desena o elipsă oriunde ar fi mouse-ul meu, așa că este ca mingea noastră

Ceea ce vreau să fac este să evidențiez pătratul în care se află mingea, trasând un dreptunghi alb deasupra acestuia. Știu că am nevoie de o declarație <i> IF </i> pentru a face asta, pentru că vreau să o fac doar pe rând, doar când sunt deasupra dreptunghiului respectiv

Voi copia doar rectul de acolo, dar îi voi da o umplere diferită, o umplutură alba. Acum să-l înfășurăm cu un <i> IF </i>

Când vreau să colorez acel dreptunghi? Ei bine, știu că vreau să o fac când mouse-ul x este mai mic de 200 <i> (mouseX <200) </i> și la fel cu <i> mouseY </i> Ei bine, cum pot verifica <i> Ambele </i> lucruri?

De aceea avem operatorul „ȘI”. Operatorul SI îl folosim atunci când dorim să verificăm condiții multiple. Deci, scriem doar <i> && </i> și apoi ne scriem condițiile. Pentru celalat patrat de sus, de data aceasta, mouseX trebuie să fie mai mare de 200 și mouseY încă mai mic de 200

Acum vreau sa fac ca atunci cand mingea atinge marginile sa se strige “EDGE BALL”. Să începem prin a-l scrie „EDGE BALLL”. Și să scriem în mijloc și să-l facem roșu. Conditia va fi atunci cand mouseX va atinge marginile de mijloc adica mouseX == 200. Vrem sa funtioneze si pe marginea orizontala. In acest caz, vreau mouseY == 200, pentru că asta este linia de mijloc. Daca am folosi un SI, conditia va fi adevarata doar dacă AMBELE dintre acestea sunt adevărate și se va întâmpla doar în centru.

Deci, ceea ce vreau să spun este, FIE că una dintre acestea este adevărată Deci, folosim operatorul OR care arată astfel: „||”

  1. Provocare: Buton

https://www.khanacademy.org/computing/computer-programming/programming/logic-if-statements/pc/challenge-your-first-button

  1. Provocare: Buton Inteligent

https://www.khanacademy.org/computing/computer-programming/programming/logic-if-statements/pc/challenge-smarter-button

  1. If/Else I

Cod de inceput:

// generate a random number between 0 and 1

var number = random(0, 1);

// display the text

fill(0, 0, 0);

textSize(100);

text(number, 100, 232);

Final:

Functia random are doi parametri: o limită inferioară și o limită superioară și vă oferă înapoi un număr aleatoriu undeva între aceste două limite. Deci, aici acest număr variabil va fi undeva între zero și unu. Și apoi vom trage acel număr pe pânză folosind această funcție de text. Deci, dacă apăs reporniți de câteva ori, puteți vedea numerele aleatorii generate. Și veți vedea că precizia acestor numere este la trei zecimale. Așadar, iată o întrebare: Ce se întâmplă dacă aș dori doar să generez un număr care este zero sau unul?

Ei bine, putem folosi această altă funcție numită round, iar aceasta poate lua un număr care poate avea câte zecimale doriți și o rotunjește la cel mai apropiat număr întreg. Așa că voi continua să fac o nouă variabilă numită „întreg” care ca lua valoare unei functii round cu parametrul variabilei random. De asemenea, să desenăm acel „întreg” pe ecran cu funcția noastră de text

Am să desenez o elipsă în mijlocul pânzei noastre și care va fi moneda noastră. Dacă dau un zero, voi arăta fața purpurie a monedei, așa că, pentru a face moneda purpurie, o pot umple cu niște mov. Și dacă dau unu, voi arăta  fața galbenă a monedei. Așa că va fi o monedă violetă și galbenă. Atunci dacă „întreg” este egal cu unul, avem o funcție de umplere diferită și o vom face galbenă.

Acuma putem începe să ne gândim la luarea deciziilor un pic diferit. Adică, dacă „întreg” este egal cu zero, îl vom umple violet, în caz contrar, vom umple galben. Deci vedeți cum nu trebuie să spunem nimic despre faptul că „întreg” este unu în cel de-al doilea caz? Tot ce trebuie să spunem este dacă „întreg” este zero, faceți acest lucru; în caz contrar, faceți asta. Și în programare, modul în care spunem „altfel” este „ElSE”.

Așadar, urmăriți acest lucru: voi înlocui doar a doua condiție if cu cuvântul „ELSE”

  1. If/Else II

 

  1. Provocare: Carti

https://www.khanacademy.org/computing/computer-programming/programming/logic-if-statements/pc/challenge-flashy-flash-card

  1. Proiect: Minge magica

https://www.khanacademy.org/computing/computer-programming/programming/logic-if-statements/pp/project-magic-8-ball