nnie.html

来自「梦想世界虚拟社区」· HTML 代码 · 共 844 行 · 第 1/2 页

HTML
844
字号
<HTML>

<HEAD>
<TITLE>MAIN FRAME</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var score=0                           //score
var startFLG=-1                       //start flag
var gameFLG=0                         //game play flag
var timerID = null                    //timer ID
var INT = 25                          //interval (ms)
var X=100                             //my chr X
var Y=256
var IX=0                              //my chr right move
var IY=0                              //       down
var DX=0                              //       left
var DY=0                              //       up
var IIX=0                             //       right speed up
var DDX=0                             //       left
var spCOUNT=0                         //LAYER COUNTER
var mySP=0                            //my chr COUNT
var blSP=0                            //block COUNT
var coSP=0                            //coin COUNT
var jmpFLG=0                          //jump flag
var stepFLG=0                         //my chr step flag
var tmLMT=1000                        //time limit
var timeC=0                           //time count

var mv1=-1                            //moving block flag 1
var mvH1=0                            //             HIT flag 1
var ofs1=0                            //offset 1

var blockX = new Array(99)            //block X
var blockY = new Array(99)            //      Y
var coinX = new Array(99)             //coin X
var coinY = new Array(99)             //     Y
var coinF = new Array(99)             //     null FLAG
var kiX = new Array(9)                //mushroom X
var kiY = new Array(9)                //         Y
var kiF = new Array(9)                //         null FLAG
var kiDX = new Array(9)               //         DX

var imgs = new Array(20)              //image data

imgs[0]=new Image();imgs[0].src="boy1c.gif"
imgs[1]=new Image();imgs[1].src="boy2c.gif"
imgs[2]=new Image();imgs[2].src="boy4c.gif"
imgs[3]=new Image();imgs[3].src="boy3c.gif"
imgs[4]=new Image();imgs[4].src="boy5c.gif"

imgs[5]=new Image();imgs[5].src="coin.gif"
imgs[6]=new Image();imgs[6].src="null.gif"
imgs[7]=new Image();imgs[7].src="kinoko.gif"

//IE check
 systm=""
 ver=navigator.appVersion
 len=ver.length
 for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
 systm = ver.charAt(iln+1).toUpperCase()

//---------------------------------------------------------
//                 main function
//---------------------------------------------------------

//main function
function interval1(){
 clearTimeout(timerID)
 
 timeC=timeC-1
 parent.scr.document.forms[0].elements[1].value = timeC
 if (timeC==0){stopG()}

  //moving block write
   ofs1=ofs1+mv1*4
   if (ofs1<=-192){mv1=1}
   if (ofs1>=0){mv1=-1}
   spMOV(1,blockX[0]*32,blockY[0]*32+ofs1)


 stepFLG=stepFLG+1;if (stepFLG>=2){stepFLG=0}
 if(X<100){X=100;IX=0;DX=0}
 if(X>1699){X=1699;IX=0;DX=0;stopG()}

 DX=DX+DDX;if (DX>8){DX=8;DDX=0}else{if (DX<0){DX=0;DDX=0}}
 IX=IX+IIX;if (IX>8){IX=8;DDX=0}else{if (IX<0){IX=0;IIX=0}}

 X=X+IX-DX

 if (jmpFLG!=0){Y=Y-DY;if (Y>=300){Y=300;jmpFLG=0};DY=DY-1}
 parent.scr.document.forms[0].elements[0].value = score

 if (IX-DX<0){
  if (jmpFLG==0){imgchg(mySP,3+stepFLG)}else{imgchg(mySP,4)}
 }else{
  if (IX-DX>0){
   if (jmpFLG==0){imgchg(mySP,1+stepFLG)}else{imgchg(mySP,2)}
  }else{
   if (jmpFLG==0){imgchg(mySP,0)}else{imgchg(mySP,2)}
  }
 }

 kmove()
 hitCHK(X,Y)
 getCHK(X,Y)
 atCHK(X,Y)

 spMOV(mySP,X,Y)
 sc2(X-100)
 if (Y>=300){stopG()}
 if (mvH1==1){Y=Y+4}
 if (gameFLG==1){timerID = setTimeout("interval1()",INT)}
}

//---------------------------------------------------------
//                 sub functions
//---------------------------------------------------------

//CLICK START
function startG(){
 document.onkeydown = keyDown
 document.onkeyup = keyUp
 if (systm!="C"){
  document.captureEvents(Event.KEYDOWN|Event.KEYUP)
  document.layers["starter"].moveTo(-1000,-1000)
  document.layers["CLRmes"].moveTo(0,0)
  document.layers["GMOmes"].moveTo(0,0)
  document.layers["TMOmes"].moveTo(0,0)
 }else{
  starter.style.posTop = -1000
  starter.style.posLeft = 150
  CLRmes.style.posTop = -1000
  GMOmes.style.posTop = -1000
  TMOmes.style.posTop = -1000
 }
 for (ia=blSP+1; ia<coSP+1; ia++){
  imgchg(ia,5)
  coinF[ia-blSP-1]=0
 }
 for (ia=0; ia<6; ia++){
  imgchg(coSP+ia+1,7)
  kiF[ia]=0
  kiDX[ia]=-4
 }


 BGMSTART()
 gameFLG=1
 score=0
 DDX=0;IIX=0;DX=0;IX=0
 timeC=tmLMT
 parent.scr.document.forms[0].elements[0].value = score
 parent.scr.document.forms[0].elements[0].value = tmLMT

 X=100;Y=256
 timerID = setTimeout("interval1()",1)
}

//GAME STOP
function stopG(){
 clearTimeout(timerID)
 if (timeC<=0){
  if (systm!="C"){
   document.layers["TMOmes"].moveTo(0,1050)
  }else{
   TMOmes.style.posTop = 50
   TMOmes.style.posLeft = 20+X
  }
 }else{
  if (X>=1699){
   if (systm!="C"){
    document.layers["CLRmes"].moveTo(0,1050)
   }else{
    CLRmes.style.posTop = 50
    CLRmes.style.posLeft = 50+X
   }
  }else{
   if (systm!="C"){
    document.layers["GMOmes"].moveTo(0,1050)
   }else{
    GMOmes.style.posTop = 50
    GMOmes.style.posLeft = 20+X
   }
  }
 }

 gameFLG=0
 startFLG=0
 if (systm!="C"){
  document.layers["starter"].moveTo(0,0)
 }else{
  starter.style.posTop = 100
  starter.style.posLeft = 50+X
 }
 BGMSTOP()
}


function BGMSTOP(){
 if (systm == "C"){
  BG.outerHTML = "<div id='BG'></DIV>"
 }else{
  document.embeds[0].stop()
 }
}

function BGMSTART(){
 if (systm == "C"){
  BG.outerHTML = "<div id='BG'><BGSOUND LOOP='-1' SRC='Soul_Food.mid'></DIV>"
 }else{
  document.embeds[0].stop()
  document.embeds[0].play(true)
 }
}


//LAYER SETUP
function spINI(spX,spY,spIMG){
  if (systm!="C"){
   document.write("<LAYER LEFT="+spX+" TOP="+spY+"><IMG SRC='"+spIMG+"'></LAYER>")
  }else{
   with (document) {
    write("<IMG SRC='"+spIMG+"' STYLE='position:absolute'>")
    images[spCOUNT].style.posLeft = spX
    images[spCOUNT].style.posTop =  spY
   }
  }
spCOUNT=spCOUNT+1
}

//LAYER MOVE
function spMOV(spNO,spX,spY){
 if (systm!="C"){
  document.layers[0].layers[spNO].moveTo(spX,spY)
 }else{
  document.images[spNO].style.posLeft = spX
  document.images[spNO].style.posTop =  spY
 }
}

//IMAGE CHANGE
function imgchg(imgNo,dataNo){
 if (systm!="C"){
  document.layers[0].layers[imgNo].document.images[0].src=imgs[dataNo].src
 }else{
  document.images[imgNo].src=imgs[dataNo].src
 }
}

//SCROLL
function sc2(scr2){
 if (systm!="C"){
  document.layers[0].left=-scr2
 }else{
  window.scroll(scr2,0)
 }
}

//ON KEY DOWN
function keyDown(DnEvents){
 if (systm != "C"){
  k=DnEvents.which
  if (k == 54){IIX=2}     // 6
  if (k == 52){DDX=2}     // 4

  if (k == 90){if (jmpFLG==0){DY=15;jmpFLG=1}}     //Z
  if (k == 122){if (jmpFLG==0){DY=15;jmpFLG=1}}    //z
 }else{
  k=window.event.keyCode
  if (k == 102){IIX=2}    // 6
  if (k == 100){DDX=2}    // 4

  if (k == 54){IIX=2}     // 6
  if (k == 52){DDX=2}     // 4

  if (k == 39){IIX=2}     // Right
  if (k == 37){DDX=2}     // Left

  if (k == 90){if (jmpFLG==0){DY=15;jmpFLG=1}}     //Z
  if (k == 122){if (jmpFLG==0){DY=15;jmpFLG=1}}    //z

 }
}

//ON KEY UP
function keyUp(UpEvents){
 if (systm != "C"){
  k=UpEvents.which
  if (k == 54){IIX=-2}
  if (k == 52){DDX=-2}

  if (k == 90){if (DY>0){DY=DY/2}}     //Z
  if (k == 122){if (DY>0){DY=DY/2}}    //z

 }else{
  k=window.event.keyCode
  if (k == 102){IIX=-2}    // 6
  if (k == 100){DDX=-2}    // 4

  if (k == 54){IIX=-2}     // 6
  if (k == 52){DDX=-2}     // 4

  if (k == 39){IIX=-2}     // Right
  if (k == 37){DDX=-2}     // Left

  if (k == 90){if (DY>0){DY=DY/2}}     //Z
  if (k == 122){if (DY>0){DY=DY/2}}    //z

 }
}

//BLOCK SETUP
function bs(bx,by){
 blockX[spCOUNT-1]=bx;blockY[spCOUNT-1]=by
 spINI(bx*32,by*32,'block.gif')
}

//COIN SETUP
function cs(cx,cy){
 coinX[spCOUNT-blSP-1]=cx;coinY[spCOUNT-blSP-1]=cy
 spINI(cx*32+8,cy*32+8,'coin.gif')
}

//MUSHROOM SETUP
function ki(kx,ky){
 kiX[spCOUNT-coSP-1]=kx*32;kiY[spCOUNT-coSP-1]=ky*32
 spINI(kx*32,ky*32,'kinoko.gif')
}

//MUSHROOM MOVE
function kmove(){
 kiX[0]=kiX[0]+kiDX[0]
  if (kiX[0]<=6*32+8){kiDX[0]=4}else{if (kiX[0]>=8*32){kiDX[0]=-4}}
  if (X>9*32+100){kiF[0]=0;imgchg(coSP+1+0,7)}
 kiX[1]=kiX[1]+kiDX[1]
  if (kiX[1]<=11*32){kiDX[1]=4}else{if (kiX[1]>=13*32){kiDX[1]=-4}}
  if (X>14*32+100){kiF[1]=0;imgchg(coSP+1+1,7)}
 kiX[2]=kiX[2]+kiDX[2]
  if (kiX[2]<=19*32){kiDX[2]=4}else{if (kiX[2]>=21*32-4){kiDX[2]=-4}}
  if (X>22*32+100){kiF[2]=0;imgchg(coSP+1+2,7)}
  if (X<19*32-300){kiF[2]=0;imgchg(coSP+1+2,7)}
 kiX[3]=kiX[3]+kiDX[3]
  if (kiX[3]<=24*32){kiDX[3]=4}else{if (kiX[3]>=26*32){kiDX[3]=-4}}
  if (X>27*32+100){kiF[3]=0;imgchg(coSP+1+3,7)}
  if (X<24*32-300){kiF[3]=0;imgchg(coSP+1+3,7)}
 kiX[4]=kiX[4]+kiDX[4]
  if (kiX[4]<=32*32){kiDX[4]=4}else{if (kiX[4]>=33*32){kiDX[4]=-4}}
  if (X>34*32+100){kiF[4]=0;imgchg(coSP+1+4,7)}
  if (X<32*32-300){kiF[4]=0;imgchg(coSP+1+4,7)}
 kiX[5]=kiX[5]+kiDX[5]
  if (kiX[5]<=45*32){kiDX[5]=4}else{if (kiX[5]>=46*32){kiDX[5]=-4}}
  if (X>47*32+100){kiF[5]=0;imgchg(coSP+1+5,7)}
  if (X<45*32-300){kiF[5]=0;imgchg(coSP+1+5,7)}

 for (ik=0; ik<6; ik++){
  spMOV(coSP+1+ik,kiX[ik],kiY[ik])
 }
}


//HIT CHECK
function hitCHK(hx,hy){
 tmpGND=0;tmpGn=0;mvH1=0
  ltFLG=0
  rtFLG=0
  lfFLG=0
  rfFLG=0
  a0FLG=0
 for (ia=0; ia<blSP+1; ia++){
  tmpHIT=0;tmpLT=0;tmpRT=0;tmpLF=0;tmpRF=0;tmpBD=0
  tmpXa=blockX[ia]*32;tmpXb=tmpXa+31
  tmpYa=blockY[ia]*32;tmpYb=tmpYa+31
  if (ia==0){tmpYa=tmpYa+ofs1;tmpYb=tmpYb+ofs1}
  tmphx=hx+31;tmphy=hy+31

  //Ltop
  if (hx>=tmpXa){
   if (hx<=tmpXb){
    if (hy>=tmpYa){
     if (hy<=tmpYb){
      tmpHIT=1;tmpLT=1
     }
    }
   }
  }
  //Rtop
  if (tmphx>=tmpXa){
   if (tmphx<=tmpXb){
    if (hy>=tmpYa){
     if (hy<=tmpYb){
      tmpHIT=1;tmpRT=1
     }
    }
   }
  }
  //Lfoot
  if (hx>=tmpXa){
   if (hx<=tmpXb){
    if (tmphy>=tmpYa){
     if (tmphy<=tmpYb){
      tmpHIT=1;tmpLF=1
     }
    }
   }
  }
  //Rfoot
  if (tmphx>=tmpXa){
   if (tmphx<=tmpXb){
    if (tmphy>=tmpYa){
     if (tmphy<=tmpYb){
      tmpHIT=1;tmpRF=1
     }
    }
   }
  }

  if (hx+4>=tmpXa){
   if (hx+4<=tmpXb){
    if (tmphy+1>=tmpYa){
     if (tmphy+1<=tmpYb){
      tmpGND=1;tmpGn=ia
     }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?