我有一个简单的 javascript 动画,其中两个牛仔(iamges)根据随机间隔数相互“比赛”。
我不知道该怎么做是让脚本决定谁是赢家,这意味着如果牛仔首先达到预定义的距离,脚本就会知道并显示谁赢了的警报。
这是显示示例的屏幕截图:
这是我到目前为止的代码:http: //pastebin.com/Cmt4N8c9
能给我一些方向吗?
谢谢,布赖恩
我有一个简单的 javascript 动画,其中两个牛仔(iamges)根据随机间隔数相互“比赛”。
我不知道该怎么做是让脚本决定谁是赢家,这意味着如果牛仔首先达到预定义的距离,脚本就会知道并显示谁赢了的警报。
这是显示示例的屏幕截图:
这是我到目前为止的代码:http: //pastebin.com/Cmt4N8c9
能给我一些方向吗?
谢谢,布赖恩
在您的move()
功能中,您应该执行类似的操作
if (x >= dest_x) {
alert('player 1 won');
} else if (x2 >= dest_x2) {
alert('player 2 won');
} else {
... continue the loop ...
}
你很可能会把它抛在脑后
document.getElementById("cowboy").style.top = y+'px';
document.getElementById("cowboy").style.left = x+'px';
document.getElementById("cowboytwo").style.top = y2+'px';
document.getElementById("cowboytwo").style.left = x2+'px';
顺便说一下,您可能还想检查重复变量的代码。
例如,AFAIK dest_x 和 dest_x2 都是相同的。
简单的移动
/* Y is not relevant since you only move it on X axis */
var position1 = 100;
var position2 = 100;
var dest = 800; //Or any given value
function move() {
var step1 = Math.floor(1 + (10 * Math.random() ) );
var step2 = Math.floor(1 + (10 * Math.random() ) );
position1 += step1;
position2 += step2;
document.getElementById("cowboy").style.left = position1+'px';
document.getElementById("cowboytwo").style.left = position2+'px';
if(position1 < dest && position2 < dest) {
window.setTimeout('move()',100);
} else {
//We have the winner
if(position1 > dest) alert("Winner is Cowboy1");
if(position2 > dest) alert("Winner is Cowboy2");
//Its also possible that both of them pass target value at the same step
}
}