Satura rādītājs:

Interesanti programmēšanas norādījumi projektētājam-programmas procesa kontrole-cilpas paziņojums: 8 soļi
Interesanti programmēšanas norādījumi projektētājam-programmas procesa kontrole-cilpas paziņojums: 8 soļi

Video: Interesanti programmēšanas norādījumi projektētājam-programmas procesa kontrole-cilpas paziņojums: 8 soļi

Video: Interesanti programmēšanas norādījumi projektētājam-programmas procesa kontrole-cilpas paziņojums: 8 soļi
Video: Программирование – информатика для руководителей бизнеса 2016 2024, Novembris
Anonim
Interesanti programmēšanas norādījumi projektētājam-programmas procesa kontroles cilpas paziņojums
Interesanti programmēšanas norādījumi projektētājam-programmas procesa kontroles cilpas paziņojums

Programmas procesa kontrole- cilpas paziņojums

No šīs nodaļas jūs sazināsieties ar svarīgu un spēcīgu zināšanu punkta paziņojumu.

Pirms šīs nodaļas lasīšanas, ja vēlaties programmā uzzīmēt 10 000 apļu, varat iztikt tikai ar briesmīgu metodi. Tas ir, uzrakstīt 10 000 elipses koda rindas. Tie slinkie kodu izstrādātāji, kuri ar visiem līdzekļiem vēlas uzlabot efektivitāti, noteikti neļautu tam notikt. Tātad tiek izveidots cilpas paziņojums. Ar šo apgalvojumu jūs varat intuitīvi sajust datoru automatizācijas spēku.

1. darbība: cilpai

Ir daudz cilpas paziņojumu, starp kuriem visplašāk izmantotais ir For Loop. Mēs visi zinām, ka funkciju vilkšana nepārtraukti darbojas apritē. Sāciet no pirmā teikuma sākumā, tas tiks īstenots no augšas uz leju līdz pēdējam teikumam. Pēc operācijas pabeigšanas tā tiks atsākta no pirmā teikuma. Paziņojums ir nedaudz līdzīgs funkciju draw. Paziņojuma kodu var izpildīt atkārtoti.

Šeit ir tā gramatikas struktūra:

Par (izteiksme 1; izteiksme 2; izteiksme 3) {

Cilpas korpuss

}

Acīmredzot teikumi cilpas pamattekstā ir tas, ko mēs gaidījām, ka tie tiks īstenoti atkārtoti. Izteiksme 1 tiek izmantota, lai inicializētu un piešķirtu pirmo vērtību cilpas mainīgajam. 2. izteiksme paredzēta cilpas stāvoklim. 3. izteiksme atjauninās cilpas mainīgā vērtību.

Kas ir cilpas mainīgais? Tas faktiski ir līdzvērtīgs vietējam mainīgajam. Apskatīsim pilnu rakstīto.

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

Cilpas korpuss

}

Lai realizētu cilpas funkciju, paziņojums galvenokārt balstās uz vietējo mainīgo, kas tiks izmantots cilpas beigās. Iepriekš minētajā piemērā vietējais mainīgais ir i. 1. izteiksme ir pabeigusi lokālā mainīgā inicializāciju. Vēlāk, katru reizi, kad cilpa darbojas vienu reizi, šis mainīgais ir jāatjaunina. Starp iepriekš minēto piemēru i ++ izteiksmē 3 tiek izmantots atjaunināšanas funkcijas realizēšanai. Izmantojot to, mainīgais palielināsies par 1 katru reizi, kad tas tiks atjaunināts. Galu galā kods cilpas pamattekstā nevar darboties bezgalīgi, pretējā gadījumā pēdējos paziņojumus nevar izpildīt. Tādējādi mums ir nepieciešams termināla nosacījums. Express 2 ir tieši tam. Šeit programma novērtēs, vai i ir mazāks par 10. Ja tā ir, tad turpiniet darboties. Ja tā nav, izlec no cilpas.

Tāpēc paziņojuma darbību secība ir šāda.

1. izteiksme (lokālā mainīgā inicializācija)

2. izteiksme (apmierināts, pēc tam turpiniet darboties)

Cilpas korpuss (pirmā cirkulācija)

3. izteiksme (atjauninājums)

2. izteiksme (apmierināts, pēc tam turpiniet darboties)

Cilpas ķermenis (otrā cirkulācija)

3. izteiksme (atjauninājums)

2. izteiksme (apmierināts, pēc tam turpiniet darboties)

Cilpas korpuss (trešā tirāža)…

3. izteiksme (atjauninājums)

2. izteiksme (neesat apmierināts, tad izlejiet no cilpas)

Šo izpildes secību savā galvā varat simulēt vairākas reizes. Bet nav iespējams īsti saprast kodu, vienreiz to neierakstot ar roku. Ja mēs vēlamies uzzināt dīvainu jēdzienu, mēs varam izdrukāt vērtību konsolē, izmantojot paziņojumu println.

Koda piemērs (5-1): void setup () {

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

println ("palaist");

}

}

Jūs varat saskaitīt izpildes izvades skaitu konsolē. Šeit tas ir tieši 10. Tas norāda, cik reizes cikls pamattekstā ir izpildīts. Tomēr mēs joprojām nevaram noteikt, kādas izmaiņas patiesībā ir notikušas. Tātad, mēs varam mēģināt mainīt rakstzīmi "uzskriet mainīgajam" i "un redzēt, kas notiks.

Koda piemērs (5-2): void setup () {

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

println (i);

}

}

Tagad mēs varam redzēt, ka vērtība i cilpas korpusā nepārtraukti pieaug. Vēlāk mēs varam izmantot šo vērtību, lai saprastu pašreizējo cikla procesu.

Koda piemērā (5-2) i vērtība tiek mainīta no 0 uz 9. Salīdzinot ar faktiskajiem cikla laikiem, šķiet, ka vienmēr ir par 1 mazāk. Ja neesat pieradis, izteicienu iekavās par paziņojumu var uzrakstīt šādi:

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

Tādējādi i taisnīgi atbilst cilpas laikiem. "<=" nozīme ir mazāka par un vienāda ar. Tātad, kad i ir vienāds ar 10, tas joprojām atbilst nosacījumam. Tāpēc tas darbosies vēlreiz, salīdzinot ar ierakstīšanu i <10. Lai gan tas sākas ar 1, cikla laiks joprojām ir 10. Protams, ja nekas īpašs nav vajadzīgs, es vēlētos ieteikt jums izmantot rakstīšanas metodi sadaļā piemērs sākumā. Vēlāk mēs iepazīstināsim jūs ar vektoru vai masīvu, kas abi iegūst tā elementu pēc tā apakšindeksa. Visi noklusējuma apakšindeksi sākas no 0. Salīdzinoši izplatīta prakse ir noteikt sākotnējo vērtību 0.

Iepriekš minētajā piemērā, ja rakstām, ka i pārsniedz 0, pogramma avarēs. Tā kā mainīgais pastāvīgi palielinās, tas nekad neatbildīs šim nosacījumam. Tas ir tāpat kā to nekad nevar apturēt, lai programma nonāktu bezgalīgā ciklā.

Vietējie mainīgie for for var ne tikai deklarēt plastmasas veidus, bet arī deklarēt mainīgos lielumus peldošā komata veidos. Piemēram, to var uzrakstīt kā (pludiņš i = 0; i <10; i + = 0,02).

2. darbība. Izmantojiet cilpu matemātisko problēmu risināšanai

Vai vēl atceries matemātiķa Gausa stāstu bērnībā? Tajā laikā Guass bija 10 gadus vecs. Viņa skolotājs vēlējās klasē uzdot kādu uzdevumu, un jautājums bija

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

Ja jūs aprēķināt ar savām rokām, tas prasīs daudz laika. Bet šķiet, ka Guass jau ir izdomājis aritmētiskās secības summēšanas metodi. Tāpēc tikai pēc jautājuma uzdošanas viņš viegli izrunāja atbildi, kas bija ļoti pārsteigusi viņa skolotāju.

Tagad mēs, iespējams, vēl neatceramies, kas ir aritmētiskās secības apkopojums, bet mēs varam iegūt atbildi primitīvā un vardarbīgā veidā. Un tas attiecas uz cilpu. Tā kā tas ir tikai neliels kūkas gabals, ko datori var saskaitīt, mums ir jāapraksta jautājums valodā, kuru var atpazīt dators, tad mēs varam viegli iegūt atbildi.

Koda piemērs (5-3):

void setup () {

int atbilde = 0;

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

atbilde += i;

}

println (atbilde);

}

Es uzskatu, ka rezultāts, ko jūs saņemat, ir tāds pats kā Guass atbilde: tas ir 5050!

Padomi. Vietējo mainīgo nosaukumu cilpā var mainīt pēc vēlēšanās, ja tas atbilst mainīgo nosaukšanas noteikumiem. Jūs varat to uzrakstīt kā (int k = 1; k <= 100; k ++). Ja nav notikuši īpaši apstākļi, pēc noklusējuma mainīgā nosaukums ir i.

3. darbība: cilpu zīmēšanai

Pēc virknes šķietami garlaicīgas gultas veļas, beidzot varam nonākt interesantākā sadaļā. Tas ir, lai izmantotu cilpu attēlu zīmēšanai. Šos garlaicīgos matemātiskos aprēķinus mēs tagad varam atlikt malā. Mēs, dizaineri, esam jutīgāki pret grafiku.

Izmantojiet cilpai, lai zīmētu apļa masīvu

Ja mēs vēlamies izmantot cilpu, lai attēlotu atkārtotu elementu grupu, mums iepriekš jāpārliecinās par šo elementu skaitlisko attiecību, tad mēs varam izmantot cilpu, lai to ērti realizētu, nevis veicot masveida atkārtotu darbu. Pieņemsim, ka mēs vēlamies uzzīmēt apļa rindu, kas ir vienādi izkliedēta horizontālā virzienā. Tā virtuālā koordināta nemainās, kamēr tiek mainīta horizontālā koordināta. Un no kreisās uz labo pusi horizontālā koordināta nepārtraukti palielinās, un attālums, kas palielinās, ir vienāds. Šobrīd mēs varam izmantot cilni i in, lai iegūtu katra apļa horizontālo koordinātu.

Koda piemērs (5-4): void setup () {

izmērs (700, 700);

fons (83, 51, 194);

noStroke ();

}

void draw () {

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

elipse (50,0 + i * 100,0, augstums/2,0, 80,0, 80,0);

}

}

50 apzīmē pirmā apļa sākuma pozīciju kreisajā pusē. 100 i * 100 apzīmē pieaugošo attālumu.

4. darbība. Izmantojiet cilpu, lai uzzīmētu nejaušu apaļu punktu

Iepriekš redzamā grafiskā pozīcija ir paredzama. Tas samazinās daudz intereses. Mēs varam izmantot nejaušu funkciju, uz kuru atsaucāmies iepriekšējā nodaļā, un mēģināt to uzrakstīt zīmēšanas funkcijā.

Koda piemērs (5-5):

void setup () {

izmērs (700, 700);

fons (0);

noStroke ();

}

void draw () {

fons (0);

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

pludiņš randomWidth = random (60.0);

elipse (nejaušs (platums), nejaušs (augstums), izlases platums, izlases platums);

}

}

Lūk, iemesls, kāpēc apļa stāvoklis nepārtraukti mirgo, ir tāpēc, ka katru reizi, kad funkcija nejauši darbojas vienu reizi, rezultāts ir nejaušs. Tā kā pēc noklusējuma funkcija draw tiek palaista 60 kadru sekundē, tātad ik pēc 10 sekundē uzzīmētajiem apļiem tā pozīcija mainīsies par 60 reizēm. Šī ātrā zibspuldze liek izskatīties, ka attēlam ir vairāk nekā tikai 10 apļi. Vienkāršas vērtības maiņa programmā radīs pavisam citu efektu. Mēs varam mainīt cikla laiku, pārskatot termināļa stāvokli. Termināļa stāvoklis attēlā ir i <100

  1. Lūk, efekts, kad termināļa stāvoklis ir i <1000:
  2. RandomSeed
  3. Ja es nevēlos, lai apļa pozīcija tiktu ģenerēta nejauši, kā arī tā zibspuldze, ko es varu darīt? Viena metode ir izveidot un saglabāt neatkarīgus mainīgos katram lokam un inicializēt šos mainīgos iestatīšanas laikā. Piešķiriet šiem mainīgajiem nejaušu vērtību. Tādējādi, izmantojot zīmēšanas funkciju zīmēšanas laikā, mēs atsaucāmies uz mainīgajos saglabāto vērtību. Tas nemainīsies jebkurā laikā. Lai uzzīmētu 10 apļus, mēs varam izmantot šo metodi. Bet ko tad, ja mēs vēlamies uzzīmēt 1000 apļus vai 10 000 apļus? Tas būs diezgan apgrūtinoši, ja mēs izmantosim šo tradicionālo metodi, lai izveidotu šos mainīgos un nosauktu to. Mums nav jāapgūst jauna mainīgo veidošanas metode. Šeit ir elastīga metode, kas var palīdzēt mums sasniegt šo mērķi. Tas ir, izmantot randomSeed. Tagad apskatīsim tā iedarbību pēc lietošanas. Koda piemērs (5-6): [cceN_cpp theme = "dawn"] void setup () {size (700, 700); fons (0); noStroke ();}
  4. void draw () {

    fons (0);

    randomSeed (1);

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

    pludiņš randomWidth = random (20,0, 60,0);

    elipse (nejaušs (platums), nejaušs (augstums), izlases platums, izlases platums);

    }

    } [/cceN_cpp]

    Salīdzinot ar iepriekšējo kodu, tam nav nekādu izmaiņu, izņemot to, ka apļa rādiusa diapazons tiek mainīts no 10 uz vairāk nekā 30, izmantojot tikai teikumu ofSeedRandom. Pēc šī teikuma pievienošanas grafika šķiet statiska.

    Izsaukuma formāts:

    randomSeed (a);

    Starp šo formātu a iestatījums ir sēkla. Jums tajā jāaizpilda vesels skaitlis (P5 ierakstiet peldošā punkta vērtību, tas nenotiks nepareizi, bet uzskatīs to par veselu skaitli). Funkcija randomSeed ir iestatīt sēklu nejaušai vērtībai. Tad tas ģenerēs dažādus nejaušus masīvus atbilstoši dažādām sēklām. Pēc tam mēs izsaucam nejaušu funkciju, lai atgriešanās rezultāts būtu noteikts. Šeit noteiktais nav paredzēts rezultātam, bet gan ģenerētajam masīvam. Tas nozīmē, ka atgriešanās rezultāts ir noteikts attiecībā pret atsauces laikiem.

    Koda piemērs (5-7): [cceN_cpp theme = "dawn"] void setup () {

    randomSeed (0);

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

    println (nejaušs (10));

    }

    } [/cceN_cpp]

    Tagad mēs turpinām izmantot println, lai veiktu eksperimentu. Pēc randomSeed izmantošanas katru reizi, aizverot programmu un restartējot programmu, tā atgriezīsies pie tāda paša rezultāta virknes. Vērtība atbilst secībai pa vienam. Ja to izdzēšat, tas katru reizi atgriezīsies citā vērtībā. Kāpēc tam ir šis iestatījums? Tas ir tāpēc, ka pati nejaušā vērtība programmā ir pseido nejauša. Rezultāts šķiet nejaušs, bet patiesībā to ģenerē ar fiksētu un atkārtojamu aprēķina metodi. Tas ir līdzvērtīgs primitīvās vērtības apzīmēšanai randomSeed, tad saskaņā ar šo sēklu tiks aprēķināts šāds rezultāts. Tomēr, ja mēs nenosakām sēklu, programma pēc noklusējuma sēklu ģenerēšanai izmantos sistēmas pašreizējo laiku. Tāpēc katras operācijas rezultāts ir atšķirīgs. Tālāk sniegtais piemērs var palīdzēt jums labāk izprast randomSeed.

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

    izmērs (700, 700);

    fons (0);

    noStroke ();

    }

    void draw () {

    randomSeed (1);

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

    pludiņš randomWidth01 = random (10, 60);

    elipse (nejaušs (platums), nejaušs (augstums), izlases platums01, izlases platums01);

    println (randomWidth01);

    }

    randomSeed (1);

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

    pludiņš randomWidth02 = random (10, 60);

    elipse (izlases (platums), nejauša (augstums), randomWidth02, randomWidth02);

    println (randomWidth02);

    }

    } [/cceN_cpp]

    Mēģiniet pārskatīt otro randomSeed (1) uz randomSeed (0) un salīdzināt galīgos rezultātus.

    Padomi: P5 mums izlozes beigās ir jāizsauc tikai funkcija noLoop, lai mēs varētu iegūt tādu pašu efektu. Tās funkcija ir pārtraukt programmu. Tas ir diezgan atšķirīgs no iepriekšminētajiem darba principiem dabā.

5. darbība: izmantojiet cilpu, lai vilktu līniju

Kad esam apguvuši randomSeed lietošanu, mēs varam mēģināt mainīt zīmēšanas funkciju. Piemēram, nomainiet apļa zīmējumu uz līnijas zīmējumu. Tikai tad, ja mēs līdz rindas beigām izstrādājam dažus mainīgus noteikumus, mēs varam izmantot daudzas līnijas, kas savijušās, lai izveidotu unikālu modeli.

Koda piemērs (5-9):

[cceN_cpp theme = "dawn"] anulēts iestatījums () {

izmērs (700, 700);

fons (0);

}

void draw () {

randomSeed (0);

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

pludiņš x1 = platums/2,0;

pludiņš x2 = nejaušs (50,0, 650,0);

insults (255, 20);

līnija (x1, 50, x2, 650);

}

} [/cceN_cpp]

Izveidojiet vienkāršu suku

Atpakaļ uz cilpu vēlreiz. Iepriekš minētie piemēri nav interaktīvi. Ja vēlamies padarīt rezultātu interesantāku, mēs nevaram aizmirst savā kodā apvienot mouseX un mouseY.

Koda piemērs (5-10):

[cceN_cpp theme = "dawn"] anulēts iestatījums () {

izmērs (700, 700);

fons (255);

noStroke ();

}

void draw () {

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

aizpildīt (0, 30);

pludiņš x = peleX + nejaušs (-50, 50);

pludiņš y = peleY + nejaušs (-50, 50);

elipse (x, y, 2, 2);

}

} [/cceN_cpp]

Tiek izveidota "izkliedes punktu" birste. Tā kā katrs intensīvais mini apaļais punkts atrodas peles pozīcijā, tas var pārvietot ierobežotus virzienus no četriem virzieniem pa kreisi, pa labi, uz augšu un uz leju. Tātad otas galīgais formas izkliedējums ir līdzīgs kvadrātam.

Koda piemērs (5-11):

[cceN_cpp theme = "dawn"] anulēts iestatījums () {

izmērs (700, 700);

fons (255);

noStroke ();

}

void draw () {

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

pludiņa attiecība = mouseX/(pludiņa) platums;

pludiņš x = peleX + nejaušs (-50, 50);

pludiņš y = peleY + nejaušs (-50, 50);

aizpildīt (0, attiecība * 255, 255 * (1 - attiecība), 30);

elipse (x, y, 2, 2);

}

}

[/cceN_cpp]

Ja mēs izmantojam mouseX vērtību, lai ietekmētu pildījuma krāsu, tad mēs iegūsim daudz maģiskāku krāsu gradientu.

6. darbība: cilpas ligzdošanai

Par cilpu var ligzdot. Jūs varat atkal ierakstīt for ciklu for cilpā. Ja jums jāzīmē divdimensiju punktu matrica, varat izvēlēties šo metodi.

Koda piemērs (5-12):

[cceN_cpp theme = "dawn"] anulēts iestatījums () {

izmērs (700, 700, P2D);

fons (202, 240, 107);

}

void draw () {

aizpildīt (0);

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

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

pludiņš x = 150 + i * 100;

pludiņš y = 150 + j * 100;

elipse (x, y, 60, 60);

println (i + ":" + j);

}

}

}

[/cceN_cpp]

Lai pirmo reizi izmantotu ligzdoto cilpu, jums ir jāizprot tās loģiskās attiecības. Koda ieviešana programmā vienmēr ir no augšas uz leju. Tāpēc pirmais īstenotais noteikti ir visattālākā cilpa. Katru reizi, kad ārējā cilpa darbojas vienu reizi, iekšējā cilpa nepārtraukti darbosies, līdz tā vairs nevar apmierināt nosacījumu. Pēc tam tā sāks otro ārējās cilpas darbību. Pēc otrās darbības sākuma iekšējā cilpa turpinās darbināt agregātu, līdz tā nevar apmierināt nosacījumu. Šāda atkārtošanās notiek, līdz visus nosacījumus nevar izpildīt un tas izlec no cilpas.

Iepriekš minētajā kodā cilpas korpuss ārējā cilpā kopumā ir darbojies 5 reizes, savukārt cilpas korpuss iekšējā cilpā ir darbojies 25 reizes. 25 reizes, saskaņā ar i, j vērtības starpību, mēs varam atsevišķi nodrošināt apļa horizontālo un vertikālo koordinātu. Esmu iegulusi drukas sadaļu, jūs varat novērot datu izvadi un padomāt par to izmaiņām. Tikai ar divām ligzdotām cilpām mēs varam izbaudīt visas i, j datu kombinācijas.

Padomi

Otrajā slānī esošajai cilpai sākumā parasti kondensējas ar Tab. Tas var padarīt koda struktūru skaidrāku. Jums ir jānosauc lokālie mainīgie divos cilpas slāņos ar dažādiem nosaukumiem. Starp tiem visbiežāk tiek izmantoti "i", "j", "k".

Elastīga lietošana "i", "j"

Divu mainīgo nosaukums "i", "j" apzīmē lokālās mainīgās vērtības divos cilpas slāņos. Tālāk sniegtais piemērs padziļinās jūsu izpratni par "i" "j". Saskaņā ar atšķirīgo "i", "j" vērtību, mēs varam ievadīt parametrus, lai grupētu elementus.

Koda piemērs (5-13): [cceN_cpp theme = "dawn"] void setup () {

izmērs (700, 700);

fons (0);

noStroke ();

}

void draw () {

fons (0);

aizpildīt (250, 233, 77);

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

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

pushMatrix ();

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

// 1. iestatījums

// pludiņa leņķis = sin (milis ()/1000,0) * PI/2;

// 2. iestatījums

// pludiņa attiecība = i/7,0;

// pludiņa leņķis = sin (milis ()/1000,0 + attiecība * (PI/2)) * PI/2;

// 3. iestatījums

pludiņa attiecība = (i * 7 + j)/49,0;

pludiņa leņķis = sin (milis ()/1000,0 + attiecība * (PI/2)) * PI/2;

pagriezt (leņķis);

rectMode (CENTRS);

// Uzzīmējiet 1. attēlu

taisns (0, 0, 80, 80);

// Uzzīmējiet 2. attēlu

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

// Uzzīmējiet 3. attēlu

// taisns (0, 0, attiecība * 50);

popMatrix ();

}

}

} [/cceN_cpp]

Koda skaidrojums

rectMode (CENTRS) var mainīt kvadrāta zīmēšanas metodi. Orģinālie bijušie divi taisnās puses parametri tiek izmantoti, lai definētu laukuma kreisā augšējā stūra koordinātu. Pēc šīs komandas palaišanas šie divi parametri tiks izmantoti, lai iestatītu kvadrāta centra punkta koordinātu. Tā kā šeit mēs izmantojam pagrieziena rotāciju caur rotāciju, tāpēc mums ir jāizmanto šī metode, lai novilktu centra punktu līdz sākotnējam koordinātas punktam.

millis () iegūst laiku no programmas sākuma līdz mūsdienām. Vienība ir ms. Šī vērtība ietekmēs sin izvades vērtības mainīgo ātrumu. Ja rakstām tieši milis, mainīgā skala ir pārāk liela. Tādējādi mums tas jāsadala ar 1000,0.

Šajā koda sadaļā mēs izmantojam komentāra simbolu "//", lai paslēptu vairākus iestatījumus. Jūs varat mainīt efektus, sākot vai aizverot. Piemēram, ja mēs sākam teikumus aiz “Iestatījuma 3”, mums ir jāizmanto komentāru simbols, lai aizvērtu koda blokus, kas ir “1. iestatījums” un “2. iestatījums”. Attiecībā uz šīs līdzīgās programmas struktūras piemēriem ar dažādiem vietējiem mainīgajiem, mēs varam rakstīt šādā formātā. Tādējādi mums nav jāglabā atsevišķi inženiertehniskie dokumenti atsevišķi. Mēs varam bieži izmantot šo prasmi prakses un izveides laikā un saglabāt dažus atbilstošus parametru iestatījumus.

Starp tiem i, j vērtības ietekmi uz programmu galvenokārt attēlo, mainot "1. iestatījums (2. iestatījums) (3. iestatījums)". Zemāk varat salīdzināt izvades rezultātus.

Zīmēt 1. attēlu: 1. iestatījums

Zīmēt 1. attēlu: 2. iestatījums

Zīmēt 1. attēlu: 3. iestatījums

Zīmēt 2. attēlu: 1. iestatījums

Zīmēt 2. attēlu: 2. iestatījums

Zīmēt 2. attēlu: 3. iestatījums

1. iestatījumā mēs neesam izmantojuši i un j, lai ietekmētu katra elementa pagriešanās leņķi. Tādējādi mēs redzam, ka katra elementa kustība ir vienāda. Atrodoties 2. iestatījumā, mēs esam izmantojuši i vērtību un gan i, gan j 3. iestatījumā. Visbeidzot, tie ir ietekmējuši funkcijas sin parametru ievadi caur attiecību. Tas ir mainījis periodisko leņķa maiņu. Tā kā 2. un 3. iestatījuma faktiskais efekts animācijas grafikā nav tik acīmredzams, mēs to varam novērot no šī ekrānuzņēmuma.

Zīmēt 2. attēlu (pa kreisi: 2. iestatījums; pa labi: 3. iestatījums)

Zīmēt 3. attēlu (pa kreisi: 2. iestatījums; pa labi: 3. iestatījums)

Pirmajā attēlā attiecība tiek izmantota, lai ietekmētu kvadrātveida pagrieziena leņķi. Otrajā attēlā tas ir paredzēts, lai tieši kontrolētu apļa rādiusu. Mēs redzam, ka tajā ir izmantots i vērtības teikums:

pludiņa attiecība = i/7,0;

Tā vertikālo elementu maiņa ir konsekventa. Tā kā attēla kontroles horizontālās koordinātas ir atkarīgas tikai no i vērtības, tāpēc paraugi ar to pašu horizontālo koordinātu būs vienādi. Arī attiecības, pagriešanās leņķa un apļa rādiusa vērtība ir vienāda.

Tajā pašā laikā mēs izmantojam i, j teikumu:

pludiņa attiecība = (i * 7 + j)/49,0;

Tas var raksturot "gradientu". Šeit ar koeficienta reizināšanas metodi tā ir apvienojusi rindu un kolonnu ietekmi. Tātad katrs elements ir atšķirīgs.

7. solis: kamēr cilpa

Cilpai ir brālis. Tas ir, kamēr cilpa. Ko cilpa var darīt, kamēr cilpa to var darīt. Taču cikla izmantošanas biežums CreativeCoding nav augsts kā cilpai.

Koda piemērs (5-14): [cceN_cpp theme = "dawn"] void setup () {

int a = 0;

kamēr (a <10) {

println (a);

a ++;

}

} [/cceN_cpp]

Kaut arī gramatisko struktūru ir vieglāk saprast nekā. Mēs varam izveidot mainīgos pirms paziņojuma. Pēc tam kvadrātiekavās aizpildiet izteiksmi. Kad tas ir apmierināts, darbiniet teikumus cilpas korpusā. Visbeidzot, mēs ievietojam izteiksmi cilpas pamattekstā, lai atjauninātu mainīgos, un tad, kad cikls ir pabeigts. Attiecībā uz garantēto cilpas laiku mēs bieži izmantojam cilpai. Attiecībā uz nenoteiktu mainīgo vērtību mēs iesakām izmantot cikla laikā.

Padomājiet:

Mēģiniet izmantot visu veidu pamata elementus, lai aizstātu zīmēšanas elementus cilpā, lai izveidotu dažādas otas.

Apvienojiet to ar trigonometrisko funkciju, kas aprakstīta pēdējā nodaļā, mēģiniet pārveidot "izkliedes punktu" suku par apaļas formas suku.

Mēģiniet izveidot divdimensiju punktu matricu, izmantojot tikai for loop.

Nākamās nodaļas priekšskatījums Tāpat kā šajā kursā, jūs atradīsit visas jaunās zināšanas, kuras esat apguvis, un spēles iespējas uzreiz ievērojami palielināsies. Programma ir pandora kaste. Viss, ko varat iedomāties, to var izdarīt jūsu vietā. Tāpēc mums nav iemesla nemācīties šo valodu, kas spēj sazināties ar datoriem. Nākamajā nodaļā mēs jums iepazīstināsim ar citu procesa kontroles paziņojumu. Tas var kontrolēt procesa plūsmu un radīt sarežģītākus un mainīgākus rezultātus. Ar if paziņojumu jūs varat viegli izveidot savas teksta piedzīvojumu spēles! Šis raksts nāk no dizainera Wenzy. Relatīvie lasījumi: Interesantas programmēšanas vadlīnijas dizaineram-sākotnējā pieskāriena apstrāde Interesantas programmēšanas vadlīnijas dizainerim-izveidojiet savu pirmo apstrādes programmu - Iegūstiet attēla skriešanu (pirmā daļa) Interesantas programmēšanas vadlīnijas dizainerim - Palaidiet attēlu (otrā daļa)

8. solis: avots

Šis raksts ir no:

Ja jums ir kādi jautājumi, varat sazināties ar : [email protected].

Ieteicams: