Sisukord:

Huvitavad programmeerimisjuhised disainerile-programmiprotsessi juhtimine-silmuseavaldus: 8 sammu
Huvitavad programmeerimisjuhised disainerile-programmiprotsessi juhtimine-silmuseavaldus: 8 sammu

Video: Huvitavad programmeerimisjuhised disainerile-programmiprotsessi juhtimine-silmuseavaldus: 8 sammu

Video: Huvitavad programmeerimisjuhised disainerile-programmiprotsessi juhtimine-silmuseavaldus: 8 sammu
Video: Система русских падежей. Vene keele käänded. 2024, Juuli
Anonim
Huvitavad programmeerimisjuhised disainerile-programmiprotsesside juhtimine-silmuste avaldus
Huvitavad programmeerimisjuhised disainerile-programmiprotsesside juhtimine-silmuste avaldus

Programmi protsessi juhtimine- silmuse avaldus

Sellest peatükist saate kontakti olulise ja võimsa teadmistepunkti avaldusega.

Enne selle peatüki lugemist, kui soovite programmis joonistada 10 000 ringi, saate seda teha ainult kohutava meetodiga. See tähendab 10 000 rea ellipsikoodi kirjutamist. Need laisad koodidisainerid, kes soovivad tõhusust kõigi vahenditega parandada, kindlasti ei lubaks seda juhtuda. Niisiis, tsükliavaldus luuakse. Selle väitega saate intuitiivselt tunda arvuti automatiseerimise jõudu.

Samm: silmuse jaoks

On palju tsükliväiteid, mille hulgas on kõige laialdasemalt kasutatav For Loop. Me kõik teame, et funktsiooni tõmbamine töötab pidevalt ringluses. Alustage esimesest lausest alguses, see rakendub ülalt alla kuni viimase lause. Pärast operatsiooni lõpetamist algab see uuesti esimesest lausest. Väide sarnaneb natuke funktsiooniga draw. Avalduse koodi saab täita korduvalt.

Siin on selle grammatika struktuur:

Sest (avaldis 1; avaldis 2; avaldis 3) {

Silmuskorpus

}

Ilmselt on silmuskehas olevad laused need, mida ootasime korduvalt. Avaldist 1 kasutatakse silmuse muutuja esimese väärtuse initsialiseerimiseks ja määramiseks. Avaldis 2 on silmusolukorra jaoks. Avaldis 3 värskendab silmuse muutuja väärtust.

Mis on silmuse muutuja? See on tegelikult samaväärne kohaliku muutujaga. Vaatame täielikku kirjutist.

jaoks (int i = 0; i <10; i ++) {

Silmuskorpus

}

Silmusfunktsiooni realiseerimiseks tugineb avaldus peamiselt kohalikule muutujale, mida kasutatakse silmuse lõpetamisel. Ülaltoodud näite kohalik muutuja on i. Avaldis 1 on lõpetanud kohaliku muutuja vormindamise. Hiljem, iga kord, kui tsükkel töötab üks kord, tuleb seda muutujat värskendada. Ülaltoodud näite hulgas kasutatakse värskendusfunktsiooni realiseerimiseks avaldises 3 i ++. Selle kaudu suureneb muutuja iga kord, kui seda värskendatakse, 1 võrra. Lõppkokkuvõttes ei saa silmuse kehas olev kood lõputult loopida, muidu viimaseid avaldusi ei saa täita. Seega vajame terminali tingimust. Express 2 on just selle jaoks. Siin otsustab programm, kas i on alla 10. Kui on, siis jätkake tööd. Kui ei, siis hüppa ringist välja.

Seetõttu on avalduse toimingute järjestus just selline.

Avaldis 1 (kohaliku muutuja initsialiseerimine)

2. avaldis (rahul, siis jätkake tegevust)

Silmuskorpus (esimene ringlus)

Avaldis 3 (värskendus)

2. avaldis (rahul, siis jätkake tegevust)

Silmuskorpus (teine ring)

Avaldis 3 (värskendus)

2. avaldis (rahul, siis jätkake tegevust)

