如何从剪刀石头布 javascript 中获得输赢结果的 return

How do I get the return of a result from a Win or loss in Rock paper scissors javascript

每次结果后如何更新游戏分数?作为学校项目的一部分,这是我一直在控制台中进行的工作,并且花了太多时间试图将其联系起来。我已经设法让结果在控制台上显示为基于开关和案例的赢家,但是我如何获取字符串文本的提取结果并制作一些可以更新游戏数组的东西?对不起,如果我问的问题不对

const game = {
  win: 0,
  loss: 0,
};

const choices = ["rock", "paper", "scissors"];

var random1 = Math.round(Math.random() * 2);
var random2 = Math.round(Math.random() * 2);

var bot1 = choices[random1];
var bot2 = choices[random2];

console.log("Player 1:" + bot1);
console.log("Player 2:" + bot2);

var result = "";

function returnResult() {
  switch (bot1) {
    case "paper":
      switch (bot2) {
        case "rock":
          console.log("Player 1 Wins!");
          result = win++;
          break;
        case "scissors":
          console.log("Player 2 Wins!");
          result = loss++;
          break;
        case "paper":
          console.log("Draw!");
          break;
      }
  }

  switch (bot1) {
    case "rock":
      switch (bot2) {
        case "scissors":
          console.log("Player 1 Wins!");
          result = win++;
          break;
        case "paper":
          console.log("Player 2 Wins!");
          result = loss++;
          break;
        case "rock":
          console.log("Draw!");
          break;
      }
  }

  switch (bot1) {
    case "scissors":
      switch (bot2) {
        case "paper":
          console.log("Player 1 Wins!");
          result = win++;
          break;
        case "rock":
          console.log("Player 2 Wins!");
          result = loss++;
          break;
        case "scissors":
          console.log("Draw!");
          break;
      }
  }
  return result;
}
console.log(results);

不确定您打算如何玩游戏,但这里有一个关于如何在 game 对象中保持得分的建议。按“开始”按钮开始游戏并将得分保持在 game:

const game = {
  win: 0,
  loss: 0,
};

const choices = ["rock", "paper", "scissors"];

function returnResult() {
  console.clear() // This is just to prevent console crowding for this example

  // Move your random number generators inside the function
  // so you get a new random number each time game is played.
  const random1 = Math.round(Math.random() * 2);
  const random2 = Math.round(Math.random() * 2);

  const bot1 = choices[random1];
  const bot2 = choices[random2];

  console.log("Player 1:" + bot1);
  console.log("Player 2:" + bot2);

  // var result = "";  You don't this if you are keeping score in `game` object

  // No need to call switch on bot1 three times:
  switch (bot1) {
    case "paper":
      switch (bot2) {
        case "rock":
          console.log("Player 1 Wins!");
          game.win++;  // Update game win
          break;
        case "scissors":
          console.log("Player 2 Wins!");
          game.loss++; // Update game loss
          break;
        case "paper":
          console.log("Draw!");
          break;
      }
      break;

    case "rock":
      switch (bot2) {
        case "scissors":
          console.log("Player 1 Wins!");
          game.win++; // Update game win
          break;
        case "paper":
          console.log("Player 2 Wins!");
          game.loss++; // Update game loss
          break;
        case "rock":
          console.log("Draw!");
          break;
      }
      break;

    case "scissors":
      switch (bot2) {
        case "paper":
          console.log("Player 1 Wins!");
          game.win++; // Update game win
          break;
        case "rock":
          console.log("Player 2 Wins!");
          game.loss++; // Update game loss
          break;
        case "scissors":
          console.log("Draw!");
          break;
      }
      break;
  }

  // return result;  No need to return result.  Update game object every play instead.
  console.log(game)
  return game // Return game object if needed
}
<button onclick="returnResult()">Play</button>