我正在尝试使用Math.random绘制图像。
虽然我知道我没有做对。
我知道我需要一个循环来完成Math.random函数,但不知道如何实现它。我也知道我的spawnRock功能不正确,但不知道如何解决它。有什么帮助吗?
此代码也会破坏我当前的drawImages。
var num;
function mathRock() {
var x = Math.floor((Math.random() * 10) + 1);
document.getElementById("num").innerHTML = x;
}
function spawnRock() {
if (num = 2, 4, 8){
context.drawImage(rock, 1500, 450);
} else {
}
var rock = new Image();
rock.src = "rock.png";
答案 0 :(得分:1)
以下是Math.random
Math.random() * X
将在零到(但不包括)X之间生成随机浮点数。因此Math.random*10
将生成0.22,1.56,7.92最高为9.9999999999。
如果你需要随机整数,你可以用parseInt( Math.random()*10 )
去除随机数的非整数部分,这将生成0,1,2,3,4,5, -6,7,8,9-。
如果您只想要一个随机“硬币翻转”(真或假),您可以这样做:
var randomTrueFalse=(Math.floor(Math.random()*2)==0);
如果你需要在10次中随意做一些事情那么你可以这样做:
var thirtyPercentSuccess=( (Math.random()*10-7)>=0 );
然后使用您想要的随机数版本来选择是否绘制或执行其他操作:
if (thirtyPercentSuccess){
context.drawImage(rock, 1500, 450);
}else{
// something else
}
答案 1 :(得分:0)
mathRock工作正常,但我想您应该x
向num
变量num = x
,然后在spawnRock
将if
条件更改为{{} 1}}因为num == 2 || num == 4 || num==8
或==
用于比较,===
用于分配。