Silmuskorpus (kolmas ringlus)…

Avaldis 3 (värskendus)

Avaldis 2 (pole rahul, siis hüppa ringist välja)

Seda täitmisjärjestust saate oma peas mitu korda simuleerida. Kuid on võimatu sellest koodist päriselt aru saada, kui seda üks kord oma käega sisestada. Kui tahame teada saada kummalist kontseptsiooni, saame printida väärtuse konsoolis println avalduse kaudu.

Koodinäide (5-1): void setup () {

jaoks (int i = 0; i <10; i ++) {

println ("jooksma");

}

}

Saate konsoolis arvutada käivitusväljundite arvu. Siin on see täpselt 10. See näitab, mitu korda on silmuse kehas olev kood täidetud. Siiski ei suuda me siiani tuvastada, millised muutused on ahelas tegelikult toimunud. Nii et võime proovida muuta märki "joosta muutuja" i "ja vaadata, mis juhtub.

Koodinäide (5-2): void setup () {

jaoks (int i = 0; i <10; i ++) {

println (i);

}

}

Nüüd näeme, et silmuse kehas väärtus i kasvab pidevalt. Hiljem saame seda väärtust kasutada silmuse praeguse protsessi mõistmiseks.

Koodinäites (5-2) muudetakse i väärtust 0-lt 9. Võrreldes tegeliku silmusajaga tundub, et sellel on alati 1 vähem. Kui te pole sellega harjunud, võib avalduse sulgudes oleva avaldise kirjutada järgmisele:

jaoks (int i = 1; i <= 10; i ++)

Seega vastab i õigustatult silmusaegadele. "<=" tähendus on väiksem ja võrdne. Nii et kui i on 10, vastab see tingimusele. Seetõttu töötab see veel kord, kui see on kirjutatud i <10 -sse. Kuigi see algab 1 -st, on silmusajad endiselt 10. Muidugi, kui midagi erilist pole vaja, soovitaksin teil kasutada kirjutamismeetodit näide alguses. Hiljem tutvustame teile vektorit või massiivi, mis mõlemad saavad selle elemendi selle alaindeksi järgi. Ja vaikimisi alamindeksid algavad nullist. Algväärtuse 0 määramine on suhteliselt tavaline praktika.

Ülaltoodud näites, kui kirjutame, et i on suurem kui 0, kukub pogram kokku. Kuna muutuja suureneb pidevalt, ei täida see seda tingimust kunagi. See on täpselt nii, nagu seda ei saa kunagi peatada, nii et programm jookseb lõputult.

Kohalikud muutujad avalduses for ei saa mitte ainult deklareerida plastitüüpe, vaid ka deklareerida muutujaid ujukomaga. Näiteks võib selle kirjutada järgmiselt (ujuk i = 0; i <10; i + = 0,02).

2. samm: kasutage silmusena matemaatiliste probleemide lahendamiseks

Kas mäletate veel lugu matemaatik Gaussist lapsepõlves? Sel ajal oli Guass 10 -aastane. Tema õpetaja tahtis klassis ülesande määrata ja küsimus oli

1+2+3+4……+97+98+99+100=?

Kui arvutate oma kätega, võtab see palju aega. Kuid tundub, et Guass on juba aritmeetilise jada summeerimise meetodi välja mõelnud. Nii et just pärast küsimuse esitamist lausus ta vastuse kerge vaevaga, mis oli tema õpetajat väga üllatanud.

Nüüd ei pruugi me veel mäletada, mis on aritmeetilise jada summeerimine, kuid saame vastuse primitiivsel ja vägivaldsel viisil. Ja see on silmuse jaoks. Kuna arvutite arvutamiseks on see vaid väike tükk, peame küsimuse kirjeldama keeles, mida arvuti saab ära tunda, siis saame hõlpsalt oma vastuse.

Koodinäide (5-3):

tühine seadistus () {

int vastus = 0;

jaoks (int i = 1; i <= 100; i ++) {

vastus += i;

}

println (vastus);

}

Usun, et saadud tulemus on sama, mis Guass teatas: see on 5050!

