Turinys:

Įdomios programavimo gairės dizaineriui-programos proceso valdymas-ciklo teiginys: 8 žingsniai
Įdomios programavimo gairės dizaineriui-programos proceso valdymas-ciklo teiginys: 8 žingsniai

Video: Įdomios programavimo gairės dizaineriui-programos proceso valdymas-ciklo teiginys: 8 žingsniai

Video: Įdomios programavimo gairės dizaineriui-programos proceso valdymas-ciklo teiginys: 8 žingsniai
Video: Efektyvūs e-komercijos sprendimai: svetainės, SEO ir Facebook Ads 2024, Lapkritis
Anonim
Įdomios programavimo gairės dizaineriui-programos proceso valdymo ciklo ataskaita
Įdomios programavimo gairės dizaineriui-programos proceso valdymo ciklo ataskaita

Programos proceso valdymas- ciklo ataskaita

Iš šio skyriaus galėsite susisiekti su svarbiu ir galingu žinių tašku.

Prieš skaitydami šį skyrių, jei norite programoje nupiešti 10 000 apskritimų, galite tai padaryti tik siaubingu metodu. Tai yra parašyti 10 000 elipsės kodo eilučių. Tie tingūs kodų kūrėjai, kurie visomis priemonėmis nori pagerinti efektyvumą, tikrai neleistų, kad taip nutiktų. Taigi sukuriamas ciklo teiginys. Naudodami šį teiginį galite intuityviai pajusti kompiuterio automatizavimo galią.

1 žingsnis: „Loop“

Yra daug ciklinių teiginių, tarp kurių plačiausiai naudojamas „For Loop“. Visi žinome, kad funkcijų pritraukimas nuolat veikia apyvartoje. Pradėkite nuo pirmo sakinio pradžioje, jis bus įgyvendintas iš viršaus į apačią iki paskutinio sakinio. Baigus operaciją, ji vėl prasidės nuo pirmo sakinio. Pareiškimas yra šiek tiek panašus į funkciją draw. Pareiškimo kodas gali būti vykdomas pakartotinai.

Štai jo gramatikos struktūra:

Už (išraiška 1; išraiška 2; išraiška 3) {

Kilpos korpusas

}

Akivaizdu, kad sakiniai ciklo kūne yra tai, ko tikėjomės būti pakartotinai įgyvendinti. 1 išraiška naudojama inicijuoti ir priskirti pirmąją reikšmę kilpos kintamajam. 2 išraiška skirta kilpos būklei. 3 išraiška atnaujins ciklo kintamojo vertę.

Kas yra kilpos kintamasis? Tai iš tikrųjų prilygsta vietiniam kintamajam. Pažvelkime į pilną rašinį.

už (int i = 0; i <10; i ++) {

Kilpos korpusas

}

Kad būtų realizuota ciklo funkcija, teiginys daugiausia remiasi vietiniu kintamuoju, kuris bus naudojamas ciklo pabaigoje. Vietinis kintamasis aukščiau pateiktame pavyzdyje yra i. 1 išraiška baigė inicijuoti vietinį kintamąjį. Vėliau, kiekvieną kartą, kai ciklas veikia vieną kartą, šis kintamasis turi būti atnaujintas. Tarp aukščiau pateikto pavyzdžio 3 išraiškos i ++ naudojama atnaujinimo funkcijai įgyvendinti. Per jį kintamasis kiekvieną kartą atnaujinus padidės 1. Galų gale, ciklo turinio kodas negali kilpoti neribotą laiką, priešingu atveju pastarieji teiginiai negali būti vykdomi. Taigi mums reikia terminalo sąlygos. „Express 2“kaip tik tam. Čia programa nuspręs, ar i yra mažesnis nei 10. Jei taip, tada pradėkite veikti. Jei ne, tada šokinėkite iš kilpos.

Todėl teiginio operacijų seka yra tokia.

