Jak udělám, když mám u trezoru namačkat kód, ukážou se mi tlačítka a jak udělám, aby jsem je musel zmáčknout v určitém pořadí? A když zmáčknu třeba prvně 3. tlačítko, tak se rozezvoní alarm a správná kombinace by byla 1, 2, 3?
Ja by som to riešil takto:
var d; // pomocná premenná
d=c-a;
if(d==b)
{
actor.Talk("Správna kombinácia!");
}
else
{
actor.Talk("Nie, to nebude ono!");
}
Prečo vlastne testujem hodnotu d na b? Pretože podľa tabuľky uvedenej pod textom je to jediný stav, ktorý sa nastane iba raz.
1 2 3 // 3-1== 2 - jediný stav, ktorý nie je totožný s iným
1 3 2 // 2-1==1 - nesedí
2 3 1 // 1-2==-1 - nesedí
2 1 3 // 3-2==1 - nesedí
3 2 1 // 1-3==-2 - nesedí
3 1 2 // 2-3==-1 - nesedí
EDIT:
Pretože by sa z nejakých dôvodov mohlo stať to, že by hráč zadal čísla, ktoré by sa napriek ich nesprávnej kombinácii vyhodnotili ako správna kombinácia, bolo by lepšie, keby sa všetky tie čísla testujú v samostatnej podmienke.