我不是一位经验丰富的程序员,我只用少量几种语言知识,但我最近开始用Javascript编程,我遇到了push函数的问题。我想用自己在短时间编程中学到的技能给自己一个小项目。这个项目是为了创建一个程序,可以“翻转”扑克牌,直到它达到黑桃王牌。当我试图阻止任何重复卡被列出时,我遇到了大部分问题。这是我现在的代码:
var cardNumbers = ['2','3','4','5','6','7','8','9','10','Jack','Queen','King','Ace']
var currentCard = 'Hearts'
var currentCardNumber = '2'
while(currentCard !== 'Spades' || currentCardNumber !== 'Ace') {
var usedCards = ['Hearts']
var usedCardNumbers = ['2']
for(var i = 0; i < usedCards.length; i++) {
for(var t = 0; t < usedCardNumbers.length; t++) {
if(usedCards[i] === currentCard && usedCardNumbers[t] === currentCardNumber) {
var randomNumber = Math.floor(Math.random() * 13)
var randomCard = Math.floor(Math.random() * 4)
currentCard = cards[randomCard]
currentCardNumber = cardNumbers[randomNumber]
} else {
console.log(currentCardNumber + ' of ' + currentCard)
}
}
}
usedCards.push(currentCard);
usedCardNumbers.push(currentCardNumber)
var randomNumber = Math.floor(Math.random() * 13)
var randomCard = Math.floor(Math.random() * 4)
currentCard = cards[randomCard]
currentCardNumber = cardNumbers[randomNumber]
}
console.log('Program has found the Ace of Spades')
我相信我已经解决了大部分问题,因为我现在可以让代码运行,但是底部的推送功能现在正在工作,它允许绘制重复卡,因为没有卡被添加到使用的清单。我不确定在此之后我是否会遇到问题,或者如果使用我目前为止所知的一些事情甚至可能出现类似的事情,但任何建议都会有所帮助