【问题标题】:How to display a score count, displaying times it has been randomly generated?如何显示分数计数,显示它已随机生成的次数?
【发布时间】:2019-04-10 19:25:15
【问题描述】:

我正在制作一个文本“游戏”,它有 3 个玩家,他们的名字在一个数组中,我正在尝试设置一个分数计数,以便每次按下按钮后随机生成他们的名字,它被添加到他们的个人分数中。

由于这是我的第一个项目,我在任何方法上都没有取得任何成功。

var playerOne = prompt("Enter the name of the 1st player");
var playerTwo = prompt("Enter the name of the 2nd player"); 
var playerThree = prompt("Enter the name of the 3rd player");  

const playerName = [playerOne, playerTwo, playerThree];
const didHow = ['quietly', 'carefully', 'slowly', 'quickly', 'secretly', 'ragefully'];
const didWhat = ['went', 'ran', 'fell', 'drove', 'jumped', 'fought', 'died'];



const quoteBtn = document.querySelector('#quoteBtn');
const playerNameQ = document.querySelector('#playerName');
const didHowQ = document.querySelector('#didHow');
const didWhatQ = document.querySelector('#didWhat');



quoteBtn.addEventListener('click', displayQuote);

function displayQuote() {
    let numberOne = Math.floor(Math.random()*playerName.length);
    let numberTwo = Math.floor(Math.random()*didHow.length);
    let numberThree = Math.floor(Math.random()*didWhat.length);



    playerNameQ.innerHTML = playerName[numberOne];
    didHowQ.innerHTML = didHow[numberTwo];
    didWhatQ.innerHTML = didWhat[numberThree];
}

【问题讨论】:

  • 那么当用户输入他们的名字时,将他们的分数设置为-1?更具体地说明你想要什么。你得到什么错误?你面临什么问题?

标签: javascript


【解决方案1】:

Javascript 不是编译语言,而是解释语言。即,声明的顺序很重要。当您进入课程时,情况就不那么正确了,但是对于您的示例,请在使用之前移动您的函数声明:

...

function displayQuote() {
    // ...
}

quoteBtn.addEventListener('click', displayQuote);

【讨论】:

    【解决方案2】:

    为每个用户创建一个对象数组,

    arrUsers=[{
    "id":"1"
    "user":"user1",
    "score":0
    },{
    "id":"2"
    "user":"user2",
    "score":0
    },{
    "id":"3"
    "user":"user3",
    "score":0
    }]
    

    之后,用id检查玩家的回合,每按一次按钮做 score++。

    【讨论】:

      【解决方案3】:

      我解决了这个问题:

      var pointsOne = 0;
      var pointsTwo = 0;
      var pointsThree = 0;
      

      在 displayQuote() 之前并在函数中插入以下代码:

          if (playerName[numberOne] == playerOne) {
              pointsOne++;
              pointsOnee.innerHTML = pointsOne;
          }
          else if (playerName[numberOne] == playerTwo) {
              pointsTwo++;
              pointsTwoo.innerHTML = pointsTwo;
          }
          else if (playerName[numberOne] == playerThree){
              pointsThree++;
              pointsThreee.innerHTML = pointsThree;
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-14
        • 1970-01-01
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        相关资源
        最近更新 更多