• <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-6-30 18:56 | 作者: admin | 來源: | 查看: 19次 | 進入軟件測試論壇討論

    領測軟件測試網 <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/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>