Programování pro hračičky/Andělé/Lekce 8
Tato 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]