if문이 너무 많은데 이걸 줄일 수 있을까요?

발생하는 문제 및 실행환경

밑에 코드가 제가 원하는대로 되는데요. 코드가 너무 더러워요. 제가 줄이려고 몇번 다르게 코드를 짜봤는데 별로 큰 차이는 없어요. 코드를 줄이는데 도움이 될만한 수학적인 공식이 있을까요? 아니면 if문 16개가 충분히 나올만한 건가요?

코드를 설명하자면, 턴 방식의 게임인데요. 두명의 플레이어가 각각 4개의 액션 버튼을 가졌는데 그 값은 0~3이에요. result의 값이 0이면 아무도 못이긴거고 1이면 1P가 이긴거고 2면 2P가 이긴거 3이면 둘다 이긴거에요.

에러메시지(있는 경우)

소스코드

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;
}

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.