USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Jogo "Ping Pong"
Postada em 15/10/2003 por Tekki            
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--

var timerID = null
var INT = 100
var loadFLG=0
var gameFLG=0
var missFLG=0
var tim = 0                                    //time
var blcol = new Array(5)                       //block color
var blsta = new Array(40)                      //block status
var blclr = 0                                  //clear block
var ballX = 0                                  //ball data
var ballY = 0
var ballN = 3
var ballDX= 0
var ballDY= 0
var tmpRL = 193
var keyP=0
var keyPr=0
var endFLG=0

blcol[0]="#FFFF00"
blcol[1]="#FFB000"
blcol[2]="#FF8000"
blcol[3]="#FF4000"
blcol[4]="#FF0000"
blcol[5]="#000000"

var ieFLG=0
var n4FLG=0
if (document.all){
ieFLG=1
}else{
if (document.getElementById){
  n4FLG=0
}else{
  n4FLG=1
}
}


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

function mainF(){
clearTimeout(timerID)
tim=tim+1
with (Math){tmptim=floor(tim/10)}
tmptc=""
tmptb=tim/10
if (tim==tmptim*10){tmptc=".0"}
ballX=ballX+ballDX
ballY=ballY+ballDY
outCHK()
blkCHK()
if (document.getElementById){
  document.SC.TM.value=tmptb+tmptc
  document.SC.CL.value=blclr
  document.SC.SR.value=blclr*200-tim
  document.getElementById("ball").style.top =  ballY
  document.getElementById("ball").style.left = ballX
}else{
  if (ieFLG==1){
   document.SC.TM.value=tmptb+tmptc
   document.SC.CL.value=blclr
   document.SC.SR.value=blclr*200-tim
   ball.style.posTop = ballY
   ball.style.posLeft = ballX
  }else{
   document.layers["info"].document.forms[0].TM.value=tmptb+tmptc
   document.layers["info"].document.forms[0].CL.value=blclr
   document.layers["info"].document.forms[0].SR.value=blclr*200-tim
   document.layers["ball"].moveTo(ballX,ballY)
  }
}
racketMove()
if (gameFLG==1){timerID = setTimeout("mainF()",INT)}
}


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

//game init
function initG(){
  keyP=0
if (endFLG == 0){
  endFLG=1
  blclr=0
  tim=0
  ballN=3
  with (Math){tmptim=floor(tim/10)}
  if (document.getElementById){
   document.SC.TM.value=tmptim
   document.getElementById("ovrmes").style.top=-1000
   document.getElementById("clrmes").style.top=-1000
  }else{
   if (ieFLG==1){
    document.SC.TM.value=tmptim
    clrmes.style.top=-1000
    ovrmes.style.top=-1000
   }else{
    document.layers["info"].document.forms[0].TM.value=tmptim
    document.layers["ovrmes"].visibility="HIDE"
    document.layers["clrmes"].visibility="HIDE"
   }
  }
  for (ib=0; ib<5; ib++){for (ia=0; ia<8; ia++){
   tmpIDn=ib*8+ia+1
   if (document.getElementById){
    document.getElementById(tmpIDn).style.backgroundColor = blcol[ib]
   }else{
    if (ieFLG==1){
     document.all(tmpIDn+9).style.backgroundColor = blcol[ib]
    }else{
     document.layers[tmpIDn].bgColor=blcol[ib]
    }
   }
   blsta[ib*8+ia]=ib
  }}
}
if (document.getElementById){
  document.SC.BL.value=ballN
  document.getElementById("starter").style.top=-1000
}else{
  if (ieFLG==1){
   document.SC.BL.value=ballN
   starter.style.top=-1000
  }else{
   document.layers["info"].document.forms[0].BL.value=ballN
   document.layers["starter"].visibility="HIDE"
  }
}
gameFLG=1;loadFLG=1
ballX=209;ballY=270;ballDX=-8;ballDY=-8;tmpRL=193;missFLG=0
timerID = setTimeout("mainF()",INT)
}


