}
}
function makeemptyboard(num)
{
var w=parseint(this.width*20)+parseint(this.width)+1;
var htmlcode="<table id='board' width='"+w+"' align='center' border='0' cellpadding='0' cellspacing='1' onselectstart='return false;' onclick=\"if(event.srcelement.tagname.touppercase()!='td')return;if(event.srcelement.innertext!='@')scanbomb.onclick(event.srcelement.id.split('_'),event.srcelement)\" style='cursor:default' oncontextmenu=\"if(event.srcelement.classname=='cl1'){event.srcelement.innertext=event.srcelement.innertext=='@'?' ':'@';if(event.srcelement.innertext=='@')scanbomb.check(event.srcelement.id.split('_'),true);else scanbomb.check(event.srcelement.id.split('_'),false);}\">";
for(i=0;i<this.height;i++)
{
this.board[i]=new array(this.width);
htmlcode+="<tr>";
for(j=0;j<this.width;j++)
{
htmlcode+="<td id='"+i+"_"+j+"' align='center' class='cl1'> </td>"
this.board[i][j]=num;
}
htmlcode+="</tr>";
}
htmlcode+="</table>";
document.all("boardcontainer").innerhtml=htmlcode;
this.makemine();
this.makethreadnum();
}
function makemine()//num为空白或者bomb的个数,当bomb小于等于格数的一半的时候num为bomb数,否则为空白数
{
var condition=(this.minenum<=math.round(this.width*this.height/2));
var num=condition?this.minenum:this.width*this.height-this.minenum;
var str="new array(";
for(var i=0;i<num-1;i++)
str+="new array(2),";
str+="new array(2))";
eval("var position="+str);
for(var i=0;i<num;i++)//这里产生不重复随机数的方法太差了!!!!!
{
position[i][0]=math.round(math.random()*(this.height-1));
position[i][1]=math.round(math.random()*(this.width-1));
for(var j=0;j<i;j++)//检查是否重复
{//alert("i,j:"+i+","+j);
if(position[i][0]==position[j][0])
if(position[i][1]==position[j][1])
{
//alert("repeat!");
position[i][0]=math.round(math.random()*(this.height-1));
position[i][1]=math.round(math.random()*(this.width-1));
j=0;
}
}
}//这里不重复随机数的产生方法太差了!!!!!
if(condition)//true 表示产生的是mine的position,false表示产生的是空白的position
{
this.minep=position;
for(var i=0;i<num;i++)
{
this.board[parseint(position[i][0])][parseint(position[i][1])]=-1000;
}
}
else
{
for(var k=0;k<num;k++)
this.board[position[k][0]][position[k][1]]=0;
this.minep=new array(this.minenum);
var counter=0;
for(var i=0;i<this.height;i++)
{
for(var j=0;j<this.width;j++)
if(this.board[i][j]==-1000)
{
this.minep[counter]=new array(2);
this.minep[counter][0]=i;
this.minep[counter][1]=j;
counter++;
}
}
}
}
function makethreadnum()
{
for(i=0;i<this.height;i++)
for(j=0;j<this.width;j++)
{
if(this.board[i][j]==-1000)continue;
for(k=0;k<this.minenum;k++)
if(math.abs(i-this.minep[k][0])<=1&&math.abs(j-this.minep[k][1])<=1)
this.board[i][j]--;
}
}
function onclick(position,ob)
{
var flag=ob.classname!='cl2';
if(this.board[position[0]][position[1]]==0)
this.handlezeroarea(position);
else if(this.board[position[0]][position[1]]==-1000)
{
ob.style.bordercolor='red';
ob.style.backgroundcolor='red';
for(i=0;i<this.minenum;i++)
{