• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • javascript 掃雷游戲示例 (有待完善)

    發表于:2007-06-30來源:作者:點擊數: 標簽:
    HTML HEAD TITLE Java script 地雷/TITLE style input.no { background-color:eeeeee; border:none; width:20; height:20; color:blue; } input.ye { background-color:eeeeee; border:none; width:20; height:20; color:red; } input { width:20; height:20;
    <HTML>
    <HEAD>
    <TITLE>Javascript 地雷</TITLE>

    <style>
    input.no {
    background-color:eeeeee;
    border:none;
    width:20;
    height:20;
    color:blue;
    }
    input.ye {
    background-color:eeeeee;
    border:none;
    width:20;
    height:20;
    color:red;
    }
    input {
    width:20;
    height:20;
    color:red;
    }
    input.mode0 {
    width:50;
    height:30;
    border-style:inset
    }
    input.mode1 {
    width:50;
    height:30;
    COLOR:GREEN;
    }
    </style>
    </HEAD>
    <BODY BGCOLOR="#000000">
    <div ID=dilei style="position:absolute;left:0;top:5">
    <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
      <SCRIPT LANGUAGE="JavaScript">
    <!--
    var x,y=0;
    while(document.write("<tr>"),y++<20)
    for(x=0;x++<20;document.write("<td ><font size=-5><input ID="+x+"_"+y+" type=button>"))
    ;

    //-->
    </SCRIPT>
    </TABLE>
    </div>
    <div ID=ToolBar style="position:absolute;top:5;left:401;/*height:300;*/background-color:green;width:200">
    <input id=Mode type=button value="挖雷" class=mode1  onclick="javascript: modeTab();"><nobr><span id=modenow style="color:blue">現在可以揭開方塊</span>
    </div>
    </BODY>
    <SCRIPT LANGUAGE="JavaScript">
    <!--//34
    var Row,Col,i=0;
    var RowSize=20,ColSize=20;
    var mineNum=45;  //地雷數
    var mode=1;


    var mineX=new Array(mineNum), mineY=new Array(mineNum);
    var Mine= new Array(RowSize),Decouv= new Array(RowSize);
    for(i=0;i<20;i++){
      Mine[i]=new Array(ColSize);
      Decouv[i]= new Array(ColSize);
    }


    //初始化

    for (Row=1;Row<=RowSize;Row++) {  
    for (Col=1;Col<=ColSize;Col++) {  
    Mine[Row-1][Col-1]=0;  
    Decouv[Row-1][Col-1]=0;  
    }  
    };  
    //布地雷 Math.random( )
    i=0;
    while (i<mineNum){
    mineX[i]=Math.round(Math.random()*1000)%RowSize;
    mineY[i]=Math.round(Math.random()*1000)%ColSize;
    if(Mine[mineX[i]][mineY[i]]==9) continue;
    Mine[mineX[i]][mineY[i]]=9;
    Decouv[mineX[i]][mineY[i]]=9;
    i++;
    }
    for(i=0;i<mineNum;i++){
    for(j=1;j<=8;j++){
    switch(j){
    case 1:
    divIndexX=mineX[i]-1;divIndexY=mineY[i]-1;
    break;
    case 2:
    divIndexX=mineX[i]-1;divIndexY=mineY[i];
    break;
    case 3:
    divIndexX=mineX[i]-1;divIndexY=mineY[i]+1;
    break;
    case 4:
    divIndexX=mineX[i];divIndexY=mineY[i]-1;
    break;
    case 5:
    divIndexX=mineX[i];divIndexY=mineY[i]+1;
    break;
    case 6:
    divIndexX=mineX[i]+1;divIndexY=mineY[i]-1;
    break;
    case 7:
    divIndexX=mineX[i]+1;divIndexY=mineY[i];
    break;
    case 8:
    divIndexX=mineX[i]+1;divIndexY=mineY[i]+1;
    }
    if(divIndexX<0||divIndexY<0||divIndexX>=RowSize||divIndexY>=ColSize) continue;
    Decouv[divIndexX][divIndexY]+=1;
    Mine[divIndexX][divIndexY]=Decouv[divIndexX][divIndexY];
    }
    }
    //模式切換

    function modeTab(){
    if(mode==1){
    mode=0;
    document.all("Mode").className="mode0";
    document.all("Mode").value="探測";
    document.all("modenow").innerText="現在可以標記雷區"+mode;
    }else{
    mode=1;
    document.all("Mode").className="mode1";
    document.all("Mode").value="挖雷";
    document.all("modenow").innerText="現在可以揭開方塊"+mode;
    }
    }



    function TRY(){
    var SRCElem=event.srcElement;
    if(SRCElem.tagName!="INPUT"||SRCElem.className=="mode0"||SRCElem.className=="mode1") return;
    if(SRCElem.className=="no"||SRCElem.className=="ye")return;
    tryDown(SRCElem);
    }
    function tryDown(Elem){
    var  indexX,indexY;
    var ss=Elem.id.split("_");
    indexX=ss[0].valueOf()-1;
    indexY=ss[1].valueOf()-1;

    if(mode==0){
    if(Elem.value==""){
    Elem.value="!";
    Mine[indexX][indexY]=Decouv[indexX][indexY];
    Decouv[indexX][indexY]=18;
    return;}
    else{
    Elem.value="";
    Decouv[indexX][indexY]=Mine[indexX][indexY];
    return;
    }
    }
    if(Decouv[indexX][indexY]>8){
    if(Decouv[indexX][indexY]>=18)
    return;
    Elem.value="*";
    Elem.className="ye";
    Decouv[indexX][indexY]=9
    return;
    }
    Elem.className="no";
    Elem.value=""+Mine[indexX][indexY];
    if(Decouv[indexX][indexY]>0){
    Decouv[indexX][indexY]=9
    return;
    }
    if(Decouv[indexX][indexY]==0)
    {
    Elem.value="";
    tryGo(indexX,indexY);
    }
    return;
    }
    function TRY2(Elm){
    Elm.value="!";
    }
    function judge4(x,y){
    if(Decouv[x][y]!=-1&&Decouv[x][y]!=0){
    return 0;}
    var i=0,j=0,divIndexX,divIndexY;
    for(i=1;i<=4;i++){
    switch(i){//
    case 1://up
    divIndexX=x;divIndexY=y-1;j=1;
    break;
    case 2://left
    divIndexX=x-1;divIndexY=y;j=2;
    break;
    case 3://down
    divIndexX=x;divIndexY=y+1;j=3;
    break;
    case 4://right
    divIndexX=x+1;divIndexY=y;j=4;
      }
    if(divIndexX>=0&&divIndexY>=0&&divIndexX<RowSize&&divIndexY<ColSize&&Decouv[divIndexX][divIndexY]>=0&&Decouv[divIndexX][divIndexY]<=8){
    return j;
      }  
    }
    return 0;
    }
    function tryGo(x,y){
    var stackX=new Array(),stackY=new Array();
    var i=0;
    var test=50;
    var divIndexX=x,divIndexY=y;
    stackX[i]=divIndexX;stackY[i]=divIndexY;
    while(test){
    var Elem;
    eval("Elem=document.all(\""+(divIndexX+1)+"_"+(divIndexY+1)+"\")");
    Elem.className="no";
    if(Decouv[divIndexX][divIndexY]<=0)
      Decouv[divIndexX][divIndexY]= -1;
    else{
      Elem.value=""+Mine[divIndexX][divIndexY];
      Decouv[divIndexX][divIndexY]= 9;
      }

    switch(judge4(divIndexX,divIndexY)){
    case 1://up
    divIndexY--;
    break;
    case 2://left
    divIndexX--;
    break;
    case 3://down
    divIndexY++;
    break;
    case 4://right
    divIndexX++;
    break;
    case 0:
    i=i-1;
    if(i<0){
      return;
    }
    divIndexX=stackX[i];divIndexY=stackY[i];
    continue;
      }
    i=i+1;stackX[i]=divIndexX;stackY[i]=divIndexY;
    }
    }
    document.onclick =TRY;
    //-->
    </SCRIPT>
    </HTML>



    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>