if문이 너무 많은데 이걸 줄일 수 있을까요?
조회수 3146회
발생하는 문제 및 실행환경
밑에 코드가 제가 원하는대로 되는데요. 코드가 너무 더러워요. 제가 줄이려고 몇번 다르게 코드를 짜봤는데 별로 큰 차이는 없어요. 코드를 줄이는데 도움이 될만한 수학적인 공식이 있을까요? 아니면 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;
}
댓글 입력