javascriptで作った簡単な卓球ゲームです.
12996 ワード
これはJSを勉強したばかりの一週間の時です.李先生は今自分で卓球のゲームを書いてもいいと言いました.それから考えたら2時間もかけてそれを書きました.書き終わったら確かに簡単です.たくさんのものは自分で大胆に書くべきです.終わったら、李先生にみんなに説明させていただきました.とても嬉しいです.
当時は主に下のいくつかの方面から言いました.1.原理2.実現3.内容.
原理:1.ボールがずっとぶつかって跳ね返るようにします.2.キーボードでラケットの往復移動を制御します.3.勝負を判断する
実現:1.ボールの衝突反発を実現するために、上下移動と左右移動の二つの方法を書く必要があります.2.ラケットの左右の移動を実現するために、四つの方法を書きます.緑のラケットの左の移動、右の移動、黒いラケットの左の移動、右の移動です.3.キーボードでラケット移動を制御するためには、このキーボードイベントを実現するための方法を書く必要があります. 内容:
1.衝突リバウンドの実現.2.勝負を判断する3.拍子はどうやって左右に動くか.4.キーボードイベントの実現.
機能 move_lr(){ //ボールは左右に動かして勝敗を判定します. } 機能 movegautd()///ボールの上下移動 } 機能 movegautuul()//緑の方は左に移動します. } 機能 movegautur()//緑の方角が右に移動します. } 機能 moveudul(){//黒方左移動 } 機能 moveudur()///黒方右移動 } 機能 keyDown(e){/キーボードイベント } 機能 onload(){ }
一部のJSコードは以下の通りです.
当時は主に下のいくつかの方面から言いました.1.原理2.実現3.内容.
原理:1.ボールがずっとぶつかって跳ね返るようにします.2.キーボードでラケットの往復移動を制御します.3.勝負を判断する
実現:1.ボールの衝突反発を実現するために、上下移動と左右移動の二つの方法を書く必要があります.2.ラケットの左右の移動を実現するために、四つの方法を書きます.緑のラケットの左の移動、右の移動、黒いラケットの左の移動、右の移動です.3.キーボードでラケット移動を制御するためには、このキーボードイベントを実現するための方法を書く必要があります. 内容:
1.衝突リバウンドの実現.2.勝負を判断する3.拍子はどうやって左右に動くか.4.キーボードイベントの実現.
機能 move_lr(){ //ボールは左右に動かして勝敗を判定します. } 機能 movegautd()///ボールの上下移動 } 機能 movegautuul()//緑の方は左に移動します. } 機能 movegautur()//緑の方角が右に移動します. } 機能 moveudul(){//黒方左移動 } 機能 moveudur()///黒方右移動 } 機能 keyDown(e){/キーボードイベント } 機能 onload(){ }
一部のJSコードは以下の通りです.
- function move_lr(){ //
- if(lr){
- if(wscroll<=wid){
- wscroll++;
- divs[2].style.left=wscroll+"px";
- }
- else
- lr=false;
- }
- else{
- if(wscroll>=0){
- wscroll--;
- divs[2].style.left=wscroll+"px";
- }
- else
- lr=true;
- }
- if(hscroll==20){
- if (wscroll>=top_l-20&&wscroll<=top_r){
- td=true;
- }
-
- else{
- clearInterval(time1);
- clearInterval(time2);
- alert(" !! F5!!!");
- }
- }
- else if(hscroll==260){
- if (wscroll>=down_l-20&&wscroll<=down_r)
- td=false;
- else{
- clearInterval(time1);
- clearInterval(time2);
- alert(" F5!!!");
- }
- }
- }
-
- function move_td(){//
- if(td){
- if (hscroll<=hei)
- {
- hscroll++;
- divs[2].style.top=hscroll+"px";
- }
- else
- td=false;
- }
- else{
- if (hscroll>0)
- {
- hscroll--;
- divs[2].style.top=hscroll+"px";
- }
- else
- td=true;
- }
- }
- function move_t_l(){
- if(top_l<160){
- top_l+=3;
- top_r+=3;
- divs[1].style.left=top_l+"px";
- }
- }
- function move_t_r(){
- if(top_l>0){
- top_l-=3;
- top_r-=3;
- divs[1].style.left=top_l+"px";
- }
- }
- function move_d_l(){
- if(down_l<160){
- down_l+=3;
- down_r+=3;
- divs[3].style.left=down_l+"px";
- }
- }
- function move_d_r(){
- if(down_l>0){
- down_l-=3;
- down_r-=3;
- divs[3].style.left=down_l+"px";
- }
- }
- function keyDown(e){
- // var keycode = e.which; //
- var realkey = String.fromCharCode(e.which); //
- // var rr= realkey;
- switch(realkey){
- case "W":
- move_t_l();
- break;
- case "E":
- move_t_r();
- break;
- case "A":
- move_d_l();
- break;
- case "D":
- move_d_r();
- break;
- }
- }
- function onload(){
-
- divs=document.getElementsByTagName("div");
- wid=divs[0].clientWidth-divs[2].offsetWidth;
- hei=divs[0].clientHeight-divs[2].offsetHeight;
- wscroll=divs[2].offsetLeft;
- hscroll=divs[2].offsetTop;
- top_l=divs[1].offsetLeft;
- top_r=top_l+100;
- down_l=divs[3].offsetLeft;
- down_r=down_l+100;
- time1=setInterval("move_lr()",10);
- time2=setInterval("move_td()",10);
- document.onkeydown=keyDown;
- }