重复出现问题(JS/HTML)
trouble repeating (JS/HTML)
我试图组装一个简单的Rock、paper、剪刀模拟器来给我姐姐留下深刻印象,所以我做到了,但代码的随机化部分并不是每次都有效。这是:
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="rps(1)">Rock</button>
<button type="button" onclick="rps(2)">Paper</button>
<button type="button" onclick="rps(3)">Scissors</button>
<script>
var ai= null;
var rps=function(type){
ai= Math.floor(Math.random()+1*3);
switch(ai){
case 1:
switch(type){
case 1:
alert("Tie");
break;
case 2:
alert("Win");
break;
case 3:
alert("Loose");
break;
}
break;
case 2:
switch(type){
case 1:
alert("Loose");
break;
case 2:
alert("Tie");
break;
case 3:
alert("Win");
break;
}
break;
case 3:
switch(type){
case 1:
alert("Loose");
break;
case 2:
alert("Tie");
break;
case 3:
alert("Win");
break;
}
break;
default:
alert("Error");
break;}
};
</script>
</body>
</html>
请让我知道我做错了什么,我将来如何改进,以及可以做些什么来挽救这一切。
谢谢。
Math.random
的语义是错误的。试试这个:
ai = Math.floor(Math.random() * 3 + 1);
现在您可以随机获得胜利、失败或平局
在行中:
ai= Math.floor(Math.random()+1*3);
你必须记住,数学运算符有一定的顺序。乘法发生在加法之前,所以它的书写方式意味着取1 * 3
(或3),并将其相加或Math.random()
。我猜你总是得3分。最好和最清晰的解决方案通常是使用括号。以下是应该如何编写:
ai = (Math.floor(Math.random()*3)+1);
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="rps(1)">Rock</button>
<button type="button" onclick="rps(2)">Paper</button>
<button type="button" onclick="rps(3)">Scissors</button>
<script>
var ai= null;
var rps=function(type){
var typeArray= ['','Rock', 'Paper', 'Scissors'];
ai= Math.floor(Math.random()*3+1);
alert(typeArray[type]);
if(type ===1)
{
if(ai ===1)
{
alert("draws with rock");
}
else if(ai ===2)
{
alert("loss to paper");
}
else if(ai ===3)
{
alert("win vs scissors");
}
}
else if(type ===2)
{
if(ai ===1)
{
alert("win vs rock");
}
else if(ai ===2)
{
alert("draw paper");
}
else if(ai ===3)
{
alert("loss vs scissors");
}
}
else
{
if(ai ===1)
{
alert("loss vs rock");
}
else if(ai ===2)
{
alert("win vs paper");
}
else if(ai ===3)
{
alert("draw with scissors");
}
}
};
</script>
</body>
</html>
相关文章:
- 在向下滚动JS/HTML/CSS wordpress网站时替换徽标图像
- 将Rails后端添加到JS/HTML/CSS应用程序时,正确的文件位置是什么
- 可以't在Angular js/HTML中获取单个记录
- 如何在angular js/HTML中处理数组
- JS HTML CSS Accordion
- 当包含在CSS/JS/HTML中时,我如何得出正确的目录路径
- JS/HTML function
- 如何在JS/HTML中将函数输出发送到表单元格
- 挖空 JS html 绑定返回奇怪的代码而不是 html 字符串
- 下划线.js HTML 元素中的模板
- Knockout.js - “html”绑定中的“值”绑定
- Angular.js & HTML / 如何并排组合 2 个元素
- DevExpress (JS / HTML) 将事件附加到弹出窗口中的元素
- 将数据从 C# 传递到 angular js html
- 我如何在我的 AngularJS 中获取这个 D3.js HTML 元素,以便我可以操作它
- 强制设备方向通过 CSS/JS/HTML 横向
- 动态更新地铁列表在水平滚动时查看 (JS/HTML)
- WinJS UI JS/HTML 控件是否可以在 Metro 之外使用
- 如何使网页一次只能访问一次?(JS+HTML)
- 如何在 JS / HTML 中添加更改图像的文本