我正在構建一個遊戲,我希望從提示中獲取玩家輸入,並將它們與已使用的輸入進行比較,如果兩次選擇相同的東西,則拒絕選擇。這裏是我的相關代碼:爲什麼我的比較陣列不能工作?
var playerChoiceRow = 0;
var playerChoiceColumn = 0;
var playerAttackArray = [];
function playerAttack(playerChoiceRow,playerChoiceColumn) {
for (var i=0; i<playerAttackArray.length; i++){
if ([playerChoiceRow,playerChoiceColumn] === playerAttackArray[i]){
alert("You have already attacked this space, please choose another.");
playerChoiceRow = prompt("Please choose a number between 0 and 5.");
playerChoiceColumn = prompt("Please choose a number between 0 and 5.");
}
}
if (playerChoiceRow === undefined){
alert("Please choose a number between 0 and 5!");
playerChoiceRow = prompt("Please choose a number between 0 and 5.");
}
if (playerChoiceColumn === undefined){
alert("Please choose a number between 0 and 5!");
playerChoiceColumn = prompt("Please choose a number between 0 and 5.");
}
playerAttackArray.push([playerChoiceRow,playerChoiceColumn]);
while (playerCounter || computerCounter <=4){
var playerChoiceRow = prompt("Please select row of attack. (0 though 5)")-'';
var playerChoiceColumn = prompt("Please select column of attack. (0 though 5)")-'';
playerAttack(playerChoiceRow,playerChoiceColumn);
if (playerCounter == 5){
alert("You have sunk all enemy boats!");
break;
}
}
那麼究竟是什麼問題? – Mureinik
在JS回答你的問題時,'[1,2] === [1,2]'是否是錯誤的事實,Havamere? (不知道我明白了。) –
這實際上並沒有幫助我造成的情況。我可以顯示完整的代碼,但我想盡我所能地自行構建它。 – Havamere