Skilyrðisreglur

Syntax fyrir skilyrðisreglur

Skilyrðisregla hefur formið:

if(skilyrði){
  skipanir
}
    

Ef að skilyrðið innan svigans er satt eru allar skipanir innan slaufusviganna framkvæmdar. Dæmi:

Ef músin er 200 pixla eða lengra til hægri, er teiknaður hringur með miðju í staðsetningu músarinnar.

Hér er myndband frá Daniel Shiffman um skilyrðisreglur.

Prófaðu að breyta skilyrðinu í mouseIsPressed. Hvernig færðu forritið til þess að teikna hringinn núna?

Syntax fyrir skilyrðisreglur með if og else

Skilyrðissetning með if og else hefur formið:

if(skilyrði){
  ef skilyrðið er satt
  eru skipanirnar hér framkvæmdar
}
else{
  annars eru skipanirnar hér
  framkvæmdar
}
    

Í forritinu hér fyrir neðan eru teiknaðir sporbaugar vinstra megin ef bendillinn er hægra megin (mouseX>width/2) og öfugt.

Prófaðu aftur að breyta skilyrðinu í mouseIsPressed.

Skipunina rectMode(CENTER) hefurðu ef til vill ekki séð áður. Athugaðu hverju það breytir að fjarlægja hana.

Notum for setningu til þess að teikna marga sporbauga

Syntaxinn fyrir for lykkju er

      for (var i = byrjunargildi; skilyrði; breyting á i){ skipanir sem á að endurtaka á meðan skilyrðið er satt}
      

Ef teikna á 50 hringi á mismunandi stöðum gæti for-lykkjan t.d. verið:

       for(var i = 1; i< 50; i = i+1) {
        //x verður slembitala á bilinu frá 0 upp í 400
        ellipse(random(400), 200, 20,20);}
      

Frekari umfjöllun um for-lykkjur má finna hér.

Hér fyrir neðan má sjá forrit þar sem for-lykkja er notuð til að teikna 50 sporbauga. x verður á bilinu frá 0 upp í 200 ef mouseX er meira en 200, en á bilinu frá 200 upp í 400 ef músin er vinstra megin á skjánum.

Prófaðu að breyta gegnsæinu á sporbaugunum. Síðasta inntakið á fill() ræður gegnsæinu.

Prófaðu að breyta fjölda sporbauganna. Hvað þorirðu að hafa þá marga?

Ekki, eða og og

Sem dæmi um einfalt skilyrði, hér er bara teiknaður hringur þegar músartakkanum er haldið inni.

Stundum viljum við búa til ný skilyrði úr öðrum

Ekki

Við notum neitun til þess að fá skilyrði sem er alveg öfugt við ákveðið skilyrði.

Ef p er eitthvað skilyrði þá er !p neitunin. Þ.e. táknar "ekki p".

Eða

Stundum viljum við að að minnsta kosti annað tveggja skilyrða sé uppfyllt.

Ef p og q eru einhver skilyrði þá er p || q skilyrðið sem táknar "p eða q".

Og

Stundum viljum við að tvö skilyrði séu uppfyllt.

Ef p og q eru einhver skilyrði þá er p && q skilyrðið sem táknar "p og q".

Dæmi um fleiri inntök

Við höfum ýmsar leiðir til þess að hafa áhrif á skifturanr okkar. Í dæmunum hér á undan voru þessar innbyggðu breytur notaðar:

Í biblíunni okkar https://p5js.org/reference/ má finna ýmsar aðrar leiðir til þess að hafa áhrif á skriftur, margt munum við skoða síðar.

Fallið keyPressed() og breytuna keyCode notum við saman til þess að greina það þegar notandinn notar takka á lyklaborðinu.

Þeir sem hafa áhuga geta seinna skoðað skipanir sem snjallsímar geta stjórnað. Eins og touches fyrir snertingar, acceleraationX/Y/Z fyrir hröðun og rotationX/Y/Z fyrir snúning.