1 išraiška (vietinio kintamojo inicijavimas)

2 išraiška (patenkinta, tada toliau veikti)

Loop korpusas (pirmoji apyvarta)

3 išraiška (atnaujinti)

2 išraiška (patenkinta, tada toliau veikti)

Kilpos kūnas (antrasis sukimasis)

3 išraiška (atnaujinti)

2 išraiška (patenkinta, tada toliau veikti)

Kilpinis korpusas (trečiasis tiražas)…

3 išraiška (atnaujinti)

2 išraiška (nepatenkinta, tada šokinėkite iš ciklo)

Šią vykdymo seką galvoje galite imituoti keletą kartų. Tačiau neįmanoma iš tikrųjų suprasti kodo, vieną kartą neįvedus jo ranka. Kai norime sužinoti keistą sąvoką, konsolėje esančią vertę galime atspausdinti naudodami „println“teiginį.

Kodo pavyzdys (5-1): void setup () {

už (int i = 0; i <10; i ++) {

println („paleisti“);

}

}

Galite suskaičiuoti paleidimo išvesties skaičių konsolėje. Čia yra lygiai 10. Tai nurodo, kiek kartų ciklo turinio kodas buvo įvykdytas. Tačiau mes vis dar negalime aptikti, kokie pokyčiai iš tikrųjų įvyko cikle. Taigi galime pabandyti pakeisti simbolį „į kintamąjį„ i “ir pamatyti, kas atsitiks.

Kodo pavyzdys (5-2): void setup () {

už (int i = 0; i <10; i ++) {

println (i);

}

}

Dabar matome, kad ciklo korpuso vertė i nuolat didėja. Vėliau šią vertę galime naudoti norėdami suprasti dabartinį ciklo procesą.

Kodo pavyzdyje (5-2) i reikšmė pakeičiama nuo 0 iki 9. Lyginant su faktiniu ciklo laiku, atrodo, kad visada yra 1 mažiau. Jei nesate įpratę, teiginio skliausteliuose esančią išraišką galima parašyti taip:

už (int i = 1; i <= 10; i ++)

Taigi i teisingai atitinka ciklo laikus. „<=“reikšmė yra mažesnė ir lygi. Taigi, kai aš lygus 10, jis vis tiek atitiks sąlygą. Todėl jis veiks dar kartą, palyginti su rašymu į i <10. Nors jis prasideda nuo 1, ciklo laikas vis tiek yra 10. Žinoma, jei nieko ypatingo nereikia, norėčiau pasiūlyti jums pritaikyti rašymo metodą pavyzdys pradžioje. Vėliau mes jums pristatysime vektorių ar masyvą, kurie abu gauna jo elementą pagal jo indeksą. Visi numatytieji abonementai prasideda nuo 0. Nustatyti pradinę reikšmę 0 yra palyginti įprasta praktika.

Anksčiau pateiktame pavyzdyje, jei parašysime, kad i yra už 0, pograma sudužo. Kadangi kintamasis nuolat didėja, jis niekada neatitiks šios sąlygos. Tai yra taip, kaip ji niekada negali būti sustabdyta, kad programa būtų paleista į begalinę kilpą.

Vietiniai kintamieji for for gali ne tik deklaruoti plastiko tipus, bet ir deklaruoti kintamuosius slankiojo kablelio tipuose. Pavyzdžiui, jis gali būti parašytas kaip (plūdė i = 0; i <10; i + = 0.02).

2 veiksmas: naudokite ciklą matematinėms problemoms spręsti

Ar dar prisimenate matematiko Gauso istoriją vaikystėje? Tuo metu Guassui buvo 10 metų. Jo mokytojas norėjo klasėje paskirti užduotį ir klausimas buvo

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

Jei skaičiuosite savo rankomis, tai užtruks daug laiko. Tačiau Guassas, atrodo, jau išsiaiškino aritmetinės sekos sumavimo metodą. Taigi iškart po to, kai buvo pateiktas klausimas, jis lengvai ištarė atsakymą, kuris labai nustebino jo mokytoją.

Dabar galbūt dar neprisimename, kas yra aritmetinės sekos apibendrinimas, bet galime gauti atsakymą primityviai ir smurtiškai. Ir tai yra kilpa. Kadangi tai tik mažas pyragas, kurį kompiuteriai gali suskaičiuoti, mes turime aprašyti klausimą kalba, kurią kompiuteris gali atpažinti, tada mes galime lengvai gauti atsakymą.

Kodo pavyzdys (5-3):

void setup () {

int atsakymas = 0;

už (int i = 1; i <= 100; i ++) {

atsakymas += i;

}

println (atsakymas);

}

Manau, kad rezultatas, kurį gavote, yra tas pats, kurį atsakė Guassas: jis yra 5050!

Patarimai: ciklo vietinių kintamųjų pavadinimą galima pakeisti savo nuožiūra, jei jis atitinka kintamųjų pavadinimo taisykles. Galite jį parašyti taip (int k = 1; k <= 100; k ++). Jei neįvyko jokių specifinių sąlygų, numatytasis kintamojo pavadinimas yra i.

3 žingsnis: ciklo piešimui

Po iš pažiūros nuobodžios patalynės serijos pagaliau galime patekti į įdomesnį skyrių. Tai naudojama kilpoms piešti. Dabar galime atidėti tuos varginančius matematinius skaičiavimus. Mes, dizaineriai, esame jautresni grafikai.

Naudokite ciklui apskrito masyvui piešti

Kai norime naudoti kilpą, kad pavaizduotume kartotinių elementų grupę, turime iš anksto įsitikinti šių elementų skaitiniu ryšiu, tada galime naudoti kilpą, kad patogiai tai suprastume, o ne atliktume didžiulį pakartotinį darbą. Tarkime, jei norime nubrėžti apskritimo eilę, tolygiai paskleistą horizontalia kryptimi. Jo virtualioji koordinatė nesikeičia, o horizontali koordinatė keičiama. Ir iš kairės į dešinę horizontali koordinatė nuolat didėja, o didėjantis atstumas yra tas pats. Šiuo metu mes galime naudoti ciklą „i in“, kad gautume kiekvieno apskritimo horizontalią koordinatę.

Kodo pavyzdys (5-4): void setup () {

dydis (700, 700);

fonas (83, 51, 194);

noStroke ();

}

void draw () {

už (int i = 0; i <7; i ++) {

elipsė (50,0 + i * 100,0, aukštis/2,0, 80,0, 80,0);

}

}

50 reiškia pirmojo apskritimo pradžios padėtį kairėje. 100 i * 100 reiškia didėjantį atstumą.

4 žingsnis: naudokite ciklui, kad nupieštumėte atsitiktinį apvalų tašką

Aukščiau pateikta grafinė padėtis yra nuspėjama. Tai sumažins daug susidomėjimo. Mes galime naudoti atsitiktinę funkciją, kurią nurodėme ankstesniame skyriuje, ir pabandyti ją parašyti piešimo funkcija.

Kodo pavyzdys (5-5):

void setup () {

dydis (700, 700);

fonas (0);

noStroke ();

}

void draw () {

fonas (0);

už (int i = 0; i <10; i ++) {

plūdė randomWidth = atsitiktinis (60,0);

elipsė (atsitiktinis (plotis), atsitiktinis (aukštis), atsitiktinis plotis, atsitiktinis plotis);

}

}

Čia priežastis, kodėl apskritimo padėtis nuolat mirksi, yra ta, kad kiekvieną kartą atsitiktinė funkcija veikia vieną kartą, todėl rezultatas yra atsitiktinis. Numatyta, kad funkcija „draw“veikia 60 kadrų per sekundę, todėl kas 10 per sekundę nupieštų apskritimų jos padėtis pasikeis 60 kartų. Dėl šios greitos blykstės atrodo, kad paveikslėlyje yra daugiau nei 10 apskritimų. Paprastos programos vertės pakeitimas suteiks visiškai kitokį efektą. Mes galime pakeisti ciklo laiką peržiūrėdami terminalo būklę. Terminalo būklė žemiau esančioje nuotraukoje yra i <100

  1. Štai poveikis, kai terminalo būklė yra i <1000:
  2. „RandomSeed“
  3. Jei nenoriu, kad apskritimo padėtis ir jo blykstė būtų sugeneruota atsitiktinai, ką aš galiu padaryti? Vienas iš būdų yra sukurti ir išsaugoti kiekvieno apskritimo nepriklausomus kintamuosius ir inicijuoti šiuos kintamuosius sąrankoje. Šiems kintamiesiems priskirkite atsitiktinę vertę. Taigi, naudojant piešimo funkciją „draw“, mes iškvietėme kintamuosiuose saugomą vertę. Jis nepasikeis bet kuriuo metu. Norėdami nupiešti 10 apskritimų, galime tiesiog naudoti šį metodą. O kas, jei norime nupiešti 1000 apskritimų arba 10 000 apskritimų? Tai bus gana varginantis, jei mes naudosime šį tradicinį metodą šiems kintamiesiems kurti ir pavadinti. Mums nereikia mokytis naujo kintamojo kūrimo metodo. Čia yra lankstus metodas, kuris gali padėti mums pasiekti šį tikslą. Tai yra, naudoti randomSeed. Dabar pažvelkime į jo poveikį po naudojimo. Kodo pavyzdys (5-6): [cceN_cpp theme = "dawn"] void setup () {dydis (700, 700); fonas (0); noStroke ();}
  4. void draw () {

    fonas (0);

    randomSeed (1);

    už (int i = 0; i <10; i ++) {

    plūdė randomWidth = atsitiktinis (20,0, 60,0);

    elipsė (atsitiktinis (plotis), atsitiktinis (aukštis), atsitiktinis plotis, atsitiktinis plotis);

    }

    } [/cceN_cpp]

    Palyginti su ankstesniu kodu, jis neturi jokių pakeitimų, išskyrus tai, kad apskritimo spindulio diapazonas keičiamas nuo 10 iki 30, naudojant tik „SeedRandom“sakinį. Pridėjus šį sakinį, grafika atrodo statiška.

    Skambinimo formatas:

    randomSeed (a);

    Tarp šio formato a nustatymas yra sėkla. Turite į jį įvesti sveiką skaičių (P5 įrašykite plūduriuojančio taško vertę, nesuklysite, bet laikykite jį sveiku skaičiumi). „RandomSeed“funkcija yra nustatyti sėklą atsitiktinei vertei. Tada jis sukurs skirtingą atsitiktinį masyvą pagal skirtingą sėklą. Po to mes iškviečiame atsitiktinę funkciją, kad grąžinimo rezultatas būtų neabejotinas. Čia ne tik rezultatas yra apibrėžta vertė, bet ir sukurtas masyvas. Tai reiškia, kad grąžinimo rezultatas yra neabejotinas, palyginti su nurodytu laiku.

    Kodo pavyzdys (5-7): [cceN_cpp theme = "dawn"] void setup () {

    randomSeed (0);

    už (int i = 0; i <5; i ++) {

    println (atsitiktinis (10));

    }

    } [/cceN_cpp]

    Dabar eksperimentui atlikti naudojame „println“. Panaudojus randomSeed, kiekvieną kartą uždarius programą ir iš naujo paleidus programą, ji grįš į to paties rezultato eilutę. Reikšmė atitiks seką po vieną. Jei jį ištrinsite, kiekvieną kartą jis grįš į kitą vertę. Kodėl jis turi šį nustatymą? Taip yra todėl, kad pati atsitiktinė vertė programoje yra pseudo atsitiktinė. Rezultatas atrodo atsitiktinis, tačiau iš tikrųjų jis generuojamas fiksuotu ir pakartojamu skaičiavimo metodu. Tai prilygsta primityviai randomSeed reikšmei, tada pagal šią sėklą bus apskaičiuojamas toks rezultatas. Tačiau, jei nenurodysime sėklos, programa pagal nutylėjimą naudos dabartinį sistemos laiką, kad generuotų sėklą. Todėl kiekvienos operacijos rezultatas yra skirtingas. Žemiau pateiktas pavyzdys gali padėti geriau suprasti randomSeed.

    Pavyzdinis kodas (5-8): [cceN_cpp theme = "dawn"] void setup () {

    dydis (700, 700);

    fonas (0);

    noStroke ();

    }

    void draw () {

    randomSeed (1);

    už (int i = 0; i <10; i ++) {

    float randomWidth01 = atsitiktinis (10, 60);

    elipsė (atsitiktinis (plotis), atsitiktinis (aukštis), atsitiktinis plotis01, atsitiktinis plotis01);

    println (atsitiktinis plotis01);

    }

    randomSeed (1);

    už (int i = 0; i <10; i ++) {

    float randomWidth02 = atsitiktinis (10, 60);

    elipsė (atsitiktinis (plotis), atsitiktinis (aukštis), atsitiktinis plotis02, atsitiktinis plotis02);

    println (atsitiktinis plotis02);

    }

    } [/cceN_cpp]

    Pabandykite pakeisti antrąjį randomSeed (1) į randomSeed (0) ir palyginti galutinius rezultatus.

    Patarimai: P5 atveju burtų traukimo pabaigoje turime pasinaudoti tik funkcija noLoop, kad galėtume gauti tą patį efektą. Jo funkcija yra nutraukti programą. Tai visiškai skiriasi nuo aukščiau išvardytų darbo principų.

