Cuprins:
- Pasul 1: pentru buclă
- Pasul 2: utilizați pentru buclă pentru a rezolva probleme matematice
- Pasul 3: Pentru desenarea buclei
- Pasul 4: utilizați pentru Buclă pentru a desena un punct rotund aleatoriu
- Pasul 5: utilizați pentru Buclă pentru a desena linie
- Pasul 6: Pentru Buclă imbricată
- Pasul 7: În timp ce Buclați
- Pasul 8: Sursă
Video: Ghiduri interesante de programare pentru proiectant - Controlul procesului de program - Declarație de buclă: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Controlul procesului de program - Declarație de buclă
Din acest capitol, veți lua legătura cu o declarație importantă și puternică de punct de cunoștințe - Buclă.
Înainte de a citi acest capitol, dacă doriți să desenați 10 000 de cercuri în program, nu puteți face decât cu o metodă teribilă. Adică să scrieți 10 000 de linii de cod elipsă. Acei designeri de cod leneși care doresc să îmbunătățească eficiența prin toate mijloacele, cu siguranță nu ar permite acest lucru. Deci, se creează instrucțiunea buclă. Cu această afirmație, puteți simți intuitiv puterea automatizării computerului.
Pasul 1: pentru buclă
Există o mulțime de instrucțiuni de buclă, printre care cea mai utilizată este For Loop. Știm cu toții că extragerea funcției funcționează continuu în circulație. Începeți de la prima propoziție la început, se va implementa de sus în jos până la ultima propoziție. După ce a terminat o operație, va începe din nou de la prima propoziție. For statement este un pic similar cu funcția draw. Codul din instrucțiune poate fi executat în mod repetat.
Iată structura sa gramaticală:
Pentru (expresia 1; expresia 2; expresia 3) {
Corpul buclei
}
Evident, propozițiile din corpul buclei sunt ceea ce ne așteptam să fie implementate în mod repetat. Expresia 1 este utilizată pentru inițializarea și atribuirea primei valori variabilei de buclă. Expresia 2 este pentru starea buclei. Expresia 3 va actualiza valoarea variabilă a buclei.
Ce este bucla variabilă? Este de fapt echivalent cu o variabilă locală. Să aruncăm o privire a unei scrieri complete.
for (int i = 0; i <10; i ++) {
Corpul buclei
}
Pentru a realiza funcția buclă, instrucțiunea for se bazează în principal pe o variabilă locală, care va fi utilizată la terminarea buclei. Variabila locală din exemplul de mai sus este i. Expresia 1 a finalizat inițializarea variabilei locale. Mai târziu, de fiecare dată când bucla funcționează o singură dată, această variabilă trebuie actualizată. Printre exemplul de mai sus, i ++ în expresia 3 este folosit pentru a realiza funcția de actualizare. Prin intermediul acesteia, variabila va crește 1 de fiecare dată când se actualizează. În cele din urmă, codul din corpul buclei nu se poate bucla la nesfârșit, altcineva din urmă aceste instrucțiuni nu pot fi executate. Astfel, avem nevoie de o stare terminală. Express 2 este doar pentru asta. Aici, programul va evalua dacă i este mai mic de 10. Dacă este, apoi continuați să operați. Dacă nu este, atunci săriți din buclă.
Prin urmare, secvența de operație a instrucțiunii for este exact așa.
Expresia 1 (inițializarea variabilei locale)
Expresia 2 (Satisfăcut, apoi continuați să funcționați)
Corpul buclei (prima circulație)
Expresia 3 (Actualizare)
Expresia 2 (Satisfăcut, apoi continuați să funcționați)
Corpul buclei (a doua circultație)
Expresia 3 (Actualizare)
Expresia 2 (Satisfăcut, apoi continuați să funcționați)
Corpul buclei (a treia circulație) …
Expresia 3 (Actualizare)
Expresia 2 (Nu este mulțumită, apoi sare din buclă)
Puteți simula această secvență de execuție în capul dvs. de mai multe ori. Dar este imposibil să înțelegeți cu adevărat codul fără să îl tastați o dată cu mâna. Când vrem să aflăm un concept ciudat, putem imprima valoarea în consolă prin instrucțiunea println.
Exemplu de cod (5-1): setare nulă () {
for (int i = 0; i <10; i ++) {
println ("rula");
}
}
Puteți număra numărul de ieșiri executate în consolă. Aici este exact 10. Aceasta vă arată de câte ori a fost executat codul din corpul buclei. Cu toate acestea, încă nu putem detecta ce modificări s-au întâmplat de fapt în buclă. Așa că putem încerca să schimbăm caracterul „rulează în variabila„ i”și să vedem ce se va întâmpla.
Exemplu de cod (5-2): setare nulă () {
for (int i = 0; i <10; i ++) {
println (i);
}
}
Acum, putem vedea că valoarea i în corpul buclei crește continuu. Mai târziu, putem folosi această valoare pentru a înțelege procesul curent al buclei.
În exemplul de cod (5-2), valoarea lui i se schimbă de la 0 la 9. Comparativ cu timpul real al buclei, se pare că are întotdeauna 1 mai puțin. Dacă nu vă obișnuiți cu ea, expresia din paranteză pentru for statement poate fi scrisă la următoarele:
for (int i = 1; i <= 10; i ++)
Astfel, i corespunde în mod corect timpilor de buclă. Semnificația „<=” este mai mică decât și egală cu. Deci, atunci când i este egal cu 10, va îndeplini în continuare condiția. Prin urmare, va funcționa încă o dată în comparație cu a fi scris în i <10. Deși începe de la 1, timpii de buclă sunt încă 10. Desigur, dacă nu este nevoie de nimic special, aș dori să vă sugerez să adoptați metoda de scriere în exemplu la început. Mai târziu vă vom introduce vectorul sau matricea, ambele obținându-și elementul prin indicele său. Și indicii impliciți încep de la 0. Pentru a defini valoarea inițială a fi 0 este practica relativ comună.
În exemplul de mai sus, dacă scriem i este peste 0, programul se va prăbuși. Deoarece variabila este în continuă creștere, nu va satisface niciodată această condiție. Este ca și cum nu poate fi oprit niciodată, astfel încât programul să ruleze într-o buclă nesfârșită.
Variabilele locale din instrucțiunea for nu pot declara doar tipuri de plastic, ci și declara variabile în tipuri cu virgulă mobilă. De exemplu, poate fi scris ca (float i = 0; i <10; i + = 0,02).
Pasul 2: utilizați pentru buclă pentru a rezolva probleme matematice
Vă mai amintiți o poveste a matematicianului Gauss în copilăria sa? La acea vreme, Guass avea 10 ani. Profesorul său a vrut să atribuie o sarcină în clasă și întrebarea a fost
1+2+3+4……+97+98+99+100=?
Dacă calculezi cu mâinile, îți va lua mult timp. Dar Guass pare să fi descoperit deja metoda de însumare a secvenței aritmetice. Așadar, imediat după ce a fost pusă întrebarea, el a rostit cu ușurință răspunsul, care îl surprinsese foarte mult pe profesorul său.
Acum, este posibil să nu ne mai amintim care este însumarea secvenței aritmetice, dar putem obține răspunsul într-un mod primitiv și violent. Și asta este pentru buclă. Deoarece este doar o mică bucată de tort pe care computerele o pot număra, trebuie să descriem întrebarea într-un limbaj care poate fi recunoscut de computer, apoi putem obține cu ușurință răspunsul nostru.
Exemplu de cod (5-3):
configurare nulă () {
int răspuns = 0;
pentru (int i = 1; i <= 100; i ++) {
raspunde + = i;
}
println (răspuns);
}
Cred că rezultatul obținut este același cu răspunsul raportat de Guass: este 5050!
Sfaturi: numele variabilelor locale din buclă poate fi schimbat după bunul plac, cu condiția să respecte regulile de numire a variabilelor. Îl puteți scrie (int k = 1; k <= 100; k ++). Dacă nu s-au întâmplat condiții speciale, implicit i este numele variabilei.
Pasul 3: Pentru desenarea buclei
După o serie de așternuturi aparent plictisitoare, în cele din urmă putem intra într-o secțiune mai interesantă. Adică pentru a folosi bucla pentru a desena imagini. Putem lăsa deoparte acele obositoare calcule matematice acum. Noi, designerii, suntem mai sensibili la grafică.
Utilizați pentru buclă pentru a desena o matrice de cercuri
Când vrem să folosim pentru buclă pentru a reprezenta un grup de elemente repetate, trebuie să ne asigurăm în prealabil de relația numerică a acestor elemente, apoi putem folosi pentru buclă pentru a o realiza în mod convenabil în loc să facem repetări masive. Să presupunem că dacă vrem să trasăm un rând de cerc răspândit în mod egal în direcție orizontală. Coordonatele sale virtuale sunt neschimbate în timp ce coordonatele sale orizontale sunt schimbate. Și de la stânga la dreapta, coordonatele orizontale sunt în continuă creștere, iar distanța în creștere este aceeași. În acest moment, putem folosi i in for loop pentru a obține coordonatele orizontale ale fiecărui cerc.
Exemplu de cod (5-4): setare nulă () {
dimensiune (700, 700);
fundal (83, 51, 194);
noStroke ();
}
draw nul () {
for (int i = 0; i <7; i ++) {
elipsă (50,0 + i * 100,0, înălțime / 2,0, 80,0, 80,0);
}
}
50 reprezintă poziția inițială a primului cerc din stânga. 100 în i * 100 reprezintă distanța în creștere.
Pasul 4: utilizați pentru Buclă pentru a desena un punct rotund aleatoriu
Poziția grafică de mai sus este previzibilă. Acest lucru va reduce la minimum interesul. Putem folosi funcția aleatorie la care ne-am referit în capitolul anterior și să încercăm să o scriem în funcția de desen.
Exemplu de cod (5-5):
configurare nulă () {
dimensiune (700, 700);
fundal (0);
noStroke ();
}
draw nul () {
fundal (0);
for (int i = 0; i <10; i ++) {
float randomWidth = random (60.0);
elipsă (aleatoriu (lățime), aleatoriu (înălțime), aleatoriuLățime, aleatoriuLățime);
}
}
Aici, motivul pentru care poziția cercului clipește continuu se datorează faptului că fiecare funcție de funcționare aleatorie o dată, rezultatul este aleatoriu. Deoarece desenul funcțional este implicit să ruleze 60 de cadre pe secundă, deci fiecare 10 cercuri desenate într-o secundă își vor schimba poziția de 60 de ori. Această bliț rapid face ca imaginea să aibă mai mult de doar 10 cercuri. Schimbarea unei valori simple din program vă va aduce un efect total diferit. Putem schimba timpii buclei prin revizuirea stării terminalului. Starea terminalului din imaginea de mai jos este i <100
- Iată efectul când starea terminalului este i <1000:
- RandomSeed
- Dacă nu vreau ca poziția cercului să fie generată aleatoriu, precum și blițul său, ce pot face? O metodă este de a construi și stoca variabile independente pentru fiecare cerc și de a inițializa aceste variabile în configurare. Atribuiți acestor variabile o valoare aleatorie. Astfel, atunci când folosim funcția de desen în desen, ceea ce am invocat este valoarea stocată în variabile. Nu se va schimba în niciun moment. Pentru a desena 10 cercuri, putem folosi această metodă. Dar dacă vrem să desenăm 1000 de cercuri sau 10.000 de cercuri? Va fi destul de deranjant dacă vom folosi această metodă tradițională pentru a construi aceste variabile și a o denumi. Nu trebuie să învățăm o nouă metodă de construire a variabilelor. Iată o metodă flexibilă care ne poate ajuta să atingem acest obiectiv. Adică să folosiți randomSeed. Acum, să aruncăm o privire asupra efectului său după ce a fost folosit. Exemplu de cod (5-6): [cceN_cpp theme = "dawn"] void setup () {size (700, 700); fundal (0); noStroke ();}
-
draw nul () {
fundal (0);
randomSeed (1);
for (int i = 0; i <10; i ++) {
float randomWidth = random (20,0, 60,0);
elipsă (aleatoriu (lățime), aleatoriu (înălțime), aleatoriuLățime, aleatoriuLățime);
}
} [/cceN_cpp]
În comparație cu codul anterior, nu are modificări, cu excepția modificării razei de cerc de la 10 la peste 30 doar cu o propoziție ofSeedRandom. După adăugarea acestei propoziții, graficul pare să devină static.
Invocați formatul:
randomSeed (a);
Printre acest format, setarea lui este seed. Trebuie să completați un număr întreg (scrieți în P5 valoarea punctului plutitor, nu va merge prost, ci o veți trata ca un număr întreg) în el. Funcția randomSeed este de a seta sămânța pentru valoarea aleatorie. Apoi va genera diferite matrice aleatorii în funcție de semințe diferite. După aceasta, invocăm funcția aleatorie, astfel încât rezultatul returnării să fie definit. Aici, definitul nu este pentru că rezultatul este o valoare definită, ci pentru matricea generată. Adică rezultatul întoarcerii este clar în raport cu vremurile invocatoare.
Exemplu de cod (5-7): [cceN_cpp theme = "dawn"] void setup () {
randomSeed (0);
for (int i = 0; i <5; i ++) {
println (aleatoriu (10));
}
} [/cceN_cpp]
Acum continuăm să folosim println pentru a face un experiment. După utilizarea randomSeed, de fiecare dată când închideți programul și reporniți programul, acesta va reveni la un șir cu același rezultat. Valoarea va corespunde secvenței unul câte unul. Dacă îl ștergeți, atunci de fiecare dată va reveni la o valoare diferită. De ce are această setare? Din cauza valorii aleatorii în sine, programul este pseudoaleator. Rezultatul pare aleatoriu, dar de fapt este generat de o metodă de calcul fixă și repetabilă. Este echivalent cu desemnarea unei valori primitive pentru randomSeed, apoi următorul rezultat va fi calculat în funcție de această sămânță. Cu toate acestea, dacă nu desemnăm sămânța, programul va folosi implicit ora actuală a sistemului pentru a genera semințe. Prin urmare, rezultatul fiecărei operații este diferit. Exemplul de mai jos vă poate ajuta să înțelegeți mai bine randomSeed.
Exemplu de cod (5-8): [cceN_cpp theme = "dawn"] void setup () {
dimensiune (700, 700);
fundal (0);
noStroke ();
}
draw nul () {
randomSeed (1);
for (int i = 0; i <10; i ++) {
float randomWidth01 = random (10, 60);
elipsă (aleatoriu (lățime), aleatoriu (înălțime), randomWidth01, randomWidth01);
println (randomWidth01);
}
randomSeed (1);
for (int i = 0; i <10; i ++) {
float randomWidth02 = random (10, 60);
elipsă (aleatoriu (lățime), aleatoriu (înălțime), randomWidth02, randomWidth02);
println (randomWidth02);
}
} [/cceN_cpp]
Încercați să revizuiți al doilea randomSeed (1) cu randomSeed (0) și comparați rezultatele finale.
Sfaturi: în P5, trebuie să invocăm funcția noLoop doar la sfârșitul extragerii, astfel încât să putem obține același efect. Funcția sa este de a termina programul. Este destul de diferit de principiile de lucru de mai sus din natură.
Pasul 5: utilizați pentru Buclă pentru a desena linie
După ce am însușit utilizarea randomSeed, putem încerca să schimbăm funcția de desen. De exemplu, schimbați desenul cercului în desen liniar. Doar dacă proiectăm unele reglementări în schimbare până la sfârșitul liniei, putem folosi o mulțime de linii împletite pentru a crea un model unic.
Exemplu de cod (5-9):
[cceN_cpp theme = "dawn"] void setup () {
dimensiune (700, 700);
fundal (0);
}
draw nul () {
randomSeed (0);
for (int i = 0; i <2000; i ++) {
float x1 = lățime / 2.0;
float x2 = aleatoriu (50,0, 650,0);
accident vascular cerebral (255, 20);
linie (x1, 50, x2, 650);
}
} [/cceN_cpp]
Creați o pensulă simplă
Înapoi la buclă din nou. Exemplele de mai sus nu sunt interactive. Dacă dorim ca rezultatul să devină mai interesant, nu putem uita să combinăm mouseX și mouseY în codul nostru.
Exemplu de cod (5-10):
[cceN_cpp theme = "dawn"] void setup () {
dimensiune (700, 700);
fundal (255);
noStroke ();
}
draw nul () {
for (int i = 0; i <1000; i ++) {
umplere (0, 30);
float x = mouseX + random (-50, 50);
float y = mouseY + random (-50, 50);
elipsa (x, y, 2, 2);
}
} [/cceN_cpp]
Se creează o perie „puncte de împrăștiere”. Deoarece fiecare mini-punct rotund intensiv se bazează pe poziția mouse-ului, acesta poate deplasa direcții limitate din cele patru direcții din stânga, dreapta, în sus și în jos. Deci, forma finală a răspândirii periei este similară cu un pătrat.
Exemplu de cod (5-11):
[cceN_cpp theme = "dawn"] void setup () {
dimensiune (700, 700);
fundal (255);
noStroke ();
}
draw nul () {
for (int i = 0; i <1000; i ++) {
raport float = mouseX / (float) lățime;
float x = mouseX + random (-50, 50);
float y = mouseY + random (-50, 50);
umplere (0, raport * 255, 255 * (1 - raport), 30);
elipsa (x, y, 2, 2);
}
}
[/cceN_cpp]
Dacă folosim valoarea mouseX pentru a afecta culoarea de umplere, atunci vom obține un gradient de culoare mult mai magic.
Pasul 6: Pentru Buclă imbricată
Bucla For poate fi imbricată. Puteți scrie din nou o buclă for în bucla for. Când trebuie să desenați o matrice de puncte bidimensională, puteți alege această metodă.
Exemplu de cod (5-12):
[cceN_cpp theme = "dawn"] void setup () {
dimensiune (700, 700, P2D);
fundal (202, 240, 107);
}
draw nul () {
umplere (0);
for (int i = 0; i <5; i ++) {
for (int j = 0; j <5; j ++) {
float x = 150 + i * 100;
plutitor y = 150 + j * 100;
elipsa (x, y, 60, 60);
println (i + ":" + j);
}
}
}
[/cceN_cpp]
Pentru a utiliza bucla imbricată pentru prima dată, trebuie să-i dai seama de relațiile logice. Implementarea codului în program este întotdeauna de sus în jos. Prin urmare, primul implementat este cu siguranță cea mai extremă buclă. De fiecare dată când bucla exterioară funcționează o singură dată, bucla internă va funcționa continuu până când nu mai poate satisface condiția. După aceea, va începe a doua operație de buclă exterioară. După începerea celei de-a doua operații, bucla internă va continua pe instrument până când nu poate satisface condiția. O astfel de repetare o face până când nu se pot îndeplini toate condițiile și sări din buclă.
În codul de mai sus, corpul buclei din bucla exterioară a funcționat în total de 5 ori, în timp ce corpul buclei din bucla internă a funcționat de 25 de ori. În termen de 25 de ori, conform diferenței dintre valoarea i, j, putem asigura coordonatele orizontale și verticale ale cercului separat. Am încorporat o secțiune de tipărire, puteți observa ieșirea datelor și vă puteți gândi la schimbarea acesteia. Doar cu două bucle imbricate, putem experimenta toate combinațiile de date i, j.
sfaturi
Pentru bucla din al doilea strat se condensează de obicei cu Tab la început. Acest lucru poate face structura codului mai clară. Trebuie să denumiți variabilele locale în cele două straturi ale buclei for cu nume diferite. Printre acestea, „i”, „j”, „k” sunt cele mai utilizate.
Utilizare flexibilă „i”, „j”
Numele celor două variabile ale „i”, „j” reprezintă variabile locale ale celor două straturi ale buclei for. Exemplul de mai jos vă va aprofunda înțelegerea pentru „i” „j”. În funcție de valoarea diferită a „i”, „j”, putem introduce parametri pentru a grupa elementele.
Exemplu de cod (5-13): [cceN_cpp theme = "dawn"] void setup () {
dimensiune (700, 700);
fundal (0);
noStroke ();
}
draw nul () {
fundal (0);
umplutură (250, 233, 77);
for (int i = 0; i <7; i ++) {
for (int j = 0; j <7; j ++) {
pushMatrix ();
traducere (50 + i * 100, 50 + j * 100);
// Setarea 1
// float angle = sin (millis () / 1000.0) * PI / 2;
// Setarea 2
// raport float = i / 7,0;
// float angle = sin (millis () / 1000,0 + raport * (PI / 2)) * PI / 2;
// Setarea 3
raport float = (i * 7 + j) /49,0;
unghi de plutire = sin (milis () / 1000,0 + raport * (PI / 2)) * PI / 2;
rotire (unghi);
rectMode (CENTER);
// Desenați imaginea 1
rect (0, 0, 80, 80);
// Desenați imaginea 2
// rect (0, 0, 100, 20);
// Desenați imaginea 3
// rect (0, 0, raport * 50);
popMatrix ();
}
}
} [/cceN_cpp]
Explicarea codului
rectMode (CENTER) poate schimba metoda de desenare a pătratului. Primii doi parametri oringinali ai rectului sunt utilizați pentru a defini coordonatele colțului din stânga sus al pătratului. După ce începem această comandă, acești doi parametri vor fi folosiți pentru a seta coordonatele pentru punctul central pătrat. Deoarece aici operăm rotația paterrn prin rotire, deci trebuie să folosim această metodă pentru a atrage punctul central către punctul original al coordonatei.
milis () dobândește timpul de la începutul programului până în prezent. Unitatea este ms. Această valoare va influența viteza de schimbare a valorii de ieșire sin. Dacă scriem în mod direct milis, scala de schimbare este prea mare. Astfel, trebuie să-l împărțim la 1000.0.
În această secțiune de cod, folosim simbolul de comentariu „//” pentru a ascunde mai multe setări. Puteți schimba efectele pornind sau închizând. De exemplu, dacă începem propoziții în spatele „Setării 3”, trebuie să folosim simbolul de comentariu pentru a închide blocurile de coduri în „Setarea 1” și „Setarea 2”. În ceea ce privește exemplele acestei structuri de programe similare cu diferite variabile locale, putem scrie în acest format. Astfel, nu trebuie să stocăm mai multe documente de inginerie separat. Putem folosi această abilitate adesea în timpul practicii și al creației și să păstrăm unele setări satisfăcătoare ale parametrilor.
Printre acestea, influența valorii i, j asupra programului este reprezentată în principal de schimbarea „Setării 1 (Setarea 2) (Setarea 3)”. Puteți compara rezultatele rezultatelor de mai jos.
Desenați imaginea 1: Setarea 1
Desenați imaginea 1: Setarea 2
Desenați imaginea 1: Setarea 3
Desenați imaginea 2: Setarea 1
Desenați imaginea 2: Setarea 2
Desenați imaginea 2: Setarea 3
În setarea 1, nu am folosit i și j pentru a influența unghiul de rotație al fiecărui element. Astfel putem vedea mișcarea fiecărui element este aceeași. În timp ce în setarea 2, am folosit valoarea i și ambele i și j în setarea 3. În cele din urmă, acestea au influențat intrarea parametrilor funcției sin prin raport. Acest lucru a schimbat schimbarea periodică a unghiului. Datorită efectului real al setării 2 și setării 3 nu este atât de evident în grafica animată, îl putem observa din următoarea captură de ecran.
Desenați imaginea 2 (Stânga: Setarea 2; Dreapta: Setarea 3)
Desenați imaginea 3 (Stânga: Setarea 2; Dreapta: Setarea 3)
În prima imagine, raportul este utilizat pentru a afecta unghiul de rotire pătrat. În timp ce a doua imagine, este menită să controleze direct raza cercului. Putem vedea că a folosit propoziția i value:
raport de plutire = i / 7,0;
Schimbarea elementului său vertical este constantă. Deoarece coordonatele orizontale pentru controlul imaginii depind doar de valoarea lui i, așa că modelele cu aceeași coordonată orizontală vor fi aceleași. Și valoarea raportului, unghiul de rotație și raza cercului sunt la fel.
În același timp, folosim propoziția i, j:
raport float = (i * 7 + j) /49,0;
Poate descrie „gradient”. Aici, cu metoda de multiplicare a unui factor, a combinat influența rândurilor și coloanelor. Deci fiecare element este diferit.
Pasul 7: În timp ce Buclați
Există un frate pentru buclă. Aceasta este în timp ce bucla. Ce poate face bucla, în timp ce bucla o poate face și ea. Dar frecvența de utilizare a buclei while în creativeCoding nu este mare ca la buclă.
Exemplu de cod (5-14): [cceN_cpp theme = "dawn"] void setup () {
int a = 0;
while (a <10) {
println (a);
a ++;
}
} [/cceN_cpp]
Structura gramaticală a lui while este mai ușor de înțeles decât pentru. Putem crea variabile înainte de declarație while. Apoi completați o expresie între paranteză pătrată. Când este satisfăcut, atunci operați propozițiile în corpul buclei. În cele din urmă, punem o expresie în corpul buclei pentru a actualiza variabilele, apoi în timp ce bucla este terminată. În ceea ce privește duratele de buclă asigurate, le folosim adesea pentru buclă. În ceea ce privește valoarea variabilă nedefinită, vă recomandăm să utilizați bucla while.
Gândi:
Încercați să utilizați tot felul de elemente de bază pentru a înlocui elementele de desen în buclă pentru a crea diverse perii diferite.
Combinați cu funcția trigonometrică menționată în ultimul capitol, încercați să revizuiți peria „puncte de împrăștiere” în perie cu formă rotundă.
Încercați să creați o matrice de puncte bidimensională numai cu o buclă for.
Previzualizarea capitolului următor La fel ca la acest curs, veți găsi fiecare cunoștință nouă pe care o învățați, posibilitatea de a juca va crește foarte mult în mod imediat. Programul este o cutie Pandora. Tot ce îți poți imagina, o poate face pentru tine. Deci, nu există niciun motiv pentru care să nu învățăm această limbă care poate comunica cu computerele. În următorul nostru capitol, vom introduce o altă declarație de control al procesului, dacă vi se pare. Poate controla fluxul procesului și poate genera rezultate mai complicate și mai schimbătoare. Cu declarația if, vă puteți crea propriile jocuri de aventură text cu ușurință! Acest articol vine de la designerul Wenzy. Lecturi relative: Ghid de programare interesant pentru designer - Prelucrare tactilă inițială Ghid de programare interesant pentru designer - Creați primul dvs. program de procesare Ghid de programare interesant pentru designer –Funcționează-ți imaginea (Partea I) Indicații interesante de programare pentru designer – Pune-ți fotografia în funcțiune (Partea a doua)
Pasul 8: Sursă
Acest articol provine de la:
Dacă aveți întrebări, puteți contacta : [email protected].
Recomandat:
Cum să modificați un servo pentru a obține feedback în buclă închisă: 7 pași
Cum să modificați un servo pentru a obține feedback în buclă închisă: ► În timp ce conduceți un servo cu un microcontroler (ca Arduino), îi puteți oferi numai ordine de locație țintă (în semnal PPM). Cu această comandă, servo se va deplasa la această țintă Locație. Dar nu este instantaneu! Nu știi exact când
Îndrumări de programare interesante pentru designer - Pune-ți fotografia în funcțiune (partea a doua): 8 pași
Îndrumări de programare interesante pentru designer - Pune-ți fotografia în funcțiune (partea a doua): Matematica, pentru majoritatea dintre tine, pare inutilă. Cel mai frecvent utilizat în viața noastră de zi cu zi este doar să adunăm, să scădem, să înmulțim și să împărțim. Cu toate acestea, este destul de diferit dacă puteți crea cu programul. Cu cât știți mai multe, cu atât veți obține un rezultat mai minunat
Controler pentru 3 antene cu buclă magnetică cu comutator de oprire: 18 pași (cu imagini)
Controler pentru 3 antene cu buclă magnetică cu comutator de oprire: Acest proiect este destinat acelor amatori de șuncă care nu au una comercială. Este ușor de construit cu un fier de lipit, o carcasă din plastic și puține cunoștințe despre arduino. Controlerul este realizat cu componente bugetare pe care le puteți găsi cu ușurință pe Internet (~ 20 €)
Ghiduri interesante de programare pentru procesare pentru Designer - Încărcare media și eveniment: 13 pași
Ghiduri interesante de programare pentru procesare pentru Designer - Încărcare media și eveniment: Procesarea poate încărca o mulțime de date externe, printre care există trei tipuri foarte frecvent utilizate. Sunt imagini, audio și video separat. În acest capitol, vom vorbi despre cum să încărcați audio și video în detaliu, combinând cu evenimentul
Îndrumări de programare interesante pentru designer - Pune-ți fotografia în funcțiune (prima parte): 16 pași
Îndrumări de programare interesante pentru designer - Pune-ți fotografia în funcțiune (prima parte): Fugi! Alerga! Fugi! Programarea nu este atât de dificilă. Punctul cheie este să-ți găsești ritmul și să-l faci unul câte unul. Înainte de a citi acest capitol, sper că v-ați familiarizat deja cu metoda de desenare a funcției de bază sau vă veți simți amețit și confuz