function keyDown(DnEvents){
if (ieFLG==0){
  k=DnEvents.which
}else{
  k=window.event.keyCode
}

  if (k == 54){keyP=5}                         //6
  if (k == 102){keyP=5}                        //6

  if (k == 52){keyP=-5}                        //4
  if (k == 100){keyP=-5}                       //4

  if (k == 83){if (gameFLG==0){initG()}}       //S
  if (k == 115){if (gameFLG==0){initG()}}      //s
}

function keyUp(UpEvents){
if (ieFLG==0){
  k=UpEvents.which
}else{
  k=window.event.keyCode
}
  if (k == 102){keyP=0}                   //6
  if (k == 54 ){keyP=0}                   //4
  if (k == 100){keyP=0}                   //6
  if (k == 52 ){keyP=0}                   //4
}


//racket move
function racketMove(){
if (loadFLG==1){
  if (keyP != 0){
   tmpkeyP=keyP*keyPr
   if (tmpkeyP>=0){
    if (keyPr != 0){
     if (Math.abs(keyPr)<15){keyPr=keyPr*1.2}
    }else{
     keyPr=keyP
    }
   }else{
   keyPr=keyP
   }
  }else{
   keyPr=0
  }
  tmpRL=tmpRL+keyPr
  if (tmpRL<16){tmpRL=16}
  if (tmpRL>370){tmpRL=370}
  if (document.getElementById){
   document.getElementById("racket").style.left=tmpRL
  }else{
   if (ieFLG==1){
    racket.style.left=tmpRL
   }else{
    document.layers["racket"].left=tmpRL
   }
  }
}
}

//wall and racket check
function outCHK(){
if (ballX < 16){ballX=32-ballX;ballDX=-ballDX}
if (ballX > 401){ballX=802-ballX;ballDX=-ballDX}
if (ballY < 16){ballY=32-ballY;ballDY=-ballDY}
if (ballY >= 272){
  if (missFLG==0){
   tmpX=(ballDX/ballDY)*(272-ballY)+ballX
   if (tmpX >= tmpRL-12){
    if (tmpX <= tmpRL+42){
     ballY=272;ballDY=-ballDY
     ballX=tmpX
     ballRD=tmpX-tmpRL
     with (Math){ballDX=8*abs(ballDX)/ballDX}
     if (ballRD<-4){ballDX=-15}
     if (ballRD>36){ballDX=15}
     if (ballRD>=14){if (ballRD<=16){ballDX=-2}}
     if (ballRD>=17){if (ballRD<=20){ballDX=2}}
     if (ballRD>=0){if (ballRD<=4){ballDX=-4}}
     if (ballRD>=28){if (ballRD<=32){ballDX=4}}
     if (ballRD>=-4){if (ballRD<=-1){ballDX=-11}}
     if (ballRD>=33){if (ballRD<=36){ballDX=11}}
    }
   }
  if (ballDY>0){missFLG=1}
  }else{
  if (ballY>290){missFLG=0;ballN=ballN-1;gameEnd()}
  }
}
}

//block check
function blkCHK(){
tmpY=ballY+4;tmpX=ballX+4
if (tmpY>=48){if (tmpY<=147){if (tmpX>=29){if (tmpX<=396){
  with (Math) {
   ia=floor((tmpX-29)/46);ib=floor((tmpY-48)/20);ic=ib*8+ia
  }
  if (blsta[ic]<=4){
   tmpbc=blsta[ic]+1
   blsta[ic]=tmpbc
   tmpIDnc=ic+1
   if (document.getElementById){
    document.getElementById(tmpIDnc).style.backgroundColor = blcol[tmpbc]
   }else{
    if (ieFLG==1){
     document.all(tmpIDnc+9).style.backgroundColor = blcol[tmpbc]
    }else{
     document.layers[tmpIDnc].bgColor=blcol[tmpbc]
    }
   }
   if (tmpbc==5){blclr=blclr+1}
   if (blclr >= 40){gameEnd()}

   if (ballDX>0){
    iy=(ballDY/ballDX)*(29+46*ia-tmpX)+tmpY
    if (iy>48+20*ib+18){
     tmpY1=48+20*ib+18
     tmpX1=(ballDX/ballDY)*(48+20*ib+18-tmpY)+tmpX  
     ballX=tmpX1-4;ballY=tmpY1-4
     ballDY=-ballDY
    }else{
     if (iy<44+20*ib){
      tmpY1=48+20*ib
      tmpX1=(ballDX/ballDY)*(48+20*ib-tmpY)+tmpX  
      ballX=tmpX1-4;ballY=tmpY1-4
      ballDY=-ballDY
     }else{
      tmpX1=29+46*ia
      tmpY1=(ballDY/ballDX)*(29+46*ia-tmpX)+tmpY
      ballX=tmpX1-4;ballY=tmpY1-4
      ballDX=-ballDX
     }
    }
   }else{
    iy=(ballDY/ballDX)*(29+46*ia+44-tmpX)+tmpY
    if (iy>48+20*ib+18){
     tmpY1=48+20*ib+18
     tmpX1=(ballDX/ballDY)*(48+20*ib+18-tmpY)+tmpX  
     ballX=tmpX1-4;ballY=tmpY1-4
     ballDY=-ballDY
    }else{
     if (iy<44+20*ib){
      tmpY1=48+20*ib
      tmpX1=(ballDX/ballDY)*(48+20*ib-tmpY)+tmpX  
      ballX=tmpX1-4;ballY=tmpY1-4
      ballDY=-ballDY
     }else{
      tmpX1=29+46*ia+44
      tmpY1=(ballDY/ballDX)*(29+46*ia+44-tmpX)+tmpY
      ballX=tmpX1-4;ballY=tmpY1-4
      ballDX=-ballDX
     }
    }
   }

  }
}}}}
}

//game end
function gameEnd(){
gameFLG=0
loadFLG=0
if (document.getElementById){
  document.SC.BL.value=ballN
  document.getElementById("starter").style.top=200
  if (blclr >= 40){
   document.getElementById("clrmes").style.top=150
   endFLG=0
  }
  if (ballN <= 0){
   document.getElementById("ovrmes").style.top=160
   endFLG=0
  }
}else{
  if (ieFLG==1){
   document.SC.BL.value=ballN
   starter.style.top=200
   if (blclr >= 40){
    clrmes.style.top=150
    endFLG=0
   }
   if (ballN <= 0){
    ovrmes.style.top=160
    endFLG=0
   }
  }else{
   document.layers["info"].document.forms[0].BL.value=ballN
   document.layers["starter"].visibility="SHOW"
   if (blclr >= 40){
    document.layers["clrmes"].visibility="SHOW"
    endFLG=0
   }
   if (ballN <= 0){
    document.layers["ovrmes"].visibility="SHOW"
    endFLG=0
   }
  }
}
}

//Event init
function onLD(){
document.onkeydown = keyDown
document.onkeyup = keyUp

if (document.getElementById){
  document.getElementById("starter").style.top=200
  document.getElementById("info").style.top=16
}else{
  if (ieFLG==1){
   starter.style.top=200
   info.style.top=16
  }else{
   document.layers["starter"].visibility="SHOW"
  }
}
if (n4FLG!=0){document.captureEvents(Event.KEYDOWN|Event.KEYUP)}
}

//-->
</SCRIPT>
</HEAD>


<BODY BGCOLOR="#DEB887" ONLOAD="onLD()"">
<A NAME="t0">
<DIV ID="gamewindow" STYLE="position:absolute; background-color:#000000; top:16px; left:16px; width:394px; height:300px"><LAYER CLIP="0,0,393,299" BGCOLOR="#000000"></LAYER></DIV>


<SCRIPT LANGUAGE="JavaScript">
<!--
//block layer write

for (ib=0; ib<5; ib++){
for (ia=0; ia<8; ia++){
  tmpL=31+46*ia;tmpT=50+20*ib
  tmpIDn=ib*8+ia+1
  if (n4FLG!=1){
   document.write("<DIV ID='"+tmpIDn+"' STYLE='position:absolute; background-color:"+blcol[ib]+"; top:"+tmpT+"px; left:"+tmpL+"px; width:42; height:16; clip:rect(0,43,17,0)'></DIV>")
  }else{
   document.write("<LAYER LEFT="+tmpL+" TOP="+tmpT+" CLIP='1,1,43,17' BGCOLOR='"+blcol[ib]+"'></LAYER>")
  }
  blsta[ib*8+ia]=ib
}
}
//-->
</SCRIPT>


<DIV ID="ball" STYLE="position:absolute; top:270px; left:209px; width:8px; height:8px">
<DIV STYLE="position:absolute; top:0px; left:2px; background-color:#B0B0B0; width:4; height:8; clip:rect(0,3,7,0)"></DIV>
<DIV STYLE="position:absolute; top:2px; left:0px; background-color:#B0B0B0; width:8; height:4; clip:rect(0,7,3,0)"></DIV>
<DIV STYLE="position:absolute; top:1px; left:1px; background-color:#FFFFFF; width:6; height:6; clip:rect(0,5,5,0)"></DIV>
</DIV>

<DIV ID="racket" STYLE="position:absolute; top:280px; left:193px; background-color:#B0B0FF; width:40px; height:4px; clip:rect(0,39,3,0)"></DIV>

<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('<LAYER NAME="ball" LEFT="209" TOP="270" CLIP="0,0,7,7"> <LAYER LEFT="2" TOP="0" CLIP="0,0,3,7" BGCOLOR="#B0B0B0"></LAYER><LAYER LEFT="0" TOP="2" CLIP="0,0,7,3" BGCOLOR="#B0B0B0"></LAYER><LAYER LEFT="1" TOP="1" CLIP="0,0,5,5" BGCOLOR="#FFFFFF"></LAYER></LAYER><LAYER NAME="racket" LEFT="193" TOP="280" CLIP="0,0,39,3" BGCOLOR="#B0B0FF"></LAYER><LAYER NAME="info" LEFT="416" TOP="16">')
}else{
document.write('<DIV ID="info" STYLE="position:absolute; top:-1000px; left:416px">')
}
//-->
</SCRIPT>

<FONT STYLE="font-size:22px; color:#000044"></FONT>
<FONT STYLE="font-size:28px; color:#CC0000">R</FONT>
<BR>
<BR><P>
<FORM NAME="SC">
Bola   :<INPUT TYPE="text" NAME="BL" SIZE=5 VALUE = "3" ><BR>
Tempo  :<INPUT TYPE="text" NAME="TM" SIZE=5 VALUE = "0" ><BR>
Blocos :<INPUT TYPE="text" NAME="CL" SIZE=5 VALUE = "0" ><BR>
Pontos :<INPUT TYPE="text" NAME="SR" SIZE=5 VALUE = "0" ><BR>
<P><BR>
</FORM>

<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('</LAYER><LAYER NAME="clrmes" TOP=150 LEFT=160 visibility="HIDE">')
}else{
document.write('</DIV><DIV ID="clrmes" STYLE="position:absolute; top:-1000px; left:160px; visibility:visible">')
}
//-->
</SCRIPT>


<FONT STYLE="font-size:24px" COLOR="#44CC44">ALL CLEAR!</FONT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('</LAYER><LAYER NAME="ovrmes" TOP=150 LEFT=160 visibility="HIDE">')
}else{
document.write('</DIV><DIV ID="ovrmes" STYLE="position:absolute; top:-1000px; left:160px; visibility:visible">')
}
//-->
</SCRIPT>


<FONT STYLE="font-size:24px" COLOR="#CC4444">GAME OVER!</FONT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('</LAYER><LAYER NAME="starter" TOP=200 LEFT=180 visibility="HIDE"><FONT COLOR="#FFFFFF">')
}else{
document.write('</DIV><DIV ID="starter" STYLE="position:absolute; top:-1000px; left:180px; color:#FFFFFF; visibility:visible">')
}
//-->
</SCRIPT>

Esquerda = 4 key<BR>
Direita  = 6 key<BR>
Início   = S key

<SCRIPT LANGUAGE="JavaScript">
<!--
//-->
</SCRIPT>


</BODY>
</HTML>

 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página