日期:2014-05-16 浏览次数:20464 次
<script>
//用于判定是否是开始初始化方块
var mark = false;
var starttime, endtime, finaltime = 0; //记录游戏时间
var array = new Array(); //用一个数组装所有绿色方块对象
var timerarr = new Array(); //记录每个绿色方块 和 对应的计时器id
function move(e){
var xy = document.getElementById("xy");
var self = document.getElementById("self");
x = e.clientX;
y = e.clientY;
xy.value = "当前坐标:"+x +","+y;
if(x>=454 && x<=530 &&y>=285 && y<=355 && mark==false){
mark = true;
initothers(20);
}
target(e,x,y);
}
//线宽4px 格边长36px target函数定位白色方块的位置
function target(e,x,y){
var self = document.getElementById("self");
if(x>=12 && x<=855 && y>=40 &&y<=525 && mark ==true){
self.style.left = x +'px';
self.style.top = y +'px';
}
}
//初始化白方块位置
function init(){
var today = new Date();
starttime = today.getTime();
document.getElementById("self").style.left = 454+'px';
document.getElementById("self").style.top = 282+'px';
}
//用一个对象存储绿色方块信息
function piece(){
piece.prototype.id = -1; //方块编号 从0开始
piece.prototype.dire = 0; //移动方向 1上 2下 3左 4右
piece.prototype.top = 0;
piece.prototype.left = 0;
}
//初始化num个绿色移动方块
function initothers(num){
for(var i=0;i<num;i++){
document.getElementById("pan").innerHTML += "<div id='"+i+"'; style='height:36px;width:36px;background-color:#00FF00;z-index:100; position:absolute;left:-50px'></div>";
//num1表示从横坐标出现还是纵坐标<1表示横 >1表示纵 num2 >1表示沿着坐标轴运动 <1表示逆着坐标走
var num1 = Math.random()*2;
var num2 = Math.random()*2;
var top1 = 43; //top1表示从上向下移动
var top2 = 563; //top2表示从下向上移动
var left1 = 14; //left1表示左-->右
var left2 = 894; //右-->左
var p = new piece();
p.id = i;
if(num1<1){
if(num2>1){ //从上往下移动
p.dire = 2;
p.top = top1;
p.left = (Math.ceil(Math.random()*23)*40-26);
document.getElementById(i).style.left = p.left+'px';
document.getElementById(i).style.top = top1+'px';
}else{ //从下往上移动
p.dire = 1;
p.top = top2;
p.left = (Math.ceil(Math.random()*23)*40-26);
document.getElementById(i).style.left = p.left+'px';
document.getElementById(i).style.top = top2+'px';
}
}else{
//从左向右移动
if(num2>1){
p.dire = 4;
p.top = (Math.ceil(Math.random()*14)*40+3);
p.left = left1;
document.getElementById(i).style.left = left1+'px';
document.getElementById(i).style.top = p.top+'px';
}else{ //右向左
p.dire = 3;
p.top = (Math.ceil(Math.random()*14)*40+3);
p.left = left2;
document.getElementById(i).style.left = left2+'px';
document.getElementById(i).style.top = p.top+'px';
}
}
array.push(p);
}
//初始化完成 触发移动
var n;
for(n in array){
go(n,array[n].id,array[n].dire);
}
}
//重新定位一个绿色方块location
function location(timerid,i,n,p){
clearInterval(timerarr[timerid]);
//alert(timerarr[timerid]);
var num1 = Math.random()*2;
var num2 = Math.random()*2;
var top1 = 43;
var top2 = 563;
var left1 = 14;
var left2 = 894;
if(num1<1){
if(num2>1){
p.dire = 2;
p.top = top1;
p.left = (Math.ceil(Math.random()*23)*40-26);
document.getElementById(i).style.left = p.left+'px';
document.getElementById(i).style.top = top1+'px';
}else{
p.dire = 1;
p.top = top2;
p.left = (Math.ceil(Math.random()*23)*40-26);
document.getElementById(i).style.left = p.left+'px';
document.getElementById(i).style.top = top2+'px';
}
}else{
if(num2>1){
p.dire = 4;
p.top = (Math.ceil(Math.random()*14)*40+3)