【问题标题】:How to compare two different values after they have been changed already?已经更改了两个不同的值后如何比较它们?
【发布时间】:2018-01-23 23:58:11
【问题描述】:

我正在创建一个剪刀石头布游戏,我正在使用用户可以选择的按钮来选择石头或剪刀,但我不知道如何比较用户答案和计算机答案的结果看看谁赢了。

number = Math.floor(Math.random()*6)+1;

function results(){
    switch(number){
        case 6: case 5: var a = document.getElementById("computer").innerHTML="Rock";
        break;
        case 4: case 3: var b = document.getElementById("computer").innerHTML="Paper";
        break;
        case 2: case 1: var c = document.getElementById("computer").innerHTML="Scissors";
        break;
    }
}

function paper(){
    switch(true){
        case (number <= 6): var paper = document.getElementById("user").innerHTML="Paper";
        break;
    }
}

function rock(){
    switch(true){
        case (number <= 6): var rock = document.getElementById("user").innerHTML="Rock";
        break;
    }
}

function scissors(){
    switch(true){
        case (number <= 6): var rock = document.getElementById("user").innerHTML="Scissors";
        break;
    }
}

【问题讨论】:

  • switch(true){ case (number &lt;= 6): if 的解决方案将更具可读性和更短。
  • 为什么要使用 switch 作为条件语句?此外,您的所有函数都会创建局部变量,然后对它们不执行任何操作。

标签: javascript


【解决方案1】:

您只需要一个功能,当用户单击任何选项时将触发该功能,然后在同一功能中为计算机生成一个选择,然后根据它们找出获胜者。检查下面的示例:

HTML:

<div id="c"></div>
<div id="u"></div>   
<div id="r"></div>
 // send parameter to function, 1 for Rock, 2 for Paper and 3 for Scissors
<button onclick="startg(1)">
  Rock
</button>
<button onclick="startg(2)">
  Paper
</button>
<button onclick="startg(3)">
   Scissors
</button>

Java 脚本:

function startg(userChoice){

 document.getElementById("u").innerHTML="";
 document.getElementById("c").innerHTML="";
 document.getElementById("r").innerHTML="";

 var comNumber = Math.floor(Math.random()*3)+1;

 switch (userChoice){
    case 1 : {
       document.getElementById("u").innerHTML="You Choosed : Rock";
       break;
      }
    case 2 : {
       document.getElementById("u").innerHTML="You Choosed : Paper";
       break;
      }
    case 3 : {
       document.getElementById("u").innerHTML="You Choosed : Scissors";
       break;
     }
 }

 switch (comNumber){
    case 1 : {
       document.getElementById("c").innerHTML="Compouter Choosed :Rock";
       break;
    }
   case 2 : {
       document.getElementById("c").innerHTML="Compouter Choosed :Paper";
       break;
    }
   case 3 : {
       document.getElementById("c").innerHTML="Compouter Choosed :Scissors";
       break;
    }
 }


    //Results :

    if (userChoice == 1 && comNumber==2)
       document.getElementById("r").innerHTML="Result : Computer Win!";
    else if (userChoice == 2 && comNumber==1)
       document.getElementById("r").innerHTML="Result : You Win!";
    else if (userChoice == 1 && comNumber==3)
       document.getElementById("r").innerHTML="Result : You Win!";
    else if (userChoice == 3 && comNumber==1)
       document.getElementById("r").innerHTML="Result : Computer Win!";
    else if (userChoice == 2 && comNumber==3)
       document.getElementById("r").innerHTML="Result : Computer Win!";
    else if (userChoice == 3 && comNumber==2)
       document.getElementById("r").innerHTML="Result : You Win!";
    else if (userChoice == comNumber)
       document.getElementById("r").innerHTML="Result : Draw";
 }

你可以在这里看到一个工作示例:https://jsfiddle.net/emilvr/wpkj6rw6/4/

【讨论】:

    猜你喜欢
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 2013-11-13
    相关资源
    最近更新 更多