-1
我正在尋找Java中的Mastermind。java中的策略 - 正確的錯誤位置
該代碼工作(顯然),但是有沒有辦法在較短的方式,而不是我已經做了(實際上列出每種顏色)的代碼「正確的顏色在錯誤的位置」(白色)?也許另一個循環?
如果您需要了解白色的配方,我在這裏找到它:Mastermind formula。
public class Game {
private static int white = 0;
private static int colors = 4;
static int[] colorsArray = {
1,2,3,4
};
static int[] randomArray = new int[colors];
static int[] userArray = new int[colors];
static int isWhite(int[] randomArray, int[] userArray){
int n1, n2, n3, n4 =0;
int m1, m2, m3, m4 =0;
//HERE'S THE PROBLEM
for(int i=0; i<colorsArray.length; i++){
//n userArray
if(colorsArray[0] == userArray[i]){
n1++;
}
if(colorsArray[1] == userArray[i]){
n2++;
}
if(colorsArray[2] == userArray[i]){
n3++;
}
if(colorsArray[3] == userArray[i]){
n4++;
}
//m randomArray
if(colorsArray[0] == randomArray[i]){
m1++;
}
if(colorsArray[1] == randomArray[i]){
m2++;
}
if(colorsArray[2] == randomArray[i]){
m3++;
}
if(colorsArray[3] == randomArray[i]){
m4++;
}
white = (Math.min(n1, m1) + Math.min(n2, m2) + Math.min(n3, m3) + Math.min(n4, m4)) - black;
}
return white;
}
...other code
任何幫助表示讚賞。提前致謝。
此問題應該已發佈在[代碼評論](http://codereview.stackexchange.com/)上。 –
對不起,我不知道,也許我可以編輯這個問題,只是把「白色」功能縮短了? – Raichu