検索
ホームページphp教程php手册砲弾がターゲットに命中して消えて得点することを実現するJS戦車戦

js坦克大战以实现炮弹击中目标消失并且记分
话不多说
下载下面的代码包就能看到效果,
效果图:
砲弾がターゲットに命中して消えて得点することを実現するJS戦車戦
js代码如下:/**初始化*/<br> var shell=document.getElementById('tk');<br> shell.innerHTML='<div></div>';<br> var w=shell.offsetWidth;h=shell.offsetHeight;<br> /**初始化*/<br> function keyDown(e) {  <br>          var keycode = e.which; <br>          remove(keycode,2);//坦克移动<br>        if(keycode=='32'){//发射子弹<br>              zidan();<br>        }<br>       }<br> <br> function keyUp(e){//键位弹起时候记录最后按下方向键,并将其储存到class中去<br>      var keycode = e.which; shell_1=document.getElementById('shell_1');<br>      <br>      if(keycode=='37' || keycode=='38' || keycode=='39' || keycode=='40'){<br>         shell_1.className='qin'+keycode;<br>      }<br>     <br> }<br>   /**键位监听*/<br>    document.onkeydown = keyDown;<br>    document.onkeyup = keyUp;<br>    /**键位监听*/<br> function remove(code,su){//玩家坦克移动函数<br>     var shell_1=document.getElementById('shell_1');<br>     var l;<br>     if(code=='37'){//左移<br>         l=shell_1.style.marginLeft;<br>         l=parseInt(l);<br>         if(l>0){<br>            shell_1.style.marginLeft=(l-su)+'px';<br>         }<br>     }<br>     <br>     if(code=='38'){//上移<br>         l=shell_1.style.marginTop;<br>         l=parseInt(l);<br>         if(l>0){<br>            shell_1.style.marginTop=(l-su)+'px';<br>         }<br>     }<br>     <br>     if(code=='39'){//右移<br>         l=shell_1.style.marginLeft;<br>         l=parseInt(l);<br>         if(l            shell_1.style.marginLeft=(l+su)+'px';<br>         }<br>     }<br> <br>     if(code=='40'){//下移<br>         l=shell_1.style.marginTop;<br>         l=parseInt(l);<br>         if(l            shell_1.style.marginTop=(l+su)+'px';<br>         }<br>     }<br>     <br> }<br> <br> function zidan(){//玩家坦克子弹函数<br>     /**获取子弹初始位置*/<br>     var che=document.getElementById('shell_1');<br>     var l=che.style.marginLeft;<br>     var t=che.style.marginTop;<br>     var html=shell.innerHTML;//获取原有html<br>     /**获取子弹初始位置*/<br>     <br>     var myDate = new Date();<br>     var myid=myDate.getTime(); <br>     <br>     /**创建初始子弹*/<br>        shell.innerHTML=html+'<div></div>';<br> /**最初の箇条書きを作成する*/<br> <br> /**弾丸の方向を知る*/<br> var fx=che.className;//弾丸の方向は弾丸の初期段階でのみ取得可能です<br> /**弾丸の方向を知る*/<br> <br> <br> <br> <br> var set=setInterval(function(){<br> <br> var zd=document.getElementById(myid);//箇条書きを取得します<br> <br> If(fx=='qin39'){//弾丸は右へ進みます<br> var ls=zd.style.marginLeft;<br> ls=parseInt(ls);<br>                                           If(ls<w></w> zd.style.marginLeft=(ls+1)+'px';<br> }その他{<br> レジダン(myid);<br> 「 }<br> }<br> If(fx=='qin37'){//弾丸は左へ進みます<br> var ls=zd.style.marginLeft;<br> ls=parseInt(ls);<br> If(ls>0){<br> zd.style.marginLeft=(ls-1)+'px';<br> }その他{<br> レジダン(myid);<br> 「 }<br> }<br> If(fx=='qin38'){//上向きの弾丸<br> var ls=zd.style.marginTop;<br> ; If(ls>0){<br> zd.style.marginTop=(ls-1)+'px';<br> }その他{<br> レジダン(myid);<br> 「 }<br> }<br> If(fx=='qin40'){//下向きの箇条書き<br> var ls=zd.style.marginTop;<br> ls=parseInt(ls);<br> If(ls<h></h> zd.style.marginTop=(ls+1)+'px';<br> }その他{<br> レジダン(myid);<br> 「 }<br> }<br> <br> },10);<br> <br> }<br> <br> <br> function rezidan(id){//删除子弹函数或者坦克<br>     var child=document.getElementById(id);<br>     if(child){<br>        shell.removeChild(child);<br>     }<br> }<br> <br> <br> //**电脑坦克*/<br> <br> function ran(){//随机1到4的方位函数<br>   var kwc=Math.ceil(Math.random()*10);<br>   var kwv;<br>   if(kwc%4==0){kwv=1;}<br>   if(kwc%4==1){kwv=2;}<br>   if(kwc%4==2){kwv=3;}<br>   if(kwc%4==3){kwv=4;}<br>   return kwv;<br> }<br> <br> <br> <br> function rantanke(){//随机创建敌方坦克<br>     <br>     <br>     <br>     /**初始坦克随机出现位置*/<br>     var html=shell.innerHTML;//获取原有html<br>     var t=Math.random()*1000;<br>     var l=Math.random()*1000;<br>     <br>     if(t>h){t=(t-h)+'px';}else{t=t+'px';}//判断坦克不会超出边界太远<br>     if(l>w){l=(l-w)+'px';}else{l=l+'px';}//判断坦克不会超出边界太远<br>     /**初始坦克随机出现位置*/<br>     <br>     <br>     <br>     var myDate = new Date();<br>     var myid=myDate.getTime();<br>     /**创建坦克*/<br>        shell.innerHTML=html+'<div></div>';<br>     /**タンクを作成する*/<br>     <br>        var setz=setInterval(function(){<br>            /**殴られる*/ <br>            var ztk=document.getElementById(myid);dt=ztk.style.marginTop;dl=ztk.style.marginLeft;<br>            dt=parseInt(dt);dl=parseInt(dl);           <br>            var zidanob=document.getElementsByClassName('zidan');<br>             if(zidanob.length!=0){ <br>                  for(i=0;i<zidanob.length></zidanob.length>              var zt=zidanob[i].style.marginTop;<br>              var zl=zidanob[i].style.marginLeft;<br>              zt=parseInt(zt);zl=parseInt(zl);<br>                 if(zt>dt && ztdl && zl                     zidanob[i].style.display='none';//隐藏子弹<br>                     zidanob[i].className='';//当子弹碰撞後删除子弹的クラスは次次继续击中敌方タンク<br>を防ぐため                     rezidan(myid);//删除殴られるタン克<br>                     クリアインターバル(setz);  //删除&タンクの時間関数<br>                     fensu();//记录分数<br>                 } <br>             }<br>             }<br>            /**&*/ <br>               var classz=ztk.className;<br>               var oArr = clasz.split(" ");<br>               var fwz;//每次执行这段代码FWZ就清空,fwz是方向判断变量<br>               <br>               <br>               if(classz){// 否か判断&後第一次移動<br>              <br>                     if(oArr[0]=='qinr'){//持续向右移動50回<br>                         if(parseInt(oArr[1])                          var lz=ztk.style.marginLeft;<br>                        lz=parseInt(lz);<br>If(lz<w></w> ztk.style.marginLeft=(lz+2)+'px';<br> } else {<br> Fwz = ran () // 壁と格闘して位置を再選択します <br>;                                                          Var clsaa = PARSEINT ([1])+1; ztk.className='qinr '+clsaa;<br> } else {<br> fwz=ran();//向きを再選択<br> }<br> }<br> <br> <br> If(oArr[0]=='qinl'){//左に50回移動し続けます<br> If(parseInt(oArr[1])                                                                                                                                                                                                                                 lz=parseInt(lz);<br> If(lz>0){<br> ztk.style.marginLeft=(lz-2)+'px'; } else {<br> Fwz = ran () // 壁と格闘して位置を再選択します <br>;                                                               Var clsaa = PARSEINT ([1])+1; ztk.className='qinl '+clsaa;<br> } else {<br> Fwz = ran () // 位置を再選択します <br>; }<br> }<br> <br> <br>if(oArr[0]=='qint'){//50 回上に進み続けます<br> If(parseInt(oArr[1])                                                                                                                                                                                                                                 lz=parseInt(lz);<br> If(lz>0){<br> ztk.style.marginTop=(lz-2)+'px'; } else {<br> Fwz = ran () // 壁と格闘して位置を再選択します <br>;                                                                    Var clsaa = PARSEINT ([1])+1; ztk.className='qint '+clsaa;<br> } else {<br> Fwz = ran () // 位置を再選択します <br>; }<br> }<br>                                                            If(oArr[0]=='qinf'){//下に 50 回移動し続けます<br> If(parseInt(oArr[1])                                                                                                                                                                                                                                                                                   lz=parseInt(lz);<br> If(lz<h></h> ztk.style.marginTop=(lz+2)+'px';<br> } else {<br> Fwz = ran () // 壁と格闘して位置を再選択します <br>;                                                          Var clsaa = PARSEINT ([1])+1; ztk.className='qinf '+clsaa;<br> } else {<br> Fwz = ran () // 位置を再選択します <br>;}<br> }<br>                                                            } else {<br> Fwz = ran () // アクティビティ関数 <br>; }<br>                                                                                                                                                                               (fwz == 2) {// 興味深い値が 2 の場合、右側に実行します var lz=ztk.style.marginLeft;<br> lz=parseInt(lz);<br> ztk.style.marginLeft=(lz+2)+'px'; ztk.className='qinr 1';<br> }<br>                                             If (fwz == 3) {// 興味深い値 3 が左に実行されます var lz=ztk.style.marginLeft;<br> lz=parseInt(lz);<br> ztk.style.marginLeft=(lz-2)+'px';<br> ztk.className='qinl 1';<br> }<br>                                             If (fwz == 1) {// 興味深い値 1 が上向きに実行されます <br> var lz=ztk.style.marginTop;<br> lz=parseInt(lz);<br> ztk.style.marginTop=(lz-2)+'px';<br> ztk.className='qint 1';<br> }<br>                                             (fwz == 4) {// 興味深い値が 4 の場合、下に移動します <br> var lz=ztk.style.marginTop;<br> lz=parseInt(lz);<br> ztk.style.marginTop=(lz+2)+'px';<br> ztk.className='qinf 1';<br> }<br> },50);<br> <br> }<br> function fensu(){//スコアリング関数<br> var ob=document.getElementById('fs');<br>var s=ob.innerText;<br> s=parseInt(s);<br> s=s+1;<br> Ob.innerText=s;<br> }

砲弾がターゲットに命中して消えて得点することを実現するJS戦車戦 rew.zip ( 33.16 KB ダウンロード: 9 回 )

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません