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

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;
    }
}

#1楼 票数:0

您只需要一个功能,该功能将在用户单击任何选项时触发,然后在同一功能中为计算机产生一个选择,然后根据它们确定赢家。 检查以下示例:

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/

  ask by Wisemen translate from so

未解决问题?本站智能推荐:

1回复

根据其他两个值之间的特定比较来更改两个值?

我正在制作一个小游戏,我有两个变量; 一个用于玩家的选择,另一个用于计算机的随机选择。 玩家可以选择攻击 1、攻击 2 和攻击 3。 计算机也是如此(使用 Math.random())。 如果获胜者选择了击败计算机选项的选项,我想提高获胜者的分数。 如果他们选择相同,则增加抽奖次数。 我已经写了
2回复

JS 比较两个对象。 更改值的返回键

我正在尝试比较两个对象并返回更改后的值的键。 现在我有: 预期:这已更改:电子邮件和名字
1回复

Javascript如何比较两个值,然后更改背景颜色?

为什么此代码不起作用? 我希望它更改输入背景的颜色,无论该值正确(绿色)还是错误(红色)。
5回复

如何比较两个对象数组并更改在两个数组中找到的对象的值?

假设我有两个对象数组: 我想在array2 中找到通过id 与array1 匹配的所有对象,并更改它们的名称值以匹配array1 中的名称值。 在我的伪代码中:
3回复

如何比较两个简单的值?

我正在通过在线课程学习JavaScript,我试过这个: 我检查了很多次,我没有看到任何错误,但由于某种原因它只是没有出现。 我也试过document.write而不是alert以防我的浏览器阻止弹出窗口,但它仍然没有显示。 有什么建议么?
1回复

为什么我的两个值不能正确比较?

我有一些对象,我试图比较它们的值并在一个值大于另一个值时使函数发生。 但是我的代码似乎是错误的,因为即使该值大于另一个值,它仍然控制台记录“false”而不是 true。 我什至控制台记录了该值以检查它是否更大。 这是我的代码。
1回复

比较 JavaScript 中两个值的值

我有两个 csv 文件,一个包含路线信息,其中将填充每个 id 的数据行,其中每行包含多个站点。 一个例子 所以路由字段由:分隔。 另一个 csv,包含每个站点以及纬度和经度,如下所示: 所以基本上我想做的是找出用户在他们的路线上的纬度和经度。 所以基本上我会读取用户的路线以拥有 A、B
2回复

如何比较来自两个变量的值,这些变量在JavaScript中映射其他变量后得到了它们的值?

我试图: 从两个选择列表中获取用户值,然后 将用户值与某个对象的前两项比较(该对象有5个具有属性的对象),此对象是通过映射其他5个变量创建的...然后,如果用户值等于某些对象的前两项对象的索引 从对象的索引中返回最后3个项目,该项目的前两个项目与用户值相等。 到