5 veiksmas: naudokite „Loop“, kad nubrėžtumėte liniją

Išmokę naudoti randomSeed, galime pabandyti pakeisti piešimo funkciją. Pavyzdžiui, apskritimo piešinį pakeiskite į brėžinį. Tik jei iki eilutės pabaigos suplanuosime keletą besikeičiančių taisyklių, galime panaudoti daugybę susipynusių eilučių, kad sukurtume unikalų modelį.

Kodo pavyzdys (5-9):

[cceN_cpp theme = "dawn"] negaliojanti sąranka () {

dydis (700, 700);

fonas (0);

}

void draw () {

randomSeed (0);

už (int i = 0; i <2000; i ++) {

plūdė x1 = plotis/2,0;

plūdė x2 = atsitiktinis (50,0, 650,0);

insultas (255, 20);

linija (x1, 50, x2, 650);

}

} [/cceN_cpp]

Sukurkite paprastą šepetėlį

Vėl grįžkite į ciklą. Pirmiau pateikti pavyzdžiai nėra interaktyvūs. Jei norime, kad rezultatas taptų įdomesnis, galime nepamiršti į savo kodą sujungti „mouseX“ir „mouseY“.

Kodo pavyzdys (5-10):

[cceN_cpp theme = "dawn"] negaliojanti sąranka () {

dydis (700, 700);

fonas (255);

noStroke ();

}

void draw () {

už (int i = 0; i <1000; i ++) {

užpildyti (0, 30);

plūdė x = peleX + atsitiktinis (-50, 50);

plūdė y = peleY + atsitiktinis (-50, 50);

elipsė (x, y, 2, 2);

}

} [/cceN_cpp]

Sukuriamas „sklaidos taškų“šepetys. Kadangi kiekvienas intensyvus mini apvalus taškas yra pagrįstas pelės padėtimi, jis gali judėti ribotomis kryptimis iš keturių kairės, dešinės, aukštyn ir žemyn krypčių. Taigi galutinis šepetėlio formos plitimas yra panašus į kvadratą.