Näpunäiteid: silmuse kohalike muutujate nime saab soovi korral muuta tingimusel, et see järgib muutujate nimetamise eeskirju. Saate selle kirjutada järgmiseks (int k = 1; k <= 100; k ++). Kui mingeid eritingimusi ei juhtunud, on vaikimisi muutuja nimeks i.

3. samm: silmuste joonistamine

Pärast seeriat näiliselt igavat voodipesu saame lõpuks jõuda huvitavama rubriigini. Seda kasutatakse piltide joonistamiseks silmusena. Võime need tüütud matemaatilised arvutused nüüd kõrvale jätta. Meie, disainerid, oleme graafika suhtes tundlikumad.

Kasutage ringjoone joonistamiseks silmuse jaoks

Kui me tahame kasutada tsüklit korduvate elementide rühma tähistamiseks, peame eelnevalt veenduma nende elementide arvulises seoses, siis saame kasutada tsüklit, et seda mugavalt realiseerida, selle asemel et teha massilist kordustööd. Oletame, et tahame joonistada ringjoone horisontaalsuunas võrdselt laiali. Selle virtuaalne koordinaat on muutumatu, samal ajal kui horisontaalne koordinaat on muutunud. Ja vasakult paremale suureneb horisontaalne koordinaat pidevalt ja kasvav kaugus on sama. Praegu saame iga ringi horisontaalse koordinaadi saamiseks kasutada tsüklit i in for loop.

Koodinäide (5-4): void setup () {

suurus (700, 700);

taust (83, 51, 194);

noStroke ();

}

tühine viik () {

jaoks (int i = 0; i <7; i ++) {

ellips (50,0 + i * 100,0, kõrgus/2,0, 80,0, 80,0);

}

}

50 tähistab vasakul oleva esimese ringi stardipositsiooni. 100 i * 100 -s tähistab kasvavat kaugust.

Samm: kasutage silmuse jaoks juhusliku ümmarguse punkti joonistamiseks

Ülaltoodud graafiline asukoht on etteaimatav. See minimeerib palju huvi. Võime kasutada eelmises peatükis viidatud juhuslikku funktsiooni ja proovida seda joonistusfunktsiooni kirjutada.

Koodinäide (5-5):

tühine seadistus () {

suurus (700, 700);

taust (0);

noStroke ();

}

tühine viik () {

taust (0);

jaoks (int i = 0; i <10; i ++) {

float randomWidth = juhuslik (60,0);

ellips (juhuslik (laius), juhuslik (kõrgus), juhuslik laius, juhuslik laius));

}

}

Siin on põhjus, miks ringi asukoht pidevalt vilgub, sest iga kord juhuslik funktsioon töötab üks kord, tulemus on juhuslik. Kuna funktsioonide joonistamine on vaikimisi käivitatud 60 kaadrit sekundis, muudab iga sekundi jooksul joonistatud 10 ringi oma positsiooni 60 korda. Selle kiire välguga tundub, et pildil on rohkem kui 10 ringi. Lihtsa väärtuse muutmine programmis annab teile täiesti erineva efekti. Me saame silmuste aegu muuta, vaadates üle terminali oleku. Terminali seisukord alloleval pildil on i <100

  1. Siin on efekt, kui terminali tingimus on i <1000:
  2. RandomSeed
  3. Mida ma teha saan, kui ma ei taha, et ringi asukoht ja juhuslikult genereeritakse juhuslikult? Üks meetod on luua ja salvestada iga ringi jaoks sõltumatud muutujad ning lähtestada need muutujad seadistamisel. Määrake neile muutujatele juhuslik väärtus. Seega, kui joonistamisfunktsiooni joonistamisel kasutada, kutsusime esile muutujatesse salvestatud väärtuse. See ei muutu ühelgi hetkel. 10 ringi joonistamiseks saame seda meetodit kasutada. Aga mis siis, kui tahame joonistada 1000 ringi või 10 000 ringi? See on üsna tülikas, kui kasutame seda traditsioonilist meetodit nende muutujate loomiseks ja selle nimetamiseks. Me ei pea õppima uut muutujate koostamise meetodit. Siin on paindlik meetod, mis aitab meil seda eesmärki saavutada. See tähendab, et kasutada randomSeed. Nüüd vaatame selle mõju pärast kasutamist. Koodinäide (5-6): [cceN_cpp theme = "dawn"] void setup () {suurus (700, 700); taust (0); noStroke ();}
  4. tühine viik () {

    taust (0);

    randomSeed (1);

    jaoks (int i = 0; i <10; i ++) {

    float randomWidth = juhuslik (20,0, 60,0);

    ellips (juhuslik (laius), juhuslik (kõrgus), juhuslik laius, juhuslik laius));

    }

    } [/cceN_cpp]

    Võrreldes varasema koodiga ei ole sellel mingeid muudatusi, välja arvatud see, kui ringjoone raadiuse vahemik muutub 10 -st 30 -ni ja ainult lausega ofSeedRandom. Pärast selle lause lisamist muutub graafika staatiliseks.

    Kutsumise vorming:

    randomSeed (a);

    Selle vormingu hulgas on a seade seeme. Peate täitma täisarvu (kirjutage ujuvpunkti väärtus P5 -sse, see ei lähe valesti, vaid käsitleb seda täisarvuna). Funktsioon randomSeed on määrata seemne juhusliku väärtuse jaoks. Siis genereerib see erineva seemne järgi erineva juhusliku massiivi. Pärast seda kutsume funktsiooni juhuslikult, nii et tagastamise tulemus on kindel. Siin ei ole kindel, et tulemus on kindel väärtus, vaid genereeritud massiivi jaoks. See tähendab, et tagasipöördumise tulemus on kindlaksmääratud aegade suhtes kindel.

    Koodinäide (5-7): [cceN_cpp theme = "dawn"] void setup () {

    randomSeed (0);

    jaoks (int i = 0; i <5; i ++) {

    println (juhuslik (10));

    }

    } [/cceN_cpp]

    Nüüd kasutame katse tegemiseks println -i. Pärast randomSeedi kasutamist naaseb see iga kord programmi sulgemisel ja programmi taaskäivitamisel sama tulemusega stringile. Väärtus vastab järjestusele ükshaaval. Kui selle kustutate, naaseb see iga kord erineva väärtuse juurde. Miks see seade on? Selle põhjuseks on asjaolu, et juhuslik väärtus ise on programmis pseudojuhuslik. Tulemus tundub juhuslik, kuid tegelikult genereeritakse see fikseeritud ja korratava arvutusmeetodi abil. See võrdub randomSeedile primitiivse väärtuse määramisega, siis arvutatakse selle seemne järgi järgmine tulemus. Kui me aga seemet ei määra, kasutab programm vaikimisi seemne genereerimiseks süsteemi praegust aega. Seetõttu on iga toimingu tulemus erinev. Allolev näide aitab teil randomSeedist paremini aru saada.

    Näidiskood (5-8): [cceN_cpp theme = "dawn"] void setup () {

    suurus (700, 700);

    taust (0);

    noStroke ();

    }

    tühine viik () {

    randomSeed (1);

    jaoks (int i = 0; i <10; i ++) {

    float randomWidth01 = juhuslik (10, 60);

    ellips (juhuslik (laius), juhuslik (kõrgus), juhuslik laius01, juhuslik laius01);

    println (juhuslik laius01);

    }

    randomSeed (1);

    jaoks (int i = 0; i <10; i ++) {

    float randomWidth02 = juhuslik (10, 60);

    ellips (juhuslik (laius), juhuslik (kõrgus), juhuslik laius02, juhuslik laius02);

    println (juhuslik laius02);

    }

    } [/cceN_cpp]

    Proovige muuta teine randomSeed (1) randomSeed (0) -ks ja võrrelda lõpptulemusi.

    Nõuanded: P5 -s peame loosimise lõpus vaid funktsiooni noLoop esile kutsuma, et saaksime sama efekti. Selle ülesanne on programm lõpetada. See on looduses üsna erinev ülaltoodud tööpõhimõtetest.

Samm: kasutage joone joonistamiseks silmuse jaoks

Pärast randomSeedi kasutamise õppimist võime proovida joonistusfunktsiooni muuta. Näiteks muutke ringjoonistus joonistusjooneks. Ainult siis, kui kujundame rea lõppu mõned muutuvad eeskirjad, saame ainulaadse mustri tegemiseks kasutada palju põimitud ridu.

Koodinäide (5-9):

[cceN_cpp theme = "dawn"] tühine seadistus () {

suurus (700, 700);

taust (0);

}

tühine viik () {

randomSeed (0);

jaoks (int i = 0; i <2000; i ++) {

ujuk x1 = laius/2,0;

ujuk x2 = juhuslik (50,0, 650,0);

insult (255, 20);

rida (x1, 50, x2, 650);

}

} [/cceN_cpp]

Loo lihtne pintsel

Tagasi silmuse juurde. Ülaltoodud näited ei ole interaktiivsed. Kui tahame tulemust huvitavamaks muuta, ei saa me unustada hiireX ja mouseY oma koodi ühendamist.

Koodinäide (5-10):

[cceN_cpp theme = "dawn"] tühine seadistus () {

suurus (700, 700);

taust (255);

noStroke ();

}

tühine viik () {

jaoks (int i = 0; i <1000; i ++) {

täitke (0, 30);

ujuk x = hiirX + juhuslik (-50, 50);

ujuk y = hiirY + juhuslik (-50, 50);

ellips (x, y, 2, 2);

}

} [/cceN_cpp]

Luuakse hajumispunktide pintsel. Kuna iga intensiivne mini ümmargune punkt asub hiire positsioonil, võib see liigutada piiratud suundi neljast suunast vasakult, paremalt, üles ja alla. Seega on harja lõplik kuju levik sarnane ruuduga.

Koodinäide (5-11):

[cceN_cpp theme = "dawn"] tühine seadistus () {

suurus (700, 700);

taust (255);

noStroke ();

}

tühine viik () {

jaoks (int i = 0; i <1000; i ++) {

ujukisuhe = hiireX/(ujuki) laius;

ujuk x = hiirX + juhuslik (-50, 50);

ujuk y = hiirY + juhuslik (-50, 50);

täitmine (0, suhe * 255, 255 * (1 - suhe), 30);

ellips (x, y, 2, 2);

}

}

[/cceN_cpp]

Kui kasutame täitmisvärvi mõjutamiseks hiireX väärtust, saame palju maagilisema värvigradiendi.

6. samm: silmuspesaga

Sest silmus saab pesastada. For -ahelasse saate uuesti kirjutada for -loopi. Kui peate joonistama kahemõõtmelise punktmaatriksi, saate selle meetodi valida.

Koodinäide (5-12):

[cceN_cpp theme = "dawn"] tühine seadistus () {

suurus (700, 700, P2D);

taust (202, 240, 107);

}

tühine viik () {

täitma (0);

jaoks (int i = 0; i <5; i ++) {

jaoks (int j = 0; j <5; j ++) {

ujuk x = 150 + i * 100;

ujuk y = 150 + j * 100;

ellips (x, y, 60, 60);

println (i + ":" + j);

}

}

}

[/cceN_cpp]

Pesastatud silmuse esmakordseks kasutamiseks peate välja mõtlema selle loogikasuhted. Programmis on koodi rakendamine alati ülevalt alla. Seetõttu on esimene rakendatud kindlasti kõige kaugem silmus. Iga kord, kui välimine silmus töötab üks kord, töötab sisemine silmus pidevalt, kuni see ei suuda enam tingimust rahuldada. Pärast seda käivitab see teise välimise silmuse toimingu. Pärast teise toimingu alustamist jätkab sisemine silmus masinat, kuni see ei suuda tingimust rahuldada. Selline kordamine toimub seni, kuni kõiki tingimusi ei ole võimalik täita ja see hüppab silmusest välja.

Ülaltoodud koodis on välimise ahela silmuskeha töötanud kokku 5 korda, samas kui silmuskeha sisesilmus on töötanud 25 korda. 25 korra jooksul saame vastavalt i, j väärtuse erinevusele kinnitada ringi horisontaalset ja vertikaalset koordinaati eraldi. Olen lisanud trükisektsiooni, saate jälgida andmete väljastamist ja mõelda nende muutumisele. Ainult kahe pesastatud silmusega saame kogeda kõiki i, j andmete kombinatsioone.

Näpunäiteid

Teise kihi silmus kondenseerub tavaliselt alguses Tabiga. See võib muuta koodistruktuuri selgemaks. Peate nimetama silmade kahes kihis kohalikud muutujad erinevate nimedega. Nende hulgas kasutatakse kõige sagedamini "i", "j", "k".

Paindlik kasutamine "i", "j"

Kaks muutuja nime "i", "j" tähistavad silmuse kahe kihi kohalikke muutujaid. Allolev näide süvendab teie arusaamist sõnadest "i" "j". Vastavalt "i", "j" erinevale väärtusele saame elementide rühmitamiseks sisestada parameetreid.

Koodinäide (5-13): [cceN_cpp theme = "dawn"] void setup () {

suurus (700, 700);

taust (0);

noStroke ();

}

tühine viik () {

taust (0);

täitke (250, 233, 77);

jaoks (int i = 0; i <7; i ++) {

jaoks (int j = 0; j <7; j ++) {

pushMatrix ();

tõlkima (50 + i * 100, 50 + j * 100);

// Seade 1

// ujuknurk = sin (millis ()/1000,0) * PI/2;

// Seade 2

// ujukisuhe = i/7,0;

// ujuknurk = sin (millis ()/1000,0 + suhe * (PI/2)) * PI/2;

// Seade 3

ujukisuhe = (i * 7 + j)/49,0;

ujuknurk = sin (millis ()/1000,0 + suhe * (PI/2)) * PI/2;

pöörlema (nurk);

rectMode (KESK);

// Joonista pilt 1

õige (0, 0, 80, 80);

// Joonista pilt 2

// õige (0, 0, 100, 20);

// Joonista pilt 3

// rect (0, 0, suhe * 50);

popMatrix ();

}

}

} [/cceN_cpp]

Koodi selgitus

rectMode (CENTER) saab muuta ruudu joonistusmeetodit. Ruudukujulise vasakpoolse ülanurga koordinaadi määramiseks kasutatakse pärisuunalist endist kahte parameetrit. Pärast selle käsu käivitamist kasutatakse neid kahte parameetrit ruudu keskpunkti koordinaatide määramiseks. Kuna siin kasutame paterrni pöörlemist pööramise kaudu, peame selle meetodi abil joonistama keskpunkti koordinaadi algsesse punkti.

millis () omandab aja programmi algusest kuni praeguseni. Ühik on ms. See väärtus mõjutab sini väljundväärtuse muutuvat kiirust. Kui me kirjutame otse millisi, on muutuv skaala liiga suur. Seega peame selle jagama 1000,0 -ga.

Selles koodijaos kasutame mitme sätte peitmiseks kommentaari sümbolit "//". Efekte saate nihutada käivitamise või sulgemisega. Näiteks kui alustame lauseid "seadistuse 3" taga, peame kasutama kommentaaride sümbolit, et sulgeda koodiseadmed "Seadistus 1" ja "Seade 2". Mis puutub sarnaste programmistruktuuride näidetesse erinevate kohalike muutujatega, siis võime kirjutada selles vormingus. Seega ei pea me mitut tehnilist dokumenti eraldi säilitama. Saame seda oskust sageli kasutada praktika ja loomise ajal ning säilitada mõned rahuldavad parameetrite seaded.

Nende hulgas on i, j väärtuse mõju programmile peamiselt nihutades "Setting 1 (Setting 2) (Setting 3)". Väljundi tulemusi saate võrrelda allpool.

Joonista pilt 1: seadistus 1

Joonista pilt 1: seade 2

Joonista pilt 1: seadistus 3

Joonista pilt 2: seadistus 1

Joonista pilt 2: seade 2

Joonistage pilt 2: seade 3

Seadistuses 1 ei ole me iga elemendi pöördenurga mõjutamiseks kasutanud i ja j. Seega näeme, et iga elemendi liikumine on sama. Seades 2 oleme kasutanud i väärtust ja seadistuses 3 i ja j. Lõpuks on need mõjutanud funktsiooni sin parameetrite sisestamist suhte kaudu. See on muutnud perioodilist nurga muutust. Kuna seadete 2 ja 3 tegelik mõju pole animeeritud graafikas nii ilmne, võime seda jälgida järgmiselt ekraanipildilt.

Joonista pilt 2 (vasakul: seade 2; parem: seade 3)

Joonista pilt 3 (vasakul: seade 2; paremal: seade 3)

Esimesel pildil kasutatakse suhet ruudu pöördenurga mõjutamiseks. Teisel pildil on see mõeldud otse ringi raadiuse juhtimiseks. Näeme, et see on kasutanud i väärtuslauset:

ujukisuhe = i/7,0;

Selle vertikaalse elemendi muutus on järjepidev. Kuna pildi juhtimise horisontaalkoordinaat sõltub ainult i väärtusest, on sama horisontaalse koordinaadiga pattermid samad. Ja suhte, pöördenurga ja ringraadiuse väärtus on samuti sama.

Samal ajal kasutame i, j lauset:

ujukisuhe = (i * 7 + j)/49,0;

See võib kirjeldada "gradienti". Siin on see teguri korrutamise meetodiga ühendanud ridade ja veergude mõju. Nii et iga element on erinev.

7. samm: silmuse ajal

Silma jaoks on vend. See on silmus. Mida saab teha loop, samas kui loop saab seda ka teha. Kuid while -ahela kasutamise sagedus creativeCodingis ei ole kõrge kui loop.

Koodinäide (5-14): [cceN_cpp theme = "dawn"] void setup () {

int a = 0;

samas (a <10) {

println (a);

a ++;

}

} [/cceN_cpp]

Mõne aja grammatilist ülesehitust on lihtsam mõista kui mõista. Võime luua muutujaid enne lauset. Seejärel täitke avaldis nurksulgudes. Kui see on rahuldatud, kasutage lauseid silmuse kehas. Lõpuks paneme muutujate värskendamiseks silmuse kehasse avaldise, seejärel kui tsükkel on lõppenud. Mis puutub kindlatesse ahelaegadesse, siis kasutame sageli silmusena. Määramatu muutuja väärtuse osas soovitame kasutada tsüklit while.

Mõelge:

Proovige erinevate joonistuselementide asendamiseks kasutada igasuguseid põhielemente, et luua erinevaid pintsleid.

Kombineerige eelmises peatükis viidatud trigonomeetrilise funktsiooniga, proovige muuta hajumispunktide harja ümmarguse kujuga harjaks.

Proovige teha kahemõõtmeline punktmaatriks, millel on ainult for loop.

Järgmise peatüki eelvaadeSarnaselt sellele kursusele leiate kõik uued teadmised, mida saate õppida, mängimisvõimalus suureneb kohe palju. Programm on pandora kast. Kõik, mida võite ette kujutada, saab seda teie jaoks teha. Seega pole mingit põhjust, miks me ei õpiks seda keelt, mis suudab arvutitega suhelda. Järgmises peatükis tutvustame teile veel ühte protsessi juhtimise avaldust. See suudab protsessi voogu juhtida ning luua keerulisemaid ja muutlikumaid tulemusi. If-avaldusega saate hõlpsalt oma teksti seiklusmänge luua! See artikkel pärineb disainer Wenzylt. Suhtelised näited: Huvitavad programmeerimisjuhised disainerile-esialgse puudutuse töötlemine Huvitavad programmeerimisjuhised disainerile-looge oma esimene töötlusprogramm - Hankige oma pilt jooksma (esimene osa) Huvitavad programmeerimisjuhised disainerile - Pildi jooksmine (teine osa)

8. samm: allikas

See artikkel on pärit:

Küsimuste korral võite võtta ühendust aadressil : [email protected].

Soovitan: