Zu viele "wenn" - Aussagen?

Folgende code funktioniert wie ich es brauche, aber es ist hässlich, übertrieben oder eine Reihe anderer Dinge. Habe ich mir angeschaut Formeln und versucht zu schreiben, ein paar Lösungen, aber ich am Ende mit einer ähnlichen Menge von Aussagen.

Ist es eine Art mathematische Formel, die profitieren würden mich in diesem Fall oder 16, wenn Aussagen akzeptabel?

Den code zu erklären, es ist eine Art simultan-rundenbasiertes Spiel.. zwei Spieler haben vier action-buttons und die Ergebnisse kommen aus einem array (0-3), aber die Variablen 'ein' & 'zwei' zugeordnet werden können, nichts, wenn das hilft. Das Ergebnis ist, 0 = weder gewinnen, 1 = p1 gewinnt, 2 = p2 gewinnt, 3 = beide zu gewinnen.

public int fightMath(int one, int two) {

    if(one == 0 && two == 0) { result = 0; }
    else if(one == 0 && two == 1) { result = 0; }
    else if(one == 0 && two == 2) { result = 1; }
    else if(one == 0 && two == 3) { result = 2; }
    else if(one == 1 && two == 0) { result = 0; }
    else if(one == 1 && two == 1) { result = 0; }
    else if(one == 1 && two == 2) { result = 2; }
    else if(one == 1 && two == 3) { result = 1; }
    else if(one == 2 && two == 0) { result = 2; }
    else if(one == 2 && two == 1) { result = 1; }
    else if(one == 2 && two == 2) { result = 3; }
    else if(one == 2 && two == 3) { result = 3; }
    else if(one == 3 && two == 0) { result = 1; }
    else if(one == 3 && two == 1) { result = 2; }
    else if(one == 3 && two == 2) { result = 3; }
    else if(one == 3 && two == 3) { result = 3; }

    return result;
}

InformationsquelleAutor der Frage TomFirth | 2014-03-19

Schreibe einen Kommentar