Programování pro hračičky/Andělé/Lekce 8

Z Wikiverzity
Tato stránka není ještě hotová.
Jak používat klasifikační nálepkuTato stránka je součástí kurzu:
středoškolská
Příslušnost: skupinová

Opakování a probrání domácího úkolu[editovat]

Podařilo se Vám vyzkoušet programátorské možnosti probrané v minulé lekci (řídicí funkce moved_in() nebo moved_out(), just_moved(), let_not_in() nebo let_not_out(), filter_*(), notify_*(), forbidden_*())?

Projděte si své výtvory a vzájemně si je ozkoušejte. Snažte se odhalit nedostatky a chyby, a odhalené se pak pokuste buď odstranit, nebo aspoň rozpoznat, jakým směrem se k jejich odstranění vydat.

Větvení programu[editovat]

Víceméně intuitivně jsme v minulých lekcích začali užívat některých řídicích slov, jimiž v programu určujeme, který z možných dalších běhů programu se má zvolit, když je splněna určitá podmínka. Tak jsme například v kapitole o implicitních řídicích funkcích snadno pochopili úsek kódu, který neživým viditelným objektům nastavoval neviditelnost až do příštího pohybu:

if (!living(co) && !co->query_invis())
  co->set_hidden_until_next_move();


if (/*podmínka*/)
  /*příkaz*/

příkaz může být jednoduchý i složený

výše uveden jednoduchý (příkaz zakončen středníkem)

složený (vícero jednotlivých příkazů zakončených středníkem a spojených do složených závorek), příklad v téže kapitole o implicitních řídicích funkcích:


if (kdo->query_race()=="skřet")
  {
    send_message_to(kdo,MT_NOTIFY,MA_MOVE,wrap("Jako skřet tudy "
      "neprojdeš. Elfské kouzlo dosud chrání tuto bránu."));
    kdo->send_message(MT_LOOK,MA_MOVE,wrap(Ten(1,kdo)+" se "
      +dan("pokusil",kdo)+" projít na jih, ale zastavilo "+ho(4,kdo)
      +" elfské kouzlo, které dosud chrání bránu morijských skladů "
      "přede všemi skřety."));
    return 1;
  }

Platnost podmínky[editovat]

0/... (příklady)

!


&&


||

== != > < >= <= (priority)

Řídicí struktury[editovat]

if

else

else if

switch

while

do ... while

for

foreach

return

break

continue

Úkoly do příští lekce[editovat]

...

Poznámky[editovat]


Pomocné stránky[editovat]