0
我正在嘗試製作一個Master Mind的javascript/html遊戲。 (規則位於這裏) http://en.wikipedia.org/wiki/Mastermind_%28board_game%29我的循環遊戲Master Mind有什麼問題? (javascript)
基本上,你有4種顏色從用戶隱藏。用戶試圖猜測顏色。該計劃將只返回以下信息。
1)正確位置的正確顏色數。
2)錯誤位置的正確顏色數。
3)錯誤顏色的數量。
我希望代碼爲每個正確的答案創建一個紅色的圓圈,每個正確的顏色爲白色,但不正確的位置爲灰色,錯誤的答案爲灰色。
我覺得我的邏輯是正確的,但程序不斷吐出不正確的數據。我覺得我錯過了一些東西。 任何幫助都會很棒。
var guessedAlready = [4];
var correctAlready = [4];
for(var i = 0; i<4; i++) //set array to see if answer was already guessed
{
correctAlready[i] = 0;
guessedAlready[i] = 0;
}
for(var i = 0; i<4; i++)
{
if(color1 == answerArray [i])
{
if(i == 0)
{
correctAnswer += 1;
guessedAlready[i] = 1;
}
if (guessedAlready[i] != 1)
{
incorrectPlace +=1;
}
guessedAlready[i] = 1;
}
if(color2 == answerArray [i])
{
if(i == 1)
{
correctAnswer+=1;
if(guessedAlready[i] == 1)
{
incorrectPlace -= 1;
}
}
if (guessedAlready[i] != 1)
{
incorrectPlace +=1;
}
guessedAlready[i]=1;
}
if(color3 == answerArray [i])
{
if(i == 2)
{
correctAnswer+=1;
if(guessedAlready[i] == 1)
{
incorrectPlace -= 1;
}
}
if (guessedAlready[i] != 1)
{
incorrectPlace +=1;
}
guessedAlready[i]=1;
}
if(color4 == answerArray [i])
{
if(i == 3)
{
correctAnswer += 1;
if(guessedAlready[i] == 1)
{
incorrectPlace -=1;
}
}
if (guessedAlready[i] != 1)
{
incorrectPlace +=1;
}
guessedAlready[i]=1;
}
}
wrongAnswer = 4-incorrectPlace-correctAnswer;
//---------------------------------------------------------------creates divs for each correct, incorrectly placed, and wrong answer---------------//
for(var i = 0; i<correctAnswer; i++)
{
var myElement = document.createElement('div');
myElement.className = 'pastAnswerShow';
myElement.id = 'answerShow'+tracker;
pastAnswerBox.appendChild(myElement);
myElement.style.background = 'black';
keyTracker+=1;
}
for(var i = 0; i <incorrectPlace; i++)
{
var myElement = document.createElement('div');
myElement.className = 'pastAnswerShow';
myElement.id = 'answerShow'+tracker;
pastAnswerBox.appendChild(myElement);
myElement.style.background = 'white';
keyTracker+=1;
}
for(var i = 0; i<wrongAnswer; i++)
{
var myElement = document.createElement('div');
myElement.className = 'pastAnswerShow';
myElement.id = 'answerShow'+tracker;
pastAnswerBox.appendChild(myElement);
myElement.style.background = 'grey';
keyTracker+=1;
}
你可能建立一個jsFiddle嗎? –
問題到底是什麼?錯誤消息?什麼沒有發生?如果你知道它們,可能會更好地將代碼拆分成較小的部分,並只發布相關的修改。 –
爲什麼你有'correctAlready'定義,從來沒有使用它? – Ghost