Javascript中推送功能的问题

时间:2017-07-03 00:21:59

标签: javascript

我不是一位经验丰富的程序员,我只用少量几种语言知识,但我最近开始用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')

我相信我已经解决了大部分问题,因为我现在可以让代码运行,但是底部的推送功能现在正在工作,它允许绘制重复卡,因为没有卡被添加到使用的清单。我不确定在此之后我是否会遇到问题,或者如果使用我目前为止所知的一些事情甚至可能出现类似的事情,但任何建议都会有所帮助

0 个答案:

没有答案