Javaのコードの書き換えに苦戦しています。
以下のコードだと、一応思うようには動作するのですが、if文が多すぎるコードになってしまって綺麗ではないな..と思っています。
もう少し綺麗な式に直す方法があれば教えていただけませんか?
やりたいこと:
少ない文字で同時にいくつかの値を返すゲームを作りたい。
2人のプレイヤーが4つのアクションボタンをそれぞれ持っており、結果は(0-3)の配列から算出する。
メソッド引数'one'と'two'で受け取った数値から勝敗を判断し、戻り値として 0=両者の負け、1=プレイヤー1の勝ち、2=プレイヤー2の勝ち、3=両者の勝ち、のどれかを返すというものです。
lang
1public int fightMath(int one, int two) { 2 3 if(one == 0 && two == 0) { result = 0; } 4 else if(one == 0 && two == 1) { result = 0; } 5 else if(one == 0 && two == 2) { result = 1; } 6 else if(one == 0 && two == 3) { result = 2; } 7 else if(one == 1 && two == 0) { result = 0; } 8 else if(one == 1 && two == 1) { result = 0; } 9 else if(one == 1 && two == 2) { result = 2; } 10 else if(one == 1 && two == 3) { result = 1; } 11 else if(one == 2 && two == 0) { result = 2; } 12 else if(one == 2 && two == 1) { result = 1; } 13 else if(one == 2 && two == 2) { result = 3; } 14 else if(one == 2 && two == 3) { result = 3; } 15 else if(one == 3 && two == 0) { result = 1; } 16 else if(one == 3 && two == 1) { result = 2; } 17 else if(one == 3 && two == 2) { result = 3; } 18 else if(one == 3 && two == 3) { result = 3; } 19 20 return result; 21}

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/08/27 01:41