Kodo pavyzdys (5-11):

[cceN_cpp theme = "dawn"] negaliojanti sąranka () {

dydis (700, 700);

fonas (255);

noStroke ();

}

void draw () {

už (int i = 0; i <1000; i ++) {

plūdės koeficientas = mouseX/(plūdės) plotis;

plūdė x = peleX + atsitiktinis (-50, 50);

plūdė y = peleY + atsitiktinis (-50, 50);

užpildyti (0, santykis * 255, 255 * (1 - santykis), 30);

elipsė (x, y, 2, 2);

}

}

[/cceN_cpp]

Jei užpildymo spalvai paveikti naudosime „mouseX“reikšmę, gausime daug magiškesnį spalvų gradientą.

6 žingsnis: įdėta kilpa

Dėl kilpos galima įdėti. Galite dar kartą įrašyti for ciklą į for ciklą. Kai reikia piešti dvimatę taškinę matricą, galite pasirinkti šį metodą.

Kodo pavyzdys (5-12):

[cceN_cpp theme = "dawn"] negaliojanti sąranka () {

dydis (700, 700, P2D);

fonas (202, 240, 107);

}

void draw () {

užpildyti (0);

už (int i = 0; i <5; i ++) {

už (int j = 0; j <5; j ++) {

plūdė x = 150 + i * 100;

plūdė y = 150 + j * 100;

elipsė (x, y, 60, 60);

println (i + ":" + j);

}

}

}

[/cceN_cpp]

Norėdami pirmą kartą naudoti įdėtą kilpą, turite išsiaiškinti jos loginius ryšius. Programos kodas visada įgyvendinamas iš viršaus į apačią. Todėl pirmasis įgyvendintas tikrai yra tolimiausia kilpa. Kiekvieną kartą, kai išorinė kilpa veikia vieną kartą, vidinė kilpa veiks nepertraukiamai, kol nebeatitiks šios sąlygos. Po to jis pradės antrąją išorinės kilpos operaciją. Prasidėjus antrajai operacijai, vidinė kilpa veiks mašinoje, kol neatitiks šios sąlygos. Toks kartojimas daromas tol, kol negali būti įvykdytos visos sąlygos ir jis iššoks iš ciklo.

Pirmiau pateiktame kode išorinės kilpos kilpos korpusas iš viso veikė 5 kartus, o vidinės kilpos korpusas - 25 kartus. Per 25 kartus, atsižvelgiant į i, j reikšmių skirtumą, mes galime atskirai užtikrinti apskritimo horizontalią ir vertikalią koordinates. Aš įdėjau spaudinio skyrių, galite stebėti duomenų išvestį ir galvoti apie jų pasikeitimą. Tik su dviem įdėtomis kilpomis galime patirti visus i, j duomenų derinius.

Patarimai

Antrojo sluoksnio kilpos pradžioje paprastai kondensuojasi „Tab“. Tai gali padaryti kodo struktūrą aiškesnę. Jūs turite įvardyti vietinius kintamuosius dviejuose ciklo sluoksniuose skirtingais pavadinimais. Tarp jų dažniausiai naudojami „i“, „j“, „k“.

Lankstus naudojimas „i“, „j“

Du kintamųjų pavadinimai „i“, „j“reiškia vietinius kintamuosius dviejuose ciklo sluoksniuose. Žemiau pateiktas pavyzdys padės geriau suprasti „i“„j“. Pagal skirtingą „i“, „j“reikšmę, mes galime įvesti parametrus grupuoti elementus.

Kodo pavyzdys (5-13): [cceN_cpp theme = "dawn"] void setup () {

dydis (700, 700);

fonas (0);

noStroke ();

}

void draw () {

fonas (0);

užpildyti (250, 233, 77);

už (int i = 0; i <7; i ++) {

už (int j = 0; j <7; j ++) {

pushMatrix ();

versti (50 + i * 100, 50 + j * 100);

// 1 nustatymas

// plūdės kampas = sin (milis ()/1000,0) * PI/2;

// 2 nustatymas

// plūdės koeficientas = i/7,0;

// plūdės kampas = sin (milis ()/1000,0 + santykis * (PI/2)) * PI/2;

// 3 nustatymas

plūdės koeficientas = (i * 7 + j)/49,0;

plūdės kampas = sin (milis ()/1000,0 + santykis * (PI/2)) * PI/2;

pasukti (kampas);

rectMode (CENTRAS);

// Pieškite 1 paveikslą

tiesus (0, 0, 80, 80);

// Nubraižykite 2 paveikslą

// tiesus (0, 0, 100, 20);

// Nubraižykite 3 paveikslą

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

popMatrix ();

}

}

} [/cceN_cpp]

Kodo paaiškinimas

„rectMode“(CENTRAS) gali pakeisti kvadrato piešimo metodą. Orientaciniai buvę du „rect“parametrai naudojami skvero kairiojo viršutinio kampo koordinatėms apibrėžti. Kai pradėsime šią komandą, šie du parametrai bus naudojami kvadrato centro taško koordinatėms nustatyti. Kadangi čia mes valdome sukimą per sukimą, todėl turime naudoti šį metodą, kad centrinis taškas būtų nubrėžtas į pradinį koordinatės tašką.

millis () įgyja laiką nuo programos pradžios iki dabarties. Vienetas yra ms. Ši vertė turės įtakos besikeičiančiai sin išvesties vertės greičiui. Jei tiesiogiai rašome milis, kintanti skalė yra per didelė. Taigi, mes turime jį padalyti iš 1000,0.

Šiame kodo skyriuje mes naudojame komentaro simbolį „//“, kad paslėptume kelis nustatymus. Galite pakeisti efektus pradėdami arba uždarydami. Pavyzdžiui, jei sakinius pradedame už „3 nustatymo“, turime naudoti komentaro simbolį, kad uždarytume kodų blokus, esančius „1 nustatymas“ir „2 nustatymas“. Kalbant apie panašios programos struktūros pavyzdžius su skirtingais vietiniais kintamaisiais, galime rašyti tokiu formatu. Taigi mums nereikia atskirai laikyti kelių inžinerinių dokumentų. Šį įgūdį galime dažnai panaudoti praktikos ir kūrimo metu bei išsaugoti kai kuriuos tenkinančius parametrų nustatymus.

Tarp jų, i, j reikšmių įtaka programai daugiausia atspindi poslinkį „1 nustatymas (2 nustatymas) (3 nustatymas)“. Žemiau galite palyginti išvesties rezultatus.

Pieškite 1 paveikslą: 1 nustatymas

Pieškite 1 paveikslą: 2 nustatymas

Pieškite 1 paveikslą: 3 nustatymas

2 paveikslo piešimas: 1 nustatymas

2 paveikslo piešimas: 2 nustatymas

Pieškite 2 paveikslą: 3 nustatymas

Nustatydami 1, nenaudojome i ir j, kad paveiktume kiekvieno elemento sukimosi kampą. Taigi matome, kad kiekvieno elemento judėjimas yra vienodas. 2 nustatyme mes naudojome i reikšmę, o nustatydami 3 - i ir j. Galiausiai jie paveikė funkcijos sin parametrų įvedimą per santykį. Tai pakeitė periodinį kampo keitimą. Kadangi tikrasis 2 ir 3 nustatymų poveikis nėra toks akivaizdus animuotoje grafikoje, galime tai stebėti iš šios ekrano kopijos.

Pieškite 2 paveikslėlį (kairėje: 2 nustatymas; dešinėje: 3 nustatymas)

Pieškite 3 paveikslėlį (kairėje: 2 nustatymas; dešinėje: 3 nustatymas)

Pirmame paveikslėlyje santykis naudojamas kvadrato sukimosi kampui paveikti. Antrasis paveikslas skirtas tiesiogiai valdyti apskritimo spindulį. Matome, kad jis naudojo sakinį i value:

plūdės koeficientas = i/7,0;

Jo vertikalių elementų pokytis yra nuoseklus. Kadangi horizontali koordinatė paveikslui valdyti priklauso tik nuo i reikšmės, todėl tos pačios horizontalios koordinatės modeliai bus vienodi. Santykio, pasukimo kampo ir apskritimo spindulio vertė taip pat yra ta pati.

Tuo pačiu metu mes naudojame i, j sakinį:

plūdės koeficientas = (i * 7 + j)/49,0;

Jis gali apibūdinti „gradientą“. Čia, naudojant koeficiento dauginimo metodą, jis sujungė eilučių ir stulpelių įtaką. Taigi kiekvienas elementas yra skirtingas.

7 žingsnis: Nors ciklas

Yra brolis už kilpą. Tai kol ciklas. Ką gali padaryti kilpa, o kilpa - taip pat. Tačiau „ciklo“naudojimo dažnis „CreativeCoding“nėra toks didelis kaip ciklo.

Kodo pavyzdys (5-14): [cceN_cpp theme = "dawn"] void setup () {

int a = 0;

o (a <10) {

println (a);

a ++;

}

} [/cceN_cpp]

Tuo tarpu gramatinę struktūrą lengviau suprasti nei suprasti. Prieš pareiškimą galime sukurti kintamuosius. Tada užpildykite išraišką laužtiniuose skliaustuose. Kai jis bus patenkintas, sakinius paleiskite kilpos kūne. Galiausiai mes įdedame išraišką į kilpos turinį, kad atnaujintume kintamuosius, tada, kai ciklas baigtas. Kalbant apie užtikrintą ciklo laiką, mes dažnai naudojame kilpą. Kalbant apie neribotą kintamojo vertę, rekomenduojame naudoti ciklo metu.

Pagalvokite:

Pabandykite naudoti visų rūšių pagrindinius elementus, kad pakeistumėte piešimo elementus, kad sukurtumėte įvairius teptukus.

Derinkite su paskutiniame skyriuje aprašyta trigonometrine funkcija, pabandykite pakeisti „sklaidos taškų“šepetėlį į apvalios formos šepetėlį.

Pabandykite sudaryti dvimatę taškinę matricą tik su kilpa.

Kito skyriaus peržiūra Kaip ir šiame kurse, rasite visas naujas žinias, kurias išmoksite, galimybė žaisti iš karto labai padidės. Programa yra pandoros dėžutė. Viskas, ką galite įsivaizduoti, gali tai padaryti už jus. Taigi nėra jokios priežasties, kodėl mes nemokame šios kalbos, kuri gali bendrauti su kompiuteriais. Kitame skyriuje mes jums pristatysime kitą proceso valdymo teiginį. Jis gali valdyti proceso eigą ir generuoti sudėtingesnius ir kintančius rezultatus. Naudodami „if“teiginį, galite lengvai sukurti savo nuotykių žaidimus tekste! Šis straipsnis yra iš dizainerio Wenzy. Santykiniai skaitymai: Įdomios programavimo gairės dizaineriui-pradinio apdorojimo apdorojimas Įdomios programavimo gairės dizaineriui-sukurkite savo pirmąją apdorojimo programą - Gaukite savo paveikslėlį (pirmoji dalis) Įdomios programavimo gairės dizaineriui - Paleiskite savo nuotrauką (antra dalis)

8 žingsnis: šaltinis

Šis straipsnis yra iš:

Jei turite klausimų, galite susisiekti : [email protected].

Rekomenduojamas: