Więc pisałem nożyczki papier rock gry, kiedy przyszedł do napisania tej funkcji:Rock, papier, nożyczki. Określić wygraną/stratę/remis używając matematyki?
a
jest odtwarzaczem za ruch, b
jest odtwarzacz drugi za pojedynek. Wszystko, czego potrzebuję, to dowiedzieć się, czy gracz wygrał, przegrał lub był związany.
//rock=0, paper=1, scissors=2
processMove(a, b) {
if(a == b) ties++;
else {
if(a==0 && b==2) wins++;
else if(a==0 && b==1) losses++;
else if(a==1 && b==2) losses++;
else if(a==1 && b==0) wins++;
else if(a==2 && b==1) wins++;
else if(a==2 && b==0) losses++;
}
}
Moje pytanie brzmi: Jaki jest najbardziej elegancki sposób napisania tej funkcji?
Edytuj: Szukam pojedynczej linijki.
Szukanie czytelnego kodu jest znacznie lepsze niż szukanie jednokanałowych. –
Spójrz na moją odpowiedź na podobne pytanie: http://stackoverflow.com/a/9553712/1207152 – sch