gpt4 book ai didi

javascript - Javascript 中的随机重复函数

转载 作者:行者123 更新时间:2023-11-28 07:09:17 25 4
gpt4 key购买 nike

我想生成我的函数 Robot.prototype.seDeplacer 的随机重复

此函数为我的机器人(坐标)提供随机移动,但我想创建随机移动的随机重复。怎么可能?

我不需要计时器或类似的东西,只需重复 Robot.prototype.seDeplacer 函数中的随机移动 1、2 或 3 次即可。

我希望我说得足够清楚。

非常感谢

// Objet Robot
function Robot(nick, pv, maxSpeed, position) {
this.nick = nick;
this.pv = pv;
this.maxSpeed = maxSpeed;
this.position = position;
};

//Méthode présentation des robots
Robot.prototype.sePresenter = function() {
console.log("Bonjour je m'appelle " + this.nick + ". J'ai " + this.pv + " points de vie." + " Je me déplace à " + this.maxSpeed + " cases par seconde. Je suis à la case de coordonnées " + this.position);
};
Robot.prototype.seDeplacer = function() {
if (Math.random() > 0.5) {
// mouvement sur l'axe x
} else {
// mouvement sur l'axe y
}
var dx = (Math.random() * this.maxSpeed * 2) - this.maxSpeed;
this.position[0] += dx;

console.log("J'avancer vers " + this.position)
};

//Variables array
var robots = [
new Robot('Maurice',95,2,[5,8]),
new Robot('Lilian',76,3,[12,25]),
new Robot('Ernest',100,1,[11,14]),
new Robot('Juliette',87,3,[2,17]),
];

//boucle
robots.forEach(function(robot) {
robot.sePresenter();
robot.seDeplacer();
});

最佳答案

如果我理解的话,你只想要一个具有随机限制的循环:

var limit = Math.floor(Math.random() * 3) + 1; // 1, 2, or 3
for (var x = 0; x < limit; ++x) {
// Call your function
}

或者递减版本:

for (var x = Math.floor(Math.random() * 3) + 1;; x > 0; --x) {
// Call your function
}

关于javascript - Javascript 中的随机重复函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31448463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com