SlideShare ist ein Scribd-Unternehmen logo
1 von 35
stop ();
import flash.media.Sound.*;
import flash.events.*;
var aaa:Sound = new Sound()
aaa.attachSound("sound12")
var scheerup = new Sound()
scheerup.attachSound("Cheering-timtube-14")
var kidcheer = new Sound()
kidcheer.attachSound("kids_che-A_Algie-365")
var tuommer = new Sound()
tuommer.attachSound("sound2")
var tuommer2 = new Sound()
tuommer2.attachSound("sound1")
           stagetxt.stagetxt.text = String("Stage"+cordlevel);

this.btn_sopen._visible = false;

bt_main.onRelease = function()
{
     gotoAndStop(1)
}
btn_sopen.onRelease = function()
{
     btn_sclose._visible = true;
     btn_sopen._visible = false;
     aaa.setVolume(100);
     tuommer.setVolume(100)
     tuommer2.setVolume(100)
}
btn_sclose.onRelease = function()
{
     btn_sclose._visible = false;
     btn_sopen._visible = true;
     aaa.setVolume(0);
     tuommer.setVolume(0)
     tuommer2.setVolume(0)
}
COURT_W = 180; //เก็บตัวแปรความกวางของคอร์ด
COURT_H = 360; //เก็บตัวแปรความยาวของคอร์ด
SERVE_H = 200; //เก็บตัวแปรความยาวของ ระยะ เสริฟ
SCREEN_OX = 300; //ตัวแปร ความกว้างscreen
SCREEN_OY = 300;//ตัวแปร ความยาวscreen
mcNet._y = SCREEN_OY; //ตั้งขนาดความกว้างของ ตาข่าย = 300
NET_H = 40; //ตั้งขนาดความสูงของตาข่าย
TOSS_H = 50; // ตั้งตัวแปรความสูงของการข้ามลูก
GRAVITY = 8.000000E-001; // ตั้งตัวแปรแรงโน้มถ่วง
PS_WAIT = 1; // ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1
                                         ้
PS_MOVE = 2; // ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2       ้
PS_STROKE = 3;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 3                  ้
PS_SERVE = 4;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 4             ้
PS_TOSS = 5;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 5
                                            ้
PS_FREEZE = 6;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 6                ้
PS_AFTER = 7;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 7         ้
ST_FORE = 1; // ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1   ้
ST_BACK = 2;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2้
ST_SMASH = 3;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 3               ้
HIT_X1_FORE = -10;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -10                      ้
HIT_X2_FORE = 60;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 60                    ้
HIT_X1_BACK = -60;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -60                        ้
HIT_X2_BACK = 10;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1 0                     ้
HIT_X1_SMASH = -30;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -30                             ้
HIT_X2_SMASH = 50;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 50                             ้
HIT_Y1 = -120;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -120 ้
HIT_Y2 = 80;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 80
                                          ้
HIT_Z = 120;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 120
                                        ้
WM_WAIT = 1;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1  ้
WM_MOVE = 2;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2            ้
RESULT_FAULT = 1;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1                             ้
RESULT_OUT = 2;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2                   ้
RESULT_MISS = 3;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 3                    ้
RESULT_VOLLEY = 4;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 4                                  ้

import flash.geom.ColorTransform;
eval(mcPlayer1).transform.colorTransform = new ColorTransform
(1,1,150,1,1,1,1,1);
pname = new Array(2);//สร้างอาเรย์ ที่มีสมาชิกทั้งหมด 2 ตัง
for (i = 0; i < 2; i++) //ลูป ปรแกรม 2 ครั้ง
{
       if(modeplay == "vscom") // ถาmodeplay เป้นโหมด vscom
                                           ้
       {
              if(i != 0)// ถ้าไอไม่เท่ากับ 0
              {
              pname[i] = "player"+(i+1); // ให้ ตัวแปร pname ตัวที่ i เท่ากับชื่อ player2 (ชื่อ
ของคอม)
              mc = eval("mcPlayer" + i);// ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป
mcPlayer1 ไว้
              mc.forehand = 20 + 1 * enemydata[enemylevel][0];// ตั้งค่าการตี forehand
ด้วย20+1 คูณด้วยตัวแปรความยากของ enemydata
              mc.backhand = 20 + 5.000000E-001 * enemydata[enemylevel][1];// ตั้ง
ค่าการตี backhand ด้วย20 + 5.000000E-001คูณด้วยตัวแปรความยากของ enemydata
              mc.serve = 30 + 3 * enemydata[enemylevel][2];// ตั้งค่าการตี serve ด้วย30
+ 3คูณด้วยตัวแปรความยากของ enemydata
              mc.footwork = 6 + 3.000000E-001 * enemydata[enemylevel][3];// ตั้งค่า
วิ่ง ด้วย6 + 3.000000E-001คูณด้วยตัวแปรความยากของ enemydata
              mc.netplay = enemydata[enemylevel][4];// ตั้งค่าการเล่นnetplayตัวแปร
ความยากของ enemydata
              mc.tech = enemydata[enemylevel][5];// ตั้งค่าการตี ลูกเทคนิคด้วยตัวแปร
ความยากของ enemydata
              }
              else // ถา i = 0
                        ้
              {
                     pname[i] = textname1;// ให้ ตัวแปร pname ตัวที่ 0 เก็บชื่อของผู้เล่นไว้
              mc = eval("mcPlayer" + i); // ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป
mcPlayer0 ไว้
              mc.forehand = 20 + 1 * 5;// ตั้งค่าการตี forehand ด้วย20+1 คูณด้วย5
              mc.backhand = 20 + 5.000000E-001 * 5;// ตั้งค่าการตี backhand ด้วย20 +
5.000000E-001คูณด้วย5
              mc.serve = 30 + 3 * 5;// ตั้งค่าการตี serve ด้วย30 + 3คูณด้วย5
              mc.footwork = 6 + 3.000000E-001 * 5;// ตั้งค่า วิ่ง ด้วย6 +
3.000000E-001คูณด้วย5
              mc.netplay = 5;// ตั้งค่าการเล่นnetplay ด้วย 5
              mc.tech = 5;// ตั้งค่าการตี ลูกเทคนิค
              }
        }
        else // หาก เป็น mode player vs player
        {
              if(i == 0)
              {
                     pname[i] = textname1;// ให้ ตัวแปร pname ตัวที่ 0 เก็บชื่อของผู้เล่นคนที่
1ไว้
              mc = eval("mcPlayer" + i);// ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป
mcPlayer0 ไว้
              mc.forehand = 20 + 1 * 5;// ตั้งค่าการตี forehand ด้วย20+1 คูณด้วย10
              mc.backhand = 20 + 5.000000E-001 * 10;// ตั้งค่าการตี backhand ด้วย20
+ 5.000000E-001คูณด้วย10
              mc.serve = 30 + 3 * 10;// ตั้งค่าการตี serve ด้วย30 + 3คูณด้วย10
              mc.footwork = 6 + 3.000000E-001 * 10;// ตั้งค่า วิ่ง ด้วย6 +
3.000000E-001คูณด้วย10
              mc.netplay = 10;// ตั้งค่าการเล่นnetplay ด้วย 10
              mc.tech = 10;// ตั้งค่าการตี ลูกเทคนิค
              }
else
               {
                      pname[i] = textname2;// ให้ ตัวแปร pname ตัวที่ 0 เก็บชื่อของผู้เล่นคนที่
2ไว้
             mc = eval("mcPlayer" + i);// ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป
mcPlayer1 ไว้
             mc.forehand = 20 + 1 * 10;// ตั้งค่าการตี forehand ด้วย20+1 คูณด้วย10
             mc.backhand = 20 + 5.000000E-001 * 10;// ตั้งค่าการตี backhand ด้วย20
+ 5.000000E-001คูณด้วย10
             mc.serve = 30 + 3 * 10;// ตั้งค่าการตี serve ด้วย30 + 3คูณด้วย10
             mc.footwork = 6 + 3.000000E-001 * 10;// ตั้งค่า วิ่ง ด้วย6 +
3.000000E-001คูณด้วย10
             mc.netplay = 10;// ตั้งค่าการเล่นnetplay ด้วย 10
             mc.tech = 10;// ตั้งค่าการตี ลูกเทคนิค
             }
       }
} // end of for
server = 0; // ตั้งค่าตัวแปร ผู้เสริฟเป็น 0
receiver = 1; // ตั้งค่า ผู้รับ 1
textwinner ;// ตั้งค่าตัวแปร text winner
gpoint = [0, 0]; // สร้างตัวแปร gpoint เก็บค่าx y
init_game(); //เรียกฟังก์ชน initgame
                              ่ั
onEnterFrame = function ()
{
    user_action();
    move_ball();
       check_pad2()
       if(modeplay == "vscom")
       {
              move_enemy();

        }
        else
        {
               move_player2()
        }
};



function init_game()
{
      //ตั้งค่าเริ่มต้นให้กับเกมส์

     serve_pos = 1; // ตั้งค่าตัวแปร servepos ให้เป้น 1
play_winner = -1; //ตั้งค่า playerwinner = -1
   fault_cnt = 0;//ตั้งค่า fault เป็น 0
   point = [0, 0]; //ตั้งค่า point เป็น 0 ,0
   score_txt = pname[server] + " 0 - 0 " + pname[receiver]; // ที่หน้าจอเกม ใส่ข้อความ
เป็น ชอผเลน สกอร์ และชือผูเล่นที่ 2 หรือคอม
       ่ื ้ ่                 ่ ้
       if(modeplay == "vscom") // ถา หาก mode = vs com
                                         ้
       {
              number_txt.text._visible = true; //ให้โชว์แถบข้อความตัวแปร number_txt
              number_txt.text = "Score : "+numscore; // ให้ขอความนี้ โชว์คะแนนที่เราได้รับ
       }
       else // ถาหากเปน mode vsplayer
                ้         ้
       {
              number_txt.text._visible = false; //ให้ซ่อนแถบข้อความที่หน้าจอ
       }
   init_play(); // เรยกฟกงชน init_play
                     ี      ั  ่ั
       cord.gotoAndStop(cordlevel) //ให้คอร์ดสนามเปลี่ยนไปตาม ตัวเลขตัวแปร
cordlevel

} // End of the function
function init_play()
{
    rally_cnt = 0; //ตั้งค่า rally_cnt เท่ากับ 0
    play_result = 0;//ตั้งค่า play_result เป็น 0
    mcMes.gotoAndStop("inplay"); // ให้มูปวี่คลิป mcMes ไปเล่นเฟรม inplay
    var i = 0; // ตั้ค่า i เป็น 0
    while (i < 2) //หาก ค่า i น้อยกว่า 2
   {
       var mc = eval("mcPlayer" + i); //เรียกมุปวี่คลิฟ คนเล่นว่าเป้นคนไหน
       mc.vy = COURT_H + 20; //ให้ค่า nc.vy เป็น ความสูงของคอร์ด + 20
       if (i == 1) // ถา i เท่ากับ 1
                        ้
      {
           mc.vy = mc.vy * -1; //ให้ค่า mc.vy เป้นค่าเท่ากับ ค่าของ mc.vy คุณด้วย -1
       } // end if
       if (server == i) // ถ้าตัวแปรserver เท่ากับ ค่า i
      {
           mc.vx = serve_pos * 20; //ให้ค่า mc.vx เท่ากับ ค่าของ serve_pos คุณด้วย 20
           start_serve(i); //เรยกฟงกชน start_serve ตัวแปรที่ใส่ไปคือ ค่าตัวเลข 0 และ 1 ซึ่ง 0
                                 ี   ั ่ั
จะเป้น ผู้ เล่น 1 คือคอมพิวเตอร์
      }
       else// ถ้าตัวแปรserver ไม่เท่ากับ ค่า i
      {
           mc.vx = serve_pos * -COURT_W * 2 / 3; //ตั้งคาตัวแปร mc.vx เท่ากับค่าของ
serve_posคุณด้วยค่าของ -COURT_W คุณด้วย 2 แล้วทั้งหมดหาร 3
mc.stat = PS_WAIT; // ให้ค่า มุปวี่คลิฟที่ถูกเลือกที่ ตั้งสถานะเป็ รอ
            mc.gotoAndStop("wait");// ให้ มุปวี่คลิปเล่นเฟรม wait
            mc.wm = WM_WAIT; //ตั้งค่า wm เป้นค่า WM_WAIT
        } // end else if
        if (server == 1)//ถ้าตัวแปร server เทกับ 1
       {
            mc.vx = mc.vx * -1;//ให้ค่า mc.vx เท่ากับ ค่าของ mc.vx คูณด้วย -1
       } // end if
        player_position(i);//เรยกฟงกชน player_position
                                 ี   ั   ่ํ
       mc.net_flg = 0;//ให้ค่าnet_flg ของมูฟวี่คลิปที่เลือกอยุ่เป้น 0
       ++i; //+ค่า i
    } // end while
    init_ball(); //เรยกฟงกชน init_ball
                     ี    ั   ่ํ
    debug_txt = "";
} // End of the function


function start_serve(pn)
{
    var mc = eval("mcPlayer" + pn); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตาม
ตวเลขที่เราลือกอยุ่ (0 = player 1 computer)
    mc.stat = PS_SERVE; // ใหสถานะมฟวคลปตวนนเปน พร้อมเสริฟ
                                 ้      ู ่ี ิ ั ้ั       ้
    mc.cnt = 0; //ใส่คา cnt เทากับ0
                        ่
    mc.gotoAndStop("serve");// ให้มูปวี่คลปนั้นเล่นเฟรม serve
} // End of the function
function start_toss(pn)
{
    var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว
เลขที่เราลือกอยุ่ (0 = player 1 computer)
    mc.stat = PS_TOSS;// ใหสถานะมฟวคลปตวนนเปน toss หรือการตีลูก
                               ้    ู ่ี ิ ั ้ั       ้
    mc.gotoAndStop("toss");// ให้มูปวี่คลปนั้นเล่นเฟรม toss
    mc.cnt = 0;//ใส่คา cnt เทากับ0
                      ่
} // End of the function
function start_stroke_user(pn)
{

   var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว
เลขที่เราลือกอยุ่ (0 = player 1 computer)
   mc.stat = PS_STROKE;// ใหสถานะมฟวคลปตวนนเปน stroke
                                ้       ู ่ี ิ ั ้ั       ้
   mc.cnt = 0;//ใส่คา cnt เทากับ0
                    ่
   var nx = mcBall.vx + mcBall.ax * 2; //ตั้งค่าตัวแปร nx ให้เท่ากับ     ความเร็วของ
ลูกบอลคุณอัตราเร่งของลุกบอล คูณ้วย 2
   if (mcBall.vh > 70 && nx > mc.vx + HIT_X1_SMASH && nx < mc.vx +
HIT_X2_SMASH) //ถ้าความสูงของลูกบอล มากกว่า 70 และ ค่า nx มากกว่า ค่าx มูปวี่คลิป
+ ด้วยตัวแปรHIT_X1_SMASH และ ค่า nx น้อยกว่า ค่า xของ มูฟวี่คลป บวก
ด้วยHIT_X2_SMASH
   {
        mc.stroke_type = ST_SMASH; //ตั้งค่า mc.stroke_type ให้เป็นST_SMASH
        mc.hit_x1 = HIT_X1_SMASH;//ให้ค่า mc.hit_x1 เป็นHIT_X1_SMASH
        mc.hit_x2 = HIT_X2_SMASH;// mc.hit_x2 เป็น HIT_X2_SMASH
        mc.gotoAndStop("smash");//ให้มูฟวี่คลิปเล่นเฟรม smash หรือการตบลูก
   }
    else if (mcBall.vx + mcBall.ax * 3 < mc.vx) //ถา ตําแหน่งของลุกบอล คูรด้วย 3 ยังมีค่า
                                                    ้
มากว่า มูฟวี่คลิป
   {
        mc.stroke_type = ST_BACK; //ให้mc.stroke_type เป้น ST_BACK
        mc.hit_x1 = HIT_X1_BACK;//ให้ค่า mc.hit_x1 เป็นHIT_X1_BACK
        mc.hit_x2 = HIT_X2_BACK;//ให้ค่า mc.hit_x2 เป็นHIT_X2_BACK
        mc.gotoAndStop("back");//ให้มูฟวี่คลิปเล่นเฟรม back หรือตีลูกหลังมือ
   }
    else // ถ้าไม่ใช่ ทั้งหมด
   {
        mc.stroke_type = ST_FORE; //ให้mc.stroke_type เป้น ST_FORE
        mc.hit_x1 = HIT_X1_FORE;//ให้ค่า mc.hit_x1 เป็น HIT_X1_FORE
        mc.hit_x2 = HIT_X2_FORE;//ให้ค่า mc.hit_x2 เป็น HIT_X2_FORE
        mc.gotoAndStop("fore");//ให้มูฟวี่คลิปเล่นเฟรม fore หรือตีลูกหน้ามือ
    } // end else if
    mc.hit_y1 = HIT_Y1; //ให้่ค่า mc.hit_y1เทากับHIT_Y1
    mc.hit_y2 = HIT_Y2;//ให้่ค่า mc.hit_y2เทากับHIT_Y2
} // End of the function
function check_hit(pn)
{
    var mc = eval("mcPlayer" + pn); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตาม
ตวเลขที่เราลือกอยุ่ (0 = player 1 computer)
    if (mcBall.vx < mc.vx + mc.hit_x1)// ถ้าตําแหน่งxของลุกบอล มคานอยกวา ตําแหน่งของ
                                                                    ี ่ ้     ่
มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_x1
   {
        return (0);// คืนค่าเป้น0
    } // end if
    if (mcBall.vx > mc.vx + mc.hit_x2)// ถ้าตําแหน่งxของลุกบอล มีค่ามากกว่า ตําแหน่งของ
มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_x2
   {
        return (0);
    } // end if
    if (mcBall.vy < mc.vy + mc.hit_y1)// ถ้าตําแหน่งyของลุกบอล มคานอยกวา ตําแหน่งของ
                                                                     ี ่ ้      ่
มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_y1
   {
return (0);
    } // end if
    if (mcBall.vy > mc.vy + mc.hit_y2)// ถ้าตําแหน่งyของลุกบอล มคานอยกวา ตําแหน่งของ
                                                                ี ่ ้  ่
มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_y2
   {
        return (0);
    } // end if
    if (mcBall.vh > HIT_Z) //ถ้าค่า vh ของลูกบอลมีมากกว่าHIT_Z
   {
        return (0);
    } // end if
    return (1);// คืนค่าตัวเลข1
} // End of the function
function set_ball_dest_user()
{
    if (mcBall.side == 0) // ถา ค่า side ของลูกบอลมีค่าเป้น 0
                                     ้
   {
        return;//ให้รีเทริ์นค่าทิ้ง
    } // end if
    check_pad();//เรยกฟงกชนcheck_pad
                        ี      ั       ่ั
    var _loc6 = 1; //ให้ค่า _loc6 เทากับ 1
    if (pad_y < 0)// หากค่า y น้อยกว่า 0
   {
        _loc6 = 0;//ให้ค่า _loc6 เทากับ 0
    } // end if
    if (pad_y > 0)// หากค่า y มากกว่า0
   {
        _loc6 = 2;//ให้ค่า _loc6 เทากับ 2
    } // end if
    var _loc5 = 1;//ให้ค่า _loc5 เทากับ 1
    if (pad_x < 0)// หากค่า x น้อยกว่า 0
   {
        _loc5 = 0;//ให้ค่า _loc5 เทากับ 0
    } // end if
    if (pad_x > 0)// หากค่า x มากกว่า 0
   {
        _loc5 = 2;//ให้ค่า _loc5 เทากับ 2
    } // end if
    var _loc1; //ตั้งค่า _loc1 _loc2 _loc3 _loc7
    var _loc2;
    var _loc3;
    var _loc7;
    if (rally_cnt == 0) // ถ้าค่า rally_cnt เท่ากับ 0
   {
        if (serve_pos > 0) //ถา serve_pos มากกว่า 0
                                   ้
{
          _loc1 = -COURT_W; //ให้ _loc1 เท่ากับค่าติดลบของตัวแปรCOURT_W
          _loc2 = 0;//_loc2 เทากับ 0
      }
      else
      {
          _loc1 = 0; //ให้ _loc1 เท่ากับ0
          _loc2 = COURT_W; //ให้ _loc2 เท่ากับค่าของตัวแปรCOURT_W
      } // end else if
      _loc3 = -SERVE_H; //ให้ค่า _loc3 เทากับ ค่าติดลบของ SERVE_H
      _loc7 = -SERVE_H / 2;//ให้ค่า _loc7 เทากับ ค่าติดลบของ SERVE_H หาร 2
    }
    else// ถ้าค่า rally_cnt ไม่เท่ากับ 0
    {
        _loc1 = -COURT_W;//ให้ _locๅ เท่ากับค่าติดลบของตัวแปรCOURT_W
        _loc2 = COURT_W;//ให้ _loc2 เท่ากับค่าของตัวแปรCOURT_W
        _loc3 = -COURT_H;//ให้ _loc- เท่ากับค่าติดลบของตัวแปรCOURT_H
        _loc7 = -COURT_H / 3;////ให้ _loc7 เท่ากับค่าของตัวแปรCOURT_H ski 3
    } // end else if
    var _loc9 = (_loc2 - _loc1) / 3; //ตั้งค่าตัวแปร _loc9 โดย นําค่า _loc2 - _loc1หารด้วย
3
   var _loc8 = (_loc7 - _loc3) / 3;//ตั้งค่าตัวแปร _loc9 โดย นําค่า _loc2 - _loc1
   var _loc11 = _loc1 + _loc9 * _loc6 + Math.random() * _loc9; // ตั้งคาตัวแปร _loc11
   var _loc10 = _loc3 + _loc8 * _loc5 + Math.random() * _loc8; // ตั้งคาตัวแปร _loc10
   var _loc4 = mc.forehand;// ตั้งคาตัวแปร _loc4 ด้วยค่าของ การตี forehand
   if (mcPlayer0.stroke_type == ST_BACK) //ถา ผู้เล่นมีสถานะตัวแปร stroke_type
                                                   ้
เท่ากับ ST_BACK
   {
       _loc4 = mc.backhand;//ให้ค่า _loc4เท่ากับ ค่า backhand
   }
   if (mcPlayer0.stroke_type == ST_SMASH) //ถา ผู้เล่นมีสถานะตัวแปร stroke_type
                                                     ้
เท่ากับ ST_SMASH
   {
       _loc4 = mc.serve;//ให้ค่า _loc4เท่ากับ ค่า serve
   }
   start_move_ball(_loc11, _loc10, 0, _loc4);//นําค่าที่ได้มาคํานวณใน ฟงกชน   ั ์ ่ั
start_move_ball
}
function start_wait(pn)
{
   var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว
เลขที่เราลือกอยุ่ (0 = player 1 computer)
   if (mc.stat == PS_STROKE && mc.stroke_type == ST_SMASH) //ถาสถานะ ของผู้เล่น
                                                                            ้
เป็น PS_STROKE และ สถานะการตีลกเป็ร ST_SMASH
                                        ู
{
       var ay = -20; //ให้ค่า ay เทากับ -20
       if (pn == 1)// ถา pn เท่ากับ 1
                        ้
       {
            ay = ay * -1;//ให้ค่า ay เป็นค่าตรงกันข้ามโดยให้ -1 เข้าไปคูณ
       }
       mc.vy = mc.vy + ay; // ให้ค่า y เท่ากับ ค่า y ปัจจุบน บวดด้วย ค่า ay
                                                           ั
       if (pn == 0 && mc.vy < 0) //ถา pn เท่ากับ 0 และ ค่า y ของผู้เล่น น้อยกว่า 0
                                          ้
       {
           mc.vy = 0; //ให้ค่า y ของผู้เล่นเป็น 0
       }
       if (pn == 1 && mc.vy > 0) // ถา ค่า pn เท่ากับ 1 และ ค่า y ของผูเล่นมากกว่า 0
                                              ้                          ้
       {
           mc.vy = 0;// ให้ค่า y เป็น 0
       }
        player_position(pn);// เรยกฟงกชน player_positio โดดย ส่งค่า ไปเป็น ตัวผู้เล่น ว่า
                                      ี     ั     ่ั
เป็นคอมพิวเตอร์หรือู๔้เล่นเอง
   }
   mc.stat = PS_WAIT;// ตงสถานะเปน wait
                                   ้ั           ้
   mc.gotoAndStop("wait");//เล่นเฟรม wait
   if (pn == 1 && mcBall.vy < mc.vy) // ถา ค่า pn เท่ากับ 1 และ ตําแหน่งลุกบอล มากกว่า
                                                       ้
ตําแหน่งyของ ผูเล่น ้
   {
       mc.stat = PS_AFTER; // ตังสถานะผูเล่น เป้น after
                                        ้            ้
       mc.gotoAndStop("win"); // ให้มุฟวี่คลิปเล่นเฟรม win
   }
   if (mc.net_flg == 0) // ถา net_flg ของผู้เล่น เท่ากับ 0
                                 ้
   {
        if (mc.netplay > Math.random() * 20) //ถ้าค่า netplay มากกว่า ค่าแรนดอมระหว่าง 1
- 20
       {
            mc.net_flg = 1; //ให้ค่าnet_flag เป็น 1
       }
   }
   mc.wm = WM_MOVE; //ตั้งค่า mc.wm = WM_MOVE
   mc.dest_x = 0;// ให้ค่า dest_x เป็น 0
   mc.dest_y = -COURT_H;//ให้ค่าdest_y เป็นค่าติดลบของ ตัวแปร COURT_H
   if (mc.net_flg)//mc.net_flg ถ้ามีค่าเป้นจริง
   {
       mc.dest_x = mcBall.dx / 3; // ให้ค่า mc.dest_x เทากับ mcBall.dx / 3
       mc.dest_y = -150;// ให้ค่า mc.dest_y เทากับ -150
   }
}
function start_stroke_com(pn)//เหมือนกัย ฟงกชน start_stroke_user ทุกอย่างแต่เปลี่ยน
                                                  ั ่ั
เป้นการคํานวณของตัวเล่นที่เป้นคอมพิวเตอร์
{
    var mc = eval("mcPlayer" + pn);
    mc.stat = PS_STROKE;
    mc.cnt = 0;
    var nx = mcBall.vx + mcBall.ax * 2;
    if (mcBall.vh > 70 && nx > mc.vx - HIT_X2_SMASH && nx < mc.vx -
HIT_X1_SMASH)
   {
        mc.stroke_type = ST_SMASH;
        mc.hit_x1 = -HIT_X2_SMASH;
        mc.hit_x2 = -HIT_X1_SMASH;
        mc.gotoAndStop("smash");
   }
    else if (mcBall.vx + mcBall.ax * 3 > mc.vx)
   {
        mc.stroke_type = ST_BACK;
        mc.hit_x1 = -HIT_X2_BACK;
        mc.hit_x2 = -HIT_X1_BACK;
        mc.gotoAndStop("back");
   }
    else
   {
        mc.stroke_type = ST_FORE;
        mc.hit_x1 = -HIT_X2_FORE;
        mc.hit_x2 = -HIT_X1_FORE;
        mc.gotoAndStop("fore");
    } // end else if
    mc.hit_y1 = -HIT_Y2;
    mc.hit_y2 = -HIT_Y1;
} // End of the function
function set_ball_dest_com()
{
    var cx = Math.floor(Math.random() * 3);// ให้ค่า cx เป้ค่าแรนดอของ 0-3
    var cy = Math.floor(Math.random() * 3);// ให้ค่า cy เป้ค่าแรนดอของ 0-3
    var x1;// สร้างตัวแปร x1 x2 y1 y2
    var x2;
    var y1;
    var y2;
    if (rally_cnt == 0) // ถา rally_cnt เท่ากับ 0
                             ้
   {
        if (serve_pos > 0) // ถา serve_posมากกว่า 0
                                 ้
        {
            x1 = -COURT_W; // ให้ค่า x1 เท่ากับ ค่าติดลบ ของ COURT_W
            x2 = 0;// x2 เทากับ 0
        }
else // ถา rally_cnt ไม่เท่ากับ 0
             ้
    {
       x1 = 0; // x 1 เท่ากับ 0
       x2 = COURT_W;// x2 ท่ากับ COURT_W
    }
    y1 = -SERVE_H; // y1 เท่ากับ ค่าติดลบ SERVE_H
    y2 = -SERVE_H / 2; // y2 เท่ากับ ค่าติดลบ SERVE_H หารด้วย 2
   }
   else
   {
       if (mcPlayer1.tech > Math.random() * 10)// ถ้ามูฟวี่คลิป mcPlayer1 มีค่า tech
มากกว่าคาแรนดอม ระหว่าง 1-10
      {
           if (mcPlayer0.vx < 0) // ถา mcPlayer0 ตําแหน่ง x มากกว่า 0
                                         ้
          {
              cx = 0; //ให้ cx เท่ากับ 0
          }
           else //หากตําแหน่งx มากกว่าเท่ากับ 0
          {
              cx = 2;//ให้ cx เท่ากับ 2
          }
      }
       if (mcPlayer1.net_flg) // ถาmcPlayer1.net_flg มีค่าเป็นจริง
                                       ้
      {
           cy = Math.floor(Math.random() * 2); //กําหนดค่า cy เท่ากับค่าแรนดอมระกว่าง 0-2
      }
       x1 = -COURT_W;//ให้ x1 เท่ากับค่าติดลบค่าตัวแปรของCOURT_W
       x2 = COURT_W;//ให้ x2เท่ากับค่าตัวแปรของCOURT_W
       y1 = -COURT_H;//ให้ y1 เท่ากับค่าติดลบค่าตัวแปรของCOURT_H
       y2 = -COURT_H / 3;//ให้ y2 เท่ากับค่าติดลบค่าตัวแปรของCOURT_H ski 3
   }
   var w = (x2 - x1) / 3;// สร้างตัวแปร w เท่ากับ x2 ลบ x1 หาร 3
   var h = (y2 - y1) / 3;/// สร้างตัวแปร h เท่ากับ y2 ลบ y1 หาร 3
   var x = x1 + w * cx + Math.random() * w; // สร้างตัวแปร x เท่ากับ x1+ w คูณ cx + ด้วย
ค่าแรนดอมของ ตั้งแต่ตัวที่ 0 ถึง ตัวที่ w
   var y = y1 + h * cy + Math.random() * h;// สร้างตัวแปร y เท่ากับ y1+ h คูณ cy + ด้วย
ค่าแรนดอมของ ตั้งแต่ตัวที่ 0 ถึง ตัวที่ h
   x = x * -1; //x เท่ากับ x คุณด้วย -1
   y = y * -1;// y เท่ากับ y คูณด้วย -1
   mc = mcPlayer1; //กานด ตัวแปร mc ให้เทกับ ตัวคอมพิวเตอร์
                              ํ
   var s = mc.forehand; //สร้างตัวแปร s ให้เท่ากับ ค่า ของ mc.forehand
   if (mcPlayer1.stroke_type == ST_BACK) // ถา mcPlayer1.stroke_type มีค่าเทา
                                                     ้
กบST_BACK
 ั
{
        s = mc.backhand;// ให้ s เท่ากับ ค่า mc.backhand
    } // end if
    if (mcPlayer1.stroke_type == ST_SMASH)// ถา mcPlayer1.stroke_type มีค่าเทา
                                                      ้
กบST_SMASH
  ั
    {
        s = mc.serve;// ให้ s เท่ากับ ค่า mc.serve
    } // end if
    start_move_ball(x, y, 1, s); //เรยกฟงกชน start_move_ball
                                       ี   ั   ่ั
} // End of the function
function player_position(n)
{
    var mc = eval("mcPlayer" + n); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว
เลขที่เราลือกอยุ่ (0 = player 1 computer)
    var per = 1 + mc.vy / COURT_H / 10; //สร้างตัวแปร per เทากับ ค่าของ 1 + mc.vy /
COURT_H / 10
    var x = mc.vx * per; // สร้างตัวแปร x ให้เท่ากับ mc.vx * per
    var y = mc.vy / 2;// สร้างตัวแปร y ให้เท่ากับ mc.vy / 2
    mc._x = SCREEN_OX + x;// เซ็ตตําแหน่ง x ของมูปวี่คลิปเท่ากับ SCREEN_OX + x
    mc._y = SCREEN_OY + y;// เซ็ตตําแหน่ง y ของมูปวี่คลิปเท่ากับ SCREEN_OY + y
    mc._xscale = 60 * per;//ปรับขนาดกว้าง ของมูฟวี่คลิป เท่ากับ 60* per
    mc._yscale = 60 * per;//ปรับขนาดยาวของมูฟวี่คลิป เท่ากัย 60 *per
    var mc2 = eval("mcShadow" + n); //สร้างตัวแปร mc2 โดยเรียก รุปเงา เข้ามา
    mc2._x = mc._x; // กําหนดตําแหน่งเงา ให้อยุ่เท้าของมูฟวี่คลิป
    mc2._y = mc._y;
} // End of the function
function init_ball()
{
    var mc = eval("mcPlayer" + server); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิป
ตามตวเลขที่เราลือกอยุ่ (0 = player 1 computer)
    mcBall.ax = 0; // ตั้งค่าเริ่มต้น
    mcBall.ay = 0;
    mcBall.vx = mc.vx;
    mcBall.vy = mc.vy;
    mcBall.vh = 0;
    mcBall.up = 0;
    mcBall.down = 0;
    mcBall.side = 0;
    if (server == 0) // ถา server เท่ากับ 0
                         ้
    {
        mcBall.side = 1; // ให้ side ของ บอล เท่ากับ 1
    } // end if
    mcBall.area = 0;//area ของบอล เท่ากับ 0
    if (server == 1) // ถา server เทากับ 1
                           ้
{
        mcBall.area = 1;//area ของบอล เท่ากับ 1
    } // end if
    mcBall.moving = 0; //moving ของบอล เท่ากับ 0
    mcBall._visible = false; //ซ่อนรุปบอล
    mcBallShadow._visible = false;//ซ่อนเงา
} // End of the function
function start_toss_ball(pn)
{
    var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว
เลขที่เราลือกอยุ่ (0 = player 1 computer)
    mcBall.ax = 0; //กําหนด ax ay ของบอลเทากับ 0
    mcBall.ay = 0;
    var ax = 10; //สร้างตัวแปร ax เทากับ 10
    if (pn == 1)// ถา pm เท่ากับ 1
                     ้
   {
        ax = ax * -1; //ให้ ax เท่ากับ ax คุณ -1
   }
    mcBall.vx = mc.vx + ax; // กําหนด ค่า x ของบอลเท่ากับ mc.vx + ax;
    mcBall.vy = mc.vy;//กําหนดตําแหน่ง y ขอบอลเท่ากับ mc.vy
    mcBall.vh = TOSS_H;// กําหนดความสูง เทากับ TOSS_H
    mcBall.up = 10;//ให้ตัวแปร up เท่ากับ 10
    mcBall.down = 0;// ให้ตัวแปร down เท่ากับ 0
    mcBall.side = 0;// side ของลุกบอล เท่ากับ 0
    if (pn == 0)// ถา pm เท่ากับ 0
                       ้
   {
        mcBall.side = 1; //ให้ ค่า side ของบอลเท่ากับ 1
   }
    mcBall.bound = 0; // กําหนดค่า bound ของลูกบอลเท่ากับ 0
    mcBall.moving = 1; // กําหนดค่า mobing ของลุกบอล เท่ากับ 1
    mcBall._visible = true; // โชว์ลูกบอลทางหน้าจอ
    mcBallShadow._visible = true;// โชว์เงา
}
function start_move_ball(dx, dy, side, max_speed)
{
    if (rally_cnt == 1 && mcBall.bound == 0) // ถา rally_cnt เท่ากับ 1 และ
                                                    ้
mcBall.bound เท่ากับ 0
   {
        set_result(RESULT_VOLLEY); // เรยกฟงกชน set_result โดยใส่ค่า
                                                ี ั   ่ั
RESULT_VOLLEY
   }
    mcBall.side = side; // เซ็ตตัแปร side ของบอลให้เท่ากับตัวแปร side
    mcBall.dx = dx; // / เซ็ตตัแปร dx ของบอลให้เท่ากับตัวแปร dx
mcBall.dy = dy;// เซ็ตตัแปร dy ของบอลให้เท่ากับตัวแปร dy
   var _loc3 = mcBall.dx - mcBall.vx; // สร้างตัวแปร _loc3 เท่ากับmcBall.dx -
mcBall.vx;
   var _loc2 = mcBall.dy - mcBall.vy;// สร้างตัวแปร _loc2 เท่ากับmcBall.dy - mcBall.vy;
   var _loc4 = Math.sqrt(_loc3 * _loc3 + _loc2 * _loc2); // สร้างตัวแปร _loc4 เท่ากับส
แควรูท(_loc3 * _loc3 + _loc2 * _loc2);
   for (i = 0; i < 5; i++)// วนลบ 5 รอบ
                                ู
   {
      var _loc1 = max_speed - i * 4; //สร้างตัวแปร _loc1เท่ากับ max_speed - i * 4;
      if (check_hit_net(_loc3, _loc2, _loc1, _loc4) == 1) // ถา การเรยก ฟังกชั่นของ
                                                               ้      ี
check_hit_net ค่าที่ได้ เท่ากับ 1
     {
         break; //เบรค
     }
   }
   var _loc5 = _loc4 / _loc1; //สร้างตัวแปร _loc5 เท่ากับ_loc4 / _loc1;
   var _loc7 = _loc5 * (_loc5 - 1) * GRAVITY / 2;//สร้างตัวแปร _loc7 เท่ากับ _loc5 *
(_loc5 - 1) * GRAVITY / 2
   mcBall.ax = _loc3 / _loc5; // ตั้งค่า ax ของลุกบอลเท่ากับ_loc3 / _loc5;
   mcBall.ay = _loc2 / _loc5;// ตั้งค่า ay ของลุกบอลเท่ากับ_loc2 / _loc5;
   mcBall.up = (_loc7 - mcBall.vh) / _loc5; // ตั้งค่า up ของลุกบอลเท่ากับ(_loc7 -
mcBall.vh) / _loc5;
   mcBall.down = 0;//ตั้งค่า down ของลุกบอล เท่ากับ 0
   mcBall.bound = 0;//ตั้งค่า bound ของลูกบอล เท่ากับ 0
   ++rally_cnt; //rally_cnt + เพิ่ม 1
    aaa.start();//ใชฟงกชนsndHit.start
                      ้ ั   ่ั
}
function check_hit_net(sx, sy, speed, dt)
{
   var _loc6 = dt / speed; //สร้างตัวแปร _loc6 เทกับdt / speed;
   var _loc7 = _loc6 * (_loc6 - 1) * GRAVITY / 2; //สร้างตัวแปร _loc7 เทากับ _loc6 *
(_loc6 - 1) * GRAVITY / 2;
   var _loc8 = sx / _loc6;//สร้างตัวแปร _loc8 เทากับ sx / _loc6;
   var _loc4 = sy / _loc6;//สร้างตัวแปร _loc4 เทากับ sy / _loc6;
   var _loc5 = (_loc7 - mcBall.vh) / _loc6; //สร้างตัวแปร _loc5 เท่ากับ(_loc7 -
mcBall.vh) / _loc6;
   var _loc3 = 0; //สร้างตัวแปร _loc3 เทาากับ 0
   var _loc2 = mcBall.vy; //สร้างตัวแปร _loc2 เทาากับ mcBall.vy
   var _loc1 = mcBall.vh;//สร้างตัวแปร _locๅ เทาากับ mcBall.vh
   while (true)
   {
      _loc1 = _loc1 + (_loc5 - _loc3); //ให้ตัวแปร _loc1 เท่ากับ_loc1 + (_loc5 - _loc3);
      _loc3 = _loc3 + GRAVITY;//ให้ตัวแปร _loc3 เท่ากับ_loc3 + GRAVITY;
_loc2 = _loc2 + _loc4;//ให้ตัวแปร _loc2 เท่ากับ_loc2 + _loc4;
       if (_loc1 < 0)//ถ้าค่า _loc1 น้อยกว่า 0
       {
           return (0);
       }
       if (mcBall.side == 0 && _loc2 < 0)// ถา ค่า side ของบอล เท่ากับ 0 และ _loc2 นอย
                                                  ้                                 ้
กว่า 0
       {
            if (_loc1 > NET_H + 10) // ถา _loc1 มากกว่า NET_H + 10
                                                ้
           {
                return (1);//รีเทรินค่า 1
           }
           else//ถ้าไม่ใช่ ให้รีเทรินค่า 0
           {
                return (0);
           }
       }
       if (mcBall.side == 1 && _loc2 > 0)// ถา side ของบอล เท่ากับ 1 และ _loc2 มากกว่า
                                                    ้
0
       {
            if (_loc1 > NET_H + 10)// ถา _loc1 มากกว่า NET_H + 10
                                              ้
           {
                return (1);// รีเทรินค่า เป้น 1
                continue;// ให้ระบบทํางานต่อ
           }
           return (0);
       }
  }
}
function move_ball()
{
   if (mcBall.moving != 1) // ถาmcBall.mobing มีค่าเป้น 1
                                       ้
  {
       return; // รีเทรินค่ากลับไป
  }
   mcBall.vh = mcBall.vh + (mcBall.up - mcBall.down);//ให้ mcBall.vh เทากับ
mcBall.vh + (mcBall.up - mcBall.down);
  if (mcBall.vh < 0)// ถา mcBall.vh น้อยกว่า 0
                                 ้
  {
        mcBall.up = (mcBall.down - mcBall.up) * 2 / 3;//ให้ mcBall.up เท่ากับ
(mcBall.down - mcBall.up) * 2 / 3;
        if (mcBall.up < 1.300000E+000)
                 {//ถา mcBall.up น้อยกว่า 1.300000E+000
                     ้
           mcBall.vh = 0;// ให้ mcBall.vh เเท่ากับ 0
            mcBall.moving = 0; // ให้ mcBall.moving เเท่ากับ 0
}
     mcBall.down = 0; // ให้ค่า mcBall.down เท่ากับ 0
     mcBall.vh = 0;// ให้ค่า mcBall.vh เท่ากับ 0
     mcBall.ax = mcBall.ax * 3 / 5; // mcBall.ax เท่ากับ mcBall.ax * 3 / 5;
     mcBall.ay = mcBall.ay * 3 / 5; //mcBall.ay เท่ากับ mcBall.ay * 3 / 5;
     ++mcBall.bound; //บวกค่า mcBall.bound เพิ่มอีก 1
     mcBall.vx = mcBall.vx + mcBall.ax; //ให้ค่า mcBall.vx เท่ากับ mcBall.vx +
mcBall.ax;
     mcBall.vy = mcBall.vy + mcBall.ay; //ให้ค่า mcBall.vy เท่ากับ mcBall.vy +
mcBall.ay;
     draw_ball();//เรียกฟังก์ชน draw_ball
                                   ่ั
     mcBound._x = mcBall._x; //mcBound._x ,ให้มีค่าเท่ากับ mcBall._x;
     mcBound._y = mcBall._y;//mcBound._y ,ให้มีค่าเท่ากับ mcBall._y;
     mcBound.gotoAndStop(2);//ให้mcBound ไปเล่นเฟรมที่ 2
     if (mcBall.bound == 1) // ถา mcBall.bound มีค่าเทากับ 1
                                         ้
    {
         if (rally_cnt <= 1) // ถา rally_cntมีค่าน้อยกว่าเท่ากับ 1
                                 ้
        {
             if (check_out_serve()) //ถา ในฟงกชน check_out_serve() มีค่าเป็น จริง
                                               ้          ั     ่ั
            {
                 set_result(RESULT_FAULT);//เรยกฟงกชน set_result โดยส่งค่า
                                                                   ี       ั ่ั
RESULT_FAULT
            }
        }
         else if (check_out())//ถา ฟกงชน check_out มีค่าเป้นจจรืง
                                        ้ ั        ่ั
        {
             set_result(RESULT_OUT);//เรยกฟงกชน set_result โดยส่งค่า RESULT_OUT
                                                        ี     ั         ่ั
        }
    }
     else if (mcBall.bound == 2) // ถา mcBall.bound มีค่าเท่ากับ 2
                                                 ้
    {
         set_result(RESULT_MISS);//เรยกฟงกชน set_result โดยส่งค่า RESULT_MISS
                                                      ี     ั        ่ั
    }
     sndBound.start();//เรยกฟงกชน sndBound.start();
                               ี      ั     ่ั
     draw_ball();//เรยกฟงกชน
                        ี    ั     ่ั       draw_ball();
 }
  else
 {
     mcBall.down = mcBall.down + GRAVITY;// ให้ค่า mcBall.downเท่ากับ
mcBall.down + GRAVITY;
     mcBall.vx = mcBall.vx + mcBall.ax;// ให้ค่า mcBall.vxเท่ากับ mcBall.vx +
mcBall.ax;
     mcBall.vy = mcBall.vy + mcBall.ay;// ให้ค่า mcBall.vyเท่ากับ mcBall.vy +
mcBall.ay
draw_ball();//เรยกฟงกชน draw_ball
                     ี  ั  ่ั
   }
}
function draw_ball()
{
    var _loc1 = 1 + mcBall.vy / COURT_H / 10; // ให้ค่า _loc1 เทากับ 1 + mcBall.vy /
COURT_H / 10;
    var _loc3 = mcBall.vx * _loc1;// ให้ค่า _loc3 เท่ากับ mcBall.vx * _loc1;
    var _loc2 = mcBall.vy / 2; //ให้ค่า_loc2 เท่ากับ mcBall.vy / 2;
    var _loc4 = mcBall.vh * _loc1; // ให้ค่า _loc4 เท่ากับ mcBall.vh * _loc1;
    mcBall._x = SCREEN_OX + _loc3;// ให้ค่า mcBall._x เท่ากับ SCREEN_OX +
_loc3;
    mcBall._y = SCREEN_OY + _loc2 - _loc4;// ให้ค่า mcBall._y เท่ากับ
SCREEN_OY + _loc2 - _loc4;
    mcBall._xscale = 100 * _loc1;//ให้ค่า mcBall._xscale เท่ากับ 100 คูณ _loc1
    mcBall._yscale = 100 * _loc1;//ให้ค่า mcBall._yscale เท่ากับ 100 คูณ _loc2
    mcBallShadow._x = SCREEN_OX + _loc3;//ให้ค่า mcBallShadow._x เท่ากับ
SCREEN_OX + _loc3
    mcBallShadow._y = SCREEN_OY + _loc2;///ให้ค่า mcBallShadow._y เท่ากับ
SCREEN_OY + _loc2
} // End of the function
function check_out_serve()
{
    var _loc2;//สร้างตัวแปร _loc2 _loc4 _loc1 _loc3
    var _loc4;
    var _loc1;
    var _loc3;
    if (server == 0)//ถา server เทากับ 0
                          ้
   {
        if (serve_pos > 0) // ถา serve_pos มาก 0
                                  ้
        {
            _loc2 = -COURT_W; //ให้ _loc2 เท่ากับ -COURT_W;
            _loc1 = 0;//ให้ _loc1 เทากับ 0
        }
        else // ถา serve_pos น้อยกว่าเท่ากับ 0
                 ้
        {
            _loc2 = 0; // ให้ _loc2 เทากับ 0
            _loc1 = COURT_W; // ให้ _loc1 เท่ากับ COURT_W;
        }
        _loc4 = -SERVE_H; // ให้ _loc 4 เท่ากับ -SERVE_H;
        _loc3 = 0;//ให้ _loc3 เท่ากับ 0
   }
    else
   {
        if (serve_pos > 0) // ถา serve_pos ากกว่า 0
                                    ้
{
        _loc2 = 0; //ให้ _loc2 เท่ากับ 0
        _loc1 = COURT_W; // ให้ _loc1 เท่ากับ COURT_W
    }
    else// ถา serve_pos น้อยกว่าเท่ากับ 0
            ้
    {
       _loc2 = -COURT_W; //ให้ _loc2 เท่ากับ -COURT_W;
       _loc1 = 0;//ให้ _loc1 เท่ากับ 0
    }
    _loc4 = 0; // ให้ _loc4 เท่ากับ 0
    _loc3 = SERVE_H; // ให้ _loc3 เ่ากับ SERVE_H
   }
    if (mcBall.vx < _loc2)//ถา mcBall.vx น้อยกว่า _loc 2
                                 ้
   {
        return (1);// รีเทรินค่าเป้น 1
    } // end if
    if (mcBall.vx > _loc1) //ถา mcBall.vx มากกว่า _loc1
                                     ้
   {
        return (1);// รีเทรินค่าเป็น 1
    } // end if
    if (mcBall.vy < _loc4) // ถา mcBall.vy น้อยกว่า _loc4
                                       ้
   {
        return (1);// รีเทรินค่าเป็น 1
    } // end if
    if (mcBall.vy > _loc3)//ถาmcBall.vy มากกว่า _loc3
                                   ้
   {
        return (1);
    } // end if
    return (0);
} // End of the function
function check_out() // มี ระะบเหมือนกัน กบ check_out_serve
                                            ั
{
    var _loc4;
    var _loc2;
    var _loc3;
    var _loc1;
    _loc4 = -COURT_W;
    _loc3 = COURT_W;
    if (mcBall.side == 0)
   {
        _loc2 = -COURT_H;
        _loc1 = 0;
   }
    else
   {
        _loc2 = 0;
_loc1 = COURT_H;
  }
  if (mcBall.vx < _loc4)
  {
      return (1);
  }
  if (mcBall.vx > _loc3)
  {
      return (1);
  }
  if (mcBall.vy < _loc2)
  {
      return (1);
  }
  if (mcBall.vy > _loc1)
  {
      return (1);
  }
  return (0);
}
function set_result(res)
{
  if (play_result > 0)// ถา play_result มีค่ามากกว่า 0
                            ้
  {
      return;
  } // end if
  play_result = res; //ให้ play_result เท่ากับ res
  switch (res)// ถาres อยุ๋ในหมวด
                     ้
  {
      case RESULT_FAULT: //ถาres เท่ากับ RESULT_FAULT
                                     ้
     {
         ++fault_cnt;// ให้บวกค่า fault_cnt เพิ่ม 1
         if (fault_cnt == 1)// ถา fault_cnt เท่ากับ 1
                                ้
        {
             mcMes.mes_txt = "FAULT";// ให้ข้อความหน้าจอ โชว์คําว่า FAULT
        }
         else// ถา มากกว่า 1
                  ้
        {
             mcMes.mes_txt = "DOUBLE FAULT"; // ให้ข้อความหน้าจอ โชว์คําว่า
DOUBLE FAULT
             play_winner = server == 0 ? (1) : (0); // โชว์เพิ่มสกอ
         } // end else if
         mcMes.gotoAndStop("mes");//มูฟวี่คลิป mcMes ไปเล่นเฟรมmes
         break;
     }
      case RESULT_OUT: //ถาres เท่ากับ RESULT_OUT
                                  ้
     {
mcMes.mes_txt = "OUT"; // ให้ข้อความหน้าจอ โชว์คําว่า OUT
         play_winner = mcBall.side == 0 ? (1) : (0);// โชว์เพิ่มสกอ
         mcMes.gotoAndStop("mes");//มูฟวี่คลิป mcMes ไปเล่นเฟรมmes
         break;
       }
        case RESULT_MISS://ถาres เท่ากับ RESULT_MISS
                                              ้
       {
           if (_parent.match_mode == 1) // ถา match mode เทากับ 1
                                                               ้
          {
               sndApp.start();//เรยกฟงกชน sndApp.start();
                                        ี          ั        ่ั
          }
            play_winner = mcBall.side; // ให้ค่า play_winnerเท่ากับ mcBall.side
           start_score();//เรยกฟงกชน start_score
                               ี          ั     ่ั
           break;
       }
        case RESULT_VOLLEY: //ถาres เท่ากับ RESULT_VOLLEY
                                                        ้
       {
           play_winner = server; // ให้ค่า play_winnerเท่ากับ server
           start_score(); //เรยกฟงกชน start_score
                                 ี          ั        ่ั
           break;
       }
    } // End of switch
} // End of the function
function start_score()
{
    if (play_winner < 0)// ถา play_winner มคานอยกวา 0
                                   ้                             ี ่ ้ ่
   {
        init_play();//เรยกฟงกชน init_play
                         ี   ั       ่ั
        return;
   }
    else// ถ้ามีค่ามากกว่า 0
   {
        ++point[play_winner];// ตัวแปร point[play_winner]; บวกค่าขึน 1   ้
                if(play_winner == 0)// ถา play_winner เท่ากับ 0
                                                          ้
                {
                      if(modeplay == "vscom") // ถาmodeplay เป็น vscom
                                                                     ้
                      {

                       numscore += 300; // บวกแต้ม 300
                       number_txt.text = "Score : "+numscore;// ให้ หน้าจอโชว์แต้ม
อัพเดท
                       tuommer.start();
                 }
            }
            else // ถา play_winner ไม่เท่ากับ 0
                     ้
{
                  if(modeplay == "vscom") // ถาmodeplay เป็น vscom
                                              ้
                  {

                         numscore -= 100;// ลบแต้ม100
                         if(numscore <= 0) // ถ้าหากแต้ม น้อยกว่า 0
                         {
                               numscore = 0; // ให้แต้มเ่ากับ 0
                         }
                         number_txt.text = "Score : "+numscore;// ให้ หน้าจอโชว์แต้ม
อัพเดท
                  }
                 }
       if (point[play_winner] > 3)//ถา /ตัวแปร point[play_winner] มากกว่า 3
                                          ้
      {
           if (point[0] == point[1])// ถา อาเรย์ point ตัวที่ 0 มีค่าเทากับ ตัวที่ 1
                                        ้
          {
               score_txt = "DEUCE"; // ให้โชว์หน้าจอเกมว่า DEUCE
               mcMes.mes_txt = score_txt;
                mcMes.gotoAndStop("score");
          }
           else if (Math.abs(point[0] - point[1]) <= 1) // ถถ้า อาเรย์ point ตัวที่ 0 ลบตัว ตัวที่
1 มีค่าน้อยกว่าเท่ากับ 1
          {
                score_txt = "Advantage " + pname[play_winner]; // ให้ โชว์ข้อความ
Advantage +ตามด้วยชื่อผู้เล่น
                mcMes.mes_txt = "Advantage " + pname[play_winner];
                mcMes.gotoAndStop("score");
          }
          else//ถ้าไม่ใช่
          {
                game_winner = play_winner; // ให้ game_winner มีค่าเท่ากับ play_winner
                ++gpoint[game_winner];//ให้ค่า gpoint[game_winner] บวกขึนอีก 1     ้
                             pname[play_winner]
                mcMes.mes_txt = "Game won by " + pname[play_winner];// โชว์ข้อความ ว่า
ผู้ ชนะคือใคร
                mcMes.gotoAndStop("game");
               mcPlayer0.stat = PS_AFTER;//ให้ mcPlayer0.stat มีสถานะเป้น PS_AFTER
                mcPlayer0.gotoAndStop("win");
                            tuommer2.start();
                            scheerup.start();
               return;
           } // end else if
      }
      else // ถ้ายังไม่มากกว่า 3
{
          var _loc3 = point[server]; // ให้ค่า _loc3 เท่ากับ point[server];
          var _loc2 = point[receiver]; // ให้ค่า _loc2 เท่ากับ point[receiver];
          var _loc1 = [0, 15, 30, 40];// ให้ค่า _loc1 เทากับ [0, 15, 30, 40]
          score_txt = pname[server] + " " + _loc1[_loc3] + " - " + _loc1[_loc2] + " " +
pname[receiver];// โชว์ข้อความเริ่มจาก ชือผูเล่น ตามด้วยสกอ และตามด้วยชื่อผู้เล่นคนที่ 2
                                              ่ ้
หรือคอม
          mcMes.mes_txt = _loc1[_loc3] + " - " + _loc1[_loc2]; //ให้มูฟวี่คลิป mcMes โชว์
ค่า แต้ม
          mcMes.gotoAndStop("score");
     } // end else if
      if (play_winner == 1)// ถา play_winner เท่ากับ 1
                                 ้
     {
          mcPlayer1.gotoAndStop("win"); //ให้มูฟี่คลิป mcPlayer1 เล่นเฟรม win
          mcPlayer1.stat = PS_AFTER;//ให้สถานะของ mcPlayer1 เป้น PS_AFTER
                   textwinner = pname[0]; // ให้ textwinner เท่ากับค่า pname
[play_winner]

       }
        else// ถา play_winner ไม่เท่ากับ 1
                 ้
       {
            mcPlayer1.gotoAndStop("lose");//ให้มูฟี่คลิป mcPlayer1 เล่นเฟรม lose
            mcPlayer1.stat = PS_AFTER;//ให้สถานะของ mcPlayer1 เป้น PS_AFTER
                       textwinner = pname[play_winner];// ให้ textwinner เท่ากับค่า pname
[play_winner]
        } // end else if
    } // end else if
} // End of the function
function after_score()
{
    fault_cnt = 0;// ให้ค่า fault_cnt เป็น 0
    play_winner = -1;// play_winner มีค่าเท่ากับ -1
    serve_pos = serve_pos == 1 ? (-1) : (1); // serve_pos มี่าเท่ากับ 1
    init_play();//เรยกฟงกชน init_play
                     ี     ั   ่ั
} // End of the function
function after_game_winner()
{
    if (gpoint[game_winner] >= 3 && Math.abs(gpoint[0] - gpoint[1]) > 1) // ถา gpoint
                                                                                  ้
[game_winner] มากกว่าเท่ากับ 3 และ ค่าของบวกลบ gpoint[0] - gpoint[1] มากกว่า 1
   {
        if (_parent.match_mode == 1)// ถา match_mode เท่ากับ 1
                                             ้
       {
            sndApp2.start(); //ใชฟงกชน sndApp2.start();
                                  ้ ั ์ ่ั
        } // end if
score_txt = "";//ให้ score_text เป้นข้อความว่าง
     if (gpoint[0] > gpoint[1]) // ถา ค่า gpoint[0] มากกว่าค่า gpoint[1]
                                    ้
     {
         match_winner = 0;//ให้match_winner เทากับ 0
         mcMes.gotoAndStop("win");//มูฟวี่คลิป mcMes เล่นเฟรม win
     }
     else
     {
         match_winner = 1;//ให้match_winner เทากับ 1
         mcMes.gotoAndPlay("lose");//มูฟวี่คลิป mcMes เล่นเฟรม lose
     } // end else if
   }
    else
   {
        mcMes.gotoAndStop("inplay");//มูฟวี่คลิป mcMes เล่นเฟรม inplay
        server = server == 0 ? (1) : (0); //ถา server เท่ากับ 0 ให้เป้นค่า (1) : (0);
                                             ้
        receiver = server == 0 ? (1) : (0);//ถา receiver เท่ากับ 0 ให้เป้นค่า (1) : (0);
                                               ้
        init_game();//เรยกฟงกชน init_game
                        ี  ั    ่ั
    } // end else if
} // End of the function
function after_match()
{

  if (_parent.match_mode == 0)// ถา match_mode เท่ากับ 0
                                      ้
  {
           trace("1")
      _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล
  }
  else if (match_winner == 0)// ถา match_winner เทากับ 0
                                  ้
  {

      _parent.result_txt[_parent.kaisen] = pname[0] + " " + gpoint[0] + " - " + gpoint[1]
+ " " + pname[1];//ให้ปรับค่าเริ่มต้น
      _parent.after_match();//เรยกฟงกชน after_match
                                  ี   ั ่ั
           _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล
  }
   else
  {

        _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล
    } // end else if
} // End of the function

function end_match_quit()
{
  _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล
} // End of the function

function user_action()
{
  mc = mcPlayer0; // ให้ mc เป็นมูฟวี่คลิปตัวผู้เล่น
  switch (mc.stat)// เชคสถานะ
  {
     case PS_SERVE: // ถ้าสถานะเป้น PS_SERVE
    {
        check_pad(); // เรยกฟงกชน check_pad
                            ี  ั    ่ั
        if (pad_trig) // ถา pad_trig มีค่าเป้นจริง
                          ้
       {

          start_toss(0);//เรยกฟงกชน start_toss ส่งค่าเป้น 0
                            ี  ั  ่ั
       }
       break;
    }
    case PS_TOSS:// ถ้าสถานะเป้น PS_TOSS
    {

       check_pad(); // เรยกฟงกชน check_pad
                         ี  ั  ่ั

       ++mc.cnt;//บวกค่า mc.cnt

       if (mc.cnt > 8)// ถา mc.cnt มากกว่า 8
                              ้
       {
            if(pad_trig)// ถา pad_trig มีค่าเป้นจริง
                            ้
           {

             start_stroke_user(0);// เรยกฟงกชนstart_stroke_user ส่งค่าเป้น 0
                                       ี  ั  ่ั
         }
       }
       if (mc.cnt == 7)// ถา mc.cnt มีค่าเทากับ 7
                           ้
       {
           start_toss_ball(0);// เรยกฟงกชนstart_toss_ball ส่งค่าเป้น 0
                                   ี  ั   ่ั
       } // end if
       break;
    }
    case PS_STROKE:// ถ้าสถานะเป้น PS_STROKE
    {
      ++mc.cnt;//บวกค่า mc.cnt
      if (mc.cnt == 3)// ถา mc.cnt เท่ากับ 3
                           ้
      {
          if (check_hit(0))// ถัา เรยฟงกชน check_hit ส่งค่าเป้น 0 แลว มีค่าเป้นจริง
                                ้   ี  ั ่ั                         ้
         {
set_ball_dest_user();// เรยกฟงกชน set_ball_dest_user
                                         ี           ั ่ั
              if (mcPlayer1.stat == PS_WAIT)// ถา mcPlayer1 มีสถานะเป็น PS_WAIT
                                                          ้
             {
                  mcPlayer1.stat = PS_FREEZE;// ให้ mcPlayer1 มีสถานะเป้น
PS_FREEZE
                  mcPlayer1.cnt = 0;// ให้ mcPlayer1 มีค่าเป็น 0
                  mcPlayer1.gotoAndStop("wait"); // ให้ mcPlayer1 เล่นเฟรม wait
             }
         }
     }
     break;
   }
   case PS_WAIT:// ถ้าสถานะเป้น PS_WAIT
   {
      check_pad();//เรียกฟังก์ชน check_pad
                                   ่ั
      if (pad_x == 0 && pad_y == 0) // ถา ตําแหน่งx และ ตําแหน่ง y เท่ากับ 0
                                                ้
     {
           mc.gotoAndStop("wait");// ให้ มุฟวี่คลิปเล่นเฟรม wait
          move_cnt = 0;// ให้ตัวแปร move_cnt เท่ากับ 0
     }
     else
     {
          var a = mc.footwork; // ให้ค่า a เท่ากับ mc.footwork
          mc.vx = mc.vx + pad_y * a; // mc.vx มีค่าเท่ากับ mc.vx + pad_y * a
          mc.vy = mc.vy + pad_x * a; // mc.vy มีค่าเท่ากับ mc.vy + pad_x * a;
          if (mc.vy <= 20) // ถา mc.vy น้อยกว่าเท่ากับ 20
                               ้
         {
              mc.vy = 20;//ให้mc.vy เทากับ 20
         }
           player_position(0);//เรียกฟังก์ชน player_position ส่งค่าเป้น 0
                                             ่ั
          if (pad_y < 0)// ถา ค่า y น้อยกว่า 0
                            ้
         {
              mc.gotoAndStop("left");//ให้มูฟวี่คลิปเล่นเฟรม left
         }
          else
         {
              mc.gotoAndStop("right");//ให้มูฟวี่คลิปเล่นเฟรม right
         }
     }
      if (pad_trig)// ถา pad_trig มีค่าเป้นจริง
                        ้
     {
           start_stroke_user(0);// เรยกฟงกชน start_stroke_user ส่งค่าเป็น 0
                                      ี    ั      ่ั
     }
     break;
   }
}
}
function move_player2() //มีการทํางานเหมือนกับ user_action สวนนเปนสวนผเลนท่ี 2
                                                            ่  ้ี ้ ่ ู้ ่
เมื่อ ผู้เล่นเลือกโหด player vs player
{
      var mc = mcPlayer1;
    switch (mc.stat)
    {
        case PS_SERVE:
       {
                     check_pad2();
           if (pad_trig2)
          {

            start_toss(1);
        } // end if
        break;

        /*++mc.cnt;
        if (mc.cnt > 10)
        {
            start_toss(1);
        } // end if
        break;0
                    */
      }
      case PS_TOSS:
      {
        /* ++mc.cnt;
         if (mc.cnt == 7)
         {
             start_toss_ball(1);
         } // end if
         if (mc.cnt > 22)
         {
             start_stroke_com(1);
         } // end if
         break;*/



                  check_pad();

        ++mc.cnt;

        if (mc.cnt > 8)
        {
            if(pad_trig2)
           {
start_stroke_user(1);
      } // end if
  } // end if
  if (mc.cnt == 7)
  {
      start_toss_ball(1);
  } // end if
  break;
}
case PS_WAIT:
{
         check_pad2();

             if (pad_x2 == 0 && pad_y2 == 0)
      {
           mc.gotoAndStop("wait");
           move_cnt = 0;
              }
              else
              {
                        var a = mc.footwork;
                        mc.vx = mc.vx + pad_y2 * a;
                        mc.vy = mc.vy + pad_x2 * a;
                        if (mc.vy >= -10)
                        {
                              mc.vy = -10;
                        }
                        player_position(1);
                        if (pad_y2 < 0)
                        {
                              mc.gotoAndStop("right");
                        }
                        else
                        {
                              mc.gotoAndStop("left");
                        }
                   }
   if (pad_trig2)
  {
       start_stroke_user(1);
  }
        break;
}
case PS_STROKE:
{
  ++mc.cnt;
  if (mc.cnt == 3)
  {
if (check_hit(1))
          {
               set_ball_dest_com();
          }
        }
        break;
    }
    case PS_FREEZE:
    {
      ++mc.cnt;
      if (mc.cnt > 10)
      {
          if (mc.vy > mcBall.dy)
         {
              mc.dest_x = mcBall.ax / mcBall.ay * (mc.vy - mcBall.vy) + mcBall.vx;
              mc.dest_y = mc.vy;
         }
          else
         {
              mc.dest_x = mcBall.dx + mcBall.ax * 5;
              mc.dest_y = mcBall.dy + mcBall.ay * 5;
         }
          mc.stat = PS_WAIT;
          mc.wm = WM_MOVE;
      }
      break;
    }
    default:
    {
      break;
    }
    }
}
function move_enemy()//มีการทํางานเหมือนกับ user_action สวนนเปนสวนผเลนท่ี 2 เมื่อ
                                                         ่  ้ี ้ ่ ู้ ่
ผู้เล่นเลือกโหด player vs player
{
    var mc = mcPlayer1;
    switch (mc.stat)
    {
       case PS_SERVE:
       {
          ++mc.cnt;
          if (mc.cnt > 10)
         {
              start_toss(1);
         }
          break;

    }
case PS_TOSS:
{
  ++mc.cnt;
  if (mc.cnt == 7)
  {
       start_toss_ball(1);
  }
  if (mc.cnt > 22)
  {
       start_stroke_com(1);
  }
  break;
}
case PS_WAIT:
{
  if (mc.wm == WM_MOVE)
  {
       var foot = mc.footwork;
      var f = 0;
      var lr = 0;
       if (mc.vy < mc.dest_y - 10)
     {
           mc.vy = mc.vy + foot;
     }
       else if (mc.vy > mc.dest_y + 10)
     {
           mc.vy = mc.vy - foot;
     }
      else
     {
          ++f;
     }
      if (f == 0)
     {
           if (mc.vx > 0)
          {
               lr = 1;
          }
           else
          {
               lr = -1;
          }
     }
       if (mc.vx < mc.dest_x - 10)
     {
           mc.vx = mc.vx + foot;
            mc.gotoAndStop("left");
          lr = -1;
     }
else if (mc.vx > mc.dest_x + 10)
    {
        mc.vx = mc.vx - foot;
         mc.gotoAndStop("right");
        lr = 1;
    }
    else
    {
        ++f;
     } // end else if
    if (f == 2)
    {
        mc.wm = WM_WAIT;
         mc.gotoAndStop("wait");
    }
    else
    {
        if (lr < 0)
        {
             mc.gotoAndStop("left");
        }
        if (lr > 0)
        {
             mc.gotoAndStop("right");
        }
    }
      player_position(1);
  }
   if (mcBall.vy + mcBall.ay * 4 < mc.vy)
  {
       if (Math.abs(mcBall.vx + mcBall.ax * 4 - mc.vx) < 60)
      {
           start_stroke_com(1);
      }
  }
  break;
}
case PS_STROKE:
{
  ++mc.cnt;
  if (mc.cnt == 3)
  {
      if (check_hit(1))
     {
          set_ball_dest_com();
     }
  }
  break;
}
case PS_FREEZE:
      {
        ++mc.cnt;
        if (mc.cnt > 10)
        {
            if (mc.vy > mcBall.dy)
           {
                mc.dest_x = mcBall.ax / mcBall.ay * (mc.vy - mcBall.vy) + mcBall.vx;
                mc.dest_y = mc.vy;
           }
            else
           {
                mc.dest_x = mcBall.dx + mcBall.ax * 5;
                mc.dest_y = mcBall.dy + mcBall.ay * 5;
           }
            mc.stat = PS_WAIT;
            mc.wm = WM_MOVE;
        }
        break;
      }
      default:
      {
        break;
      }
  }
}
function check_pad()
{
  pad_x = 0; // ให้ค่า x เท่ากับ 0

  if (Key.isDown(40)) //ถ้ากด ปุ่มลูกศร ขวา
  {
      pad_x = 1; // ค่า x เทากับ 1
             }
  if (Key.isDown(38))//ถ้ากด ปุ่มลูกศร ซ้าย
  {
      pad_x = -1;// ค่า x เทากับ -1

  } // end if
  pad_y = 0;// ให้ค่า y เท่ากับ 0
  if (Key.isDown(37))//ถ้ากด ปุ่มลูกศร ขน
                                        ุ้
  {
      pad_y = -1;// ค่า y เทากับ -1

  } // end if
  if (Key.isDown(39))//ถ้ากด ปุ่มลูกศร ลง
  {
pad_y = 1;// ค่า y เทากับ 1

   }
    pad_trig = Key.isDown(32); // ค่า pad_trig จะมีค่าเมื่อกด ป่ม space bar
} // End of the function

function check_pad2() // สําหรับผ๔้เล่นคนที่ 2
{


  pad_x2 = 0;//ให้ x และ y มีค่าเป้น 0
    pad_y2 = 0;

  if (Key.isDown(100)) //ถถากด ปุ่ม เบอ 8 (ด้าขวาสุดของคีย์บอร์ด)
                             ้
  {
            pad_y2 = -1;// ให้ y เทากับ -1

             }
  if (Key.isDown(102)) //ถ้ากด ปุ่ม เบอ 5
  {
            pad_y2 = 1;// ให้ y เทากับ 1


  }

  if (Key.isDown(104))//ถ้ากด ปุ่ม เบอ 4
  {

            pad_x2 =-1; // ให้ x เทากับ-1

  }
  if (Key.isDown(101))//ถ้ากด ปุ่ม เบอ 6
  {
            pad_x2=1 // ให้ x เทากับ1


  }
        if (Key.isDown(96))
  {
            // เบอร์0 ตี

    } // end if
    pad_trig2 = Key.isDown(96);//ค่า pad_trig2 จะมีค่าเมื่อกด เบอร์0
} // End of the function
function win_match()
{
_parent.match_mode = 0//ให้ match_mode เท่ากับ 0
      _parent.match_winner =0 //ให้ match_winner เท่ากับ 0
      cordlevel ++; // ให้่ค่า cordlevel บวกค่าไปอีก 1
      _parent.result_txt[_parent.kaisen] = pname[0] + " " + gpoint[0] + " - " + gpoint[1]
+ " " + pname[1];// เริ่มข้อความใหม่ทั้งหมด
      onEnterFrame = null;// กฟงกชนการ วนของการทํางาน ให้เป้นไม่มีค่า
                                    ั ์ ่ั
      if(modeplay == "vscom") // ถา modeplay เทากับ vscom
                                       ้
      {
           if(cordlevel >5)// ภา cordlevel มากกว่า 5
                                 ้
           {
                 savescore();//เรยกฟงกชน save score
                                     ี     ั ่ั
                 gotoAndPlay("highscore"); // หน้าจอไปเล่นเฟรม highscore
           }
           else
           {
                 gotoAndPlay("delay") // หน้าจอไปเล่นเฟรม delay
           }
      }
      else
      {
           gotoAndPlay("title") // หน้าจอไปเล่นเฟรม title
      }

}
function savescore()
{
       var objectscore:Object = new Object(); // สร้าง objectscore เป้น ตัวแปร Object
                                 objectscore.name = textname1; // ให้
objectscore .name เท่ากับ textname1
                                 objectscore.num = numscore;// objectscore.num
เทากับ numscore
                                 so.data.score.push
({num:objectscore.num,name:objectscore.name}) //ตัวแปร so เพิ่มค่าเข้าไป โดยเพิ่ม
ชื่อ และ แต้ม
                                 for(var t= 0;t < so.data.score.length ; t++)// วนลูบตาม
จํานวนตัวแปรสมาชิกของ so.data.score
                                 {

                                       if(t != so.data.score.length-1)// ถา t ไม่เทากับ
                                                                          ้
สมาชิกตัวสุดท้ายของ so.data.score
                                       {

                                          if(so.data.score
[so.data.score.length-1].name == so.data.score[t].name) // ถา มชอซากนในlist กับชื่อที่
                                                            ้ ี ่ื ํ้ ั
ถูกแอดมา
                                           {

                                                if(so.data.score
[so.data.score.length-1].num >= so.data.score[t].num) // ถา สกอ ชือทีซากัน ถ้าตัวไหนมี
                                                          ้       ่ ่ ํ้
ค่ามากกว่า
                                                {

                                                        so.data.score[t].num = 0; //
ปรับให้ สมาชกอกตวทใชอซากนมสกอเปน 0
            ิ ี ั ่ี ี ่ื ํ้ ั ี ้
                                                 }
                                                 else
                                                 {
                                                        so.data.score
[so.data.score.length-1].num =0;
                                                 }
                                           }
                                      }

                                }
                              so.data.score.sortOn(["num", "name"],
[Array.NUMERIC|Array.DESCENDING,Array.DESCENDING]); // จัดเรียงอาเรย์ใหม่
โดยให้สกอร์สูงสุดขึ้นมาก่อน
                              so.data.score.pop();// ลบสมาชิกตัวสุดท้ายทิ้งไป
}

Weitere ähnliche Inhalte

Was ist angesagt?

Astronomy 03
Astronomy 03Astronomy 03
Astronomy 03Chay Kung
 
แผ่นพับโครงงานคณิตศาสตร์ 1
แผ่นพับโครงงานคณิตศาสตร์ 1แผ่นพับโครงงานคณิตศาสตร์ 1
แผ่นพับโครงงานคณิตศาสตร์ 1KruKaiNui
 
Renaissance และ การปฏิรูปศาสนา
Renaissance และ การปฏิรูปศาสนาRenaissance และ การปฏิรูปศาสนา
Renaissance และ การปฏิรูปศาสนาfuangfaa
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัวParith Promwaranon
 
ใบงานที่ 14สารพันธุกรรม
ใบงานที่ 14สารพันธุกรรมใบงานที่ 14สารพันธุกรรม
ใบงานที่ 14สารพันธุกรรมAomiko Wipaporn
 
แบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล Nแบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล NOranee Seelopa
 
แบบทดสอบ เศรษฐศาสตร์ ม.3
แบบทดสอบ เศรษฐศาสตร์ ม.3แบบทดสอบ เศรษฐศาสตร์ ม.3
แบบทดสอบ เศรษฐศาสตร์ ม.3teerachon
 
การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557
การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557
การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557Panomporn Chinchana
 
โครงงานIs3
โครงงานIs3โครงงานIs3
โครงงานIs3Arisa Srising
 
แบบทดสอบวิวัฒน
แบบทดสอบวิวัฒนแบบทดสอบวิวัฒน
แบบทดสอบวิวัฒนWichai Likitponrak
 
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456kanjana2536
 
ชีวิตกับสิ่งแวดล้อม4
ชีวิตกับสิ่งแวดล้อม4ชีวิตกับสิ่งแวดล้อม4
ชีวิตกับสิ่งแวดล้อม4Tatthep Deesukon
 
การวัดการกระจาย
การวัดการกระจายการวัดการกระจาย
การวัดการกระจายCholticha Boonliang
 
แบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน หน่วย งานและพลังงาน
แบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน    หน่วย งานและพลังงานแบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน    หน่วย งานและพลังงาน
แบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน หน่วย งานและพลังงานdnavaroj
 

Was ist angesagt? (20)

Astronomy 03
Astronomy 03Astronomy 03
Astronomy 03
 
ใบงานยุโรปที่ 2
ใบงานยุโรปที่ 2ใบงานยุโรปที่ 2
ใบงานยุโรปที่ 2
 
โมล ม.4
โมล ม.4โมล ม.4
โมล ม.4
 
แผ่นพับโครงงานคณิตศาสตร์ 1
แผ่นพับโครงงานคณิตศาสตร์ 1แผ่นพับโครงงานคณิตศาสตร์ 1
แผ่นพับโครงงานคณิตศาสตร์ 1
 
Renaissance และ การปฏิรูปศาสนา
Renaissance และ การปฏิรูปศาสนาRenaissance และ การปฏิรูปศาสนา
Renaissance และ การปฏิรูปศาสนา
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัว
 
ใบงานที่ 14สารพันธุกรรม
ใบงานที่ 14สารพันธุกรรมใบงานที่ 14สารพันธุกรรม
ใบงานที่ 14สารพันธุกรรม
 
แบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล Nแบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล N
 
แบบทดสอบ เศรษฐศาสตร์ ม.3
แบบทดสอบ เศรษฐศาสตร์ ม.3แบบทดสอบ เศรษฐศาสตร์ ม.3
แบบทดสอบ เศรษฐศาสตร์ ม.3
 
แผนBioม.4 2
แผนBioม.4 2แผนBioม.4 2
แผนBioม.4 2
 
การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557
การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557
การอนุรักษ์นาฏศิลป์กับภูมิปัญญาท้องถิ่น และเทคนิคการจัดการแสดง ม.6 ปี2557
 
โครงงานIs3
โครงงานIs3โครงงานIs3
โครงงานIs3
 
แบบทดสอบวิวัฒน
แบบทดสอบวิวัฒนแบบทดสอบวิวัฒน
แบบทดสอบวิวัฒน
 
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
 
ชีวิตกับสิ่งแวดล้อม4
ชีวิตกับสิ่งแวดล้อม4ชีวิตกับสิ่งแวดล้อม4
ชีวิตกับสิ่งแวดล้อม4
 
การวัดการกระจาย
การวัดการกระจายการวัดการกระจาย
การวัดการกระจาย
 
นวัตกรรมคำราชาศัพท์
นวัตกรรมคำราชาศัพท์นวัตกรรมคำราชาศัพท์
นวัตกรรมคำราชาศัพท์
 
ใบงานที่ 6.1 เรื่อง อินเตอร์เน็ตและการใช้งาน
ใบงานที่  6.1 เรื่อง อินเตอร์เน็ตและการใช้งานใบงานที่  6.1 เรื่อง อินเตอร์เน็ตและการใช้งาน
ใบงานที่ 6.1 เรื่อง อินเตอร์เน็ตและการใช้งาน
 
แบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน หน่วย งานและพลังงาน
แบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน    หน่วย งานและพลังงานแบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน    หน่วย งานและพลังงาน
แบบทดสอบวัดผลสัมฤทธิ๋ทางการเรียน หน่วย งานและพลังงาน
 
แรงระหว่างประจุและกฎของคูลอมบ์
แรงระหว่างประจุและกฎของคูลอมบ์แรงระหว่างประจุและกฎของคูลอมบ์
แรงระหว่างประจุและกฎของคูลอมบ์
 

Mehr von rubtumproject.com

ปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพา
ปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพาปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพา
ปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพาrubtumproject.com
 
บทที่ 5 (แก้ไขครั้งที่ 1)
บทที่ 5 (แก้ไขครั้งที่ 1)บทที่ 5 (แก้ไขครั้งที่ 1)
บทที่ 5 (แก้ไขครั้งที่ 1)rubtumproject.com
 
ตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชาย
ตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชายตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชาย
ตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชายrubtumproject.com
 
ตัวอย่างงานเขียนโปรแกรมด้วย Access
ตัวอย่างงานเขียนโปรแกรมด้วย Accessตัวอย่างงานเขียนโปรแกรมด้วย Access
ตัวอย่างงานเขียนโปรแกรมด้วย Accessrubtumproject.com
 
รับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษม
รับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษมรับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษม
รับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษมrubtumproject.com
 
รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53
รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53
รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53rubtumproject.com
 
DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์rubtumproject.com
 
DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์rubtumproject.com
 
คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์
คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์
คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์rubtumproject.com
 
บททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรม
บททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรมบททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรม
บททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรมrubtumproject.com
 
บทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพบทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพrubtumproject.com
 
บทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพบทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพrubtumproject.com
 
วิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยว
วิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยววิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยว
วิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยวrubtumproject.com
 
บทที่ 3 ระบบ android ocr
บทที่ 3 ระบบ android ocr บทที่ 3 ระบบ android ocr
บทที่ 3 ระบบ android ocr rubtumproject.com
 
ตัวอย่างบทที่่ 1-2 โปรแกรม
ตัวอย่างบทที่่ 1-2 โปรแกรมตัวอย่างบทที่่ 1-2 โปรแกรม
ตัวอย่างบทที่่ 1-2 โปรแกรมrubtumproject.com
 
ตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshopตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshoprubtumproject.com
 
ตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshopตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshoprubtumproject.com
 
ตัวอย่างงานเกมส์เขียนด้วยภาษา C
ตัวอย่างงานเกมส์เขียนด้วยภาษา Cตัวอย่างงานเกมส์เขียนด้วยภาษา C
ตัวอย่างงานเกมส์เขียนด้วยภาษา Crubtumproject.com
 
ตัวอย่างแบบสอบถามงานวิจัย
ตัวอย่างแบบสอบถามงานวิจัยตัวอย่างแบบสอบถามงานวิจัย
ตัวอย่างแบบสอบถามงานวิจัยrubtumproject.com
 
บัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้า
บัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้าบัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้า
บัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้าrubtumproject.com
 

Mehr von rubtumproject.com (20)

ปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพา
ปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพาปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพา
ปัจจัยทางการตลาดที่ส่งผลต่อการรับประทานอาหารที่ครัวดารา ม.บูรพา
 
บทที่ 5 (แก้ไขครั้งที่ 1)
บทที่ 5 (แก้ไขครั้งที่ 1)บทที่ 5 (แก้ไขครั้งที่ 1)
บทที่ 5 (แก้ไขครั้งที่ 1)
 
ตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชาย
ตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชายตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชาย
ตัวอย่างบทที่ 2 พฤติกรรมป้องกันโรคเอดส์ของกลุ่มชายรักชาย
 
ตัวอย่างงานเขียนโปรแกรมด้วย Access
ตัวอย่างงานเขียนโปรแกรมด้วย Accessตัวอย่างงานเขียนโปรแกรมด้วย Access
ตัวอย่างงานเขียนโปรแกรมด้วย Access
 
รับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษม
รับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษมรับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษม
รับจัดฟอร์แมต ตัวอย่างงานจัดหน้าของม.ราชภัฎจัทรเกษม
 
รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53
รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53
รายงานการสัมมนาทางสังคมวิทยา กรณีอั้มเนโกะ มหาวิทยาลัยธรรมศาสตร์ รหัส 53
 
DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์
 
DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์
 
คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์
คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์
คู่มือการใช้งานระบบการจัดการหนังสืออิเล็กทรอนิกส์
 
บททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรม
บททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรมบททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรม
บททีี่ 1-5 การควบรวมกันขององค์กรนวัตกรรม
 
บทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพบทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 3 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
 
บทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพบทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
บทที่ 2 การพัฒนาความคิดสร้างสรรค์ด้วยโปรแกรมคอมพิวเตอร์กราฟิกและการวาดภาพ
 
วิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยว
วิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยววิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยว
วิทยานิพนธ์บทที่ 4 พัฒนาการท่องเที่ยว
 
บทที่ 3 ระบบ android ocr
บทที่ 3 ระบบ android ocr บทที่ 3 ระบบ android ocr
บทที่ 3 ระบบ android ocr
 
ตัวอย่างบทที่่ 1-2 โปรแกรม
ตัวอย่างบทที่่ 1-2 โปรแกรมตัวอย่างบทที่่ 1-2 โปรแกรม
ตัวอย่างบทที่่ 1-2 โปรแกรม
 
ตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshopตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 2 ระบบ e-learning สอนphotoshop
 
ตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshopตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshop
ตัวอย่างบทที่ 3 ระบบ e-learning สอนphotoshop
 
ตัวอย่างงานเกมส์เขียนด้วยภาษา C
ตัวอย่างงานเกมส์เขียนด้วยภาษา Cตัวอย่างงานเกมส์เขียนด้วยภาษา C
ตัวอย่างงานเกมส์เขียนด้วยภาษา C
 
ตัวอย่างแบบสอบถามงานวิจัย
ตัวอย่างแบบสอบถามงานวิจัยตัวอย่างแบบสอบถามงานวิจัย
ตัวอย่างแบบสอบถามงานวิจัย
 
บัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้า
บัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้าบัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้า
บัญชีกำไรขาดทุนร้านซ่อมแซมเสื้อผ้า
 

ตัวอย่างการอธิบายโค้ด

  • 1. stop (); import flash.media.Sound.*; import flash.events.*; var aaa:Sound = new Sound() aaa.attachSound("sound12") var scheerup = new Sound() scheerup.attachSound("Cheering-timtube-14") var kidcheer = new Sound() kidcheer.attachSound("kids_che-A_Algie-365") var tuommer = new Sound() tuommer.attachSound("sound2") var tuommer2 = new Sound() tuommer2.attachSound("sound1") stagetxt.stagetxt.text = String("Stage"+cordlevel); this.btn_sopen._visible = false; bt_main.onRelease = function() { gotoAndStop(1) } btn_sopen.onRelease = function() { btn_sclose._visible = true; btn_sopen._visible = false; aaa.setVolume(100); tuommer.setVolume(100) tuommer2.setVolume(100) } btn_sclose.onRelease = function() { btn_sclose._visible = false; btn_sopen._visible = true; aaa.setVolume(0); tuommer.setVolume(0) tuommer2.setVolume(0) } COURT_W = 180; //เก็บตัวแปรความกวางของคอร์ด COURT_H = 360; //เก็บตัวแปรความยาวของคอร์ด SERVE_H = 200; //เก็บตัวแปรความยาวของ ระยะ เสริฟ SCREEN_OX = 300; //ตัวแปร ความกว้างscreen SCREEN_OY = 300;//ตัวแปร ความยาวscreen mcNet._y = SCREEN_OY; //ตั้งขนาดความกว้างของ ตาข่าย = 300 NET_H = 40; //ตั้งขนาดความสูงของตาข่าย TOSS_H = 50; // ตั้งตัวแปรความสูงของการข้ามลูก GRAVITY = 8.000000E-001; // ตั้งตัวแปรแรงโน้มถ่วง PS_WAIT = 1; // ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1 ้
  • 2. PS_MOVE = 2; // ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2 ้ PS_STROKE = 3;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 3 ้ PS_SERVE = 4;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 4 ้ PS_TOSS = 5;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 5 ้ PS_FREEZE = 6;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 6 ้ PS_AFTER = 7;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 7 ้ ST_FORE = 1; // ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1 ้ ST_BACK = 2;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2้ ST_SMASH = 3;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 3 ้ HIT_X1_FORE = -10;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -10 ้ HIT_X2_FORE = 60;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 60 ้ HIT_X1_BACK = -60;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -60 ้ HIT_X2_BACK = 10;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1 0 ้ HIT_X1_SMASH = -30;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -30 ้ HIT_X2_SMASH = 50;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 50 ้ HIT_Y1 = -120;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น -120 ้ HIT_Y2 = 80;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 80 ้ HIT_Z = 120;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 120 ้ WM_WAIT = 1;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1 ้ WM_MOVE = 2;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2 ้ RESULT_FAULT = 1;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 1 ้ RESULT_OUT = 2;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 2 ้ RESULT_MISS = 3;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 3 ้ RESULT_VOLLEY = 4;// ใส่ค่าตัวเลข ของตัวแปร นีเป้น 4 ้ import flash.geom.ColorTransform; eval(mcPlayer1).transform.colorTransform = new ColorTransform (1,1,150,1,1,1,1,1); pname = new Array(2);//สร้างอาเรย์ ที่มีสมาชิกทั้งหมด 2 ตัง for (i = 0; i < 2; i++) //ลูป ปรแกรม 2 ครั้ง { if(modeplay == "vscom") // ถาmodeplay เป้นโหมด vscom ้ { if(i != 0)// ถ้าไอไม่เท่ากับ 0 { pname[i] = "player"+(i+1); // ให้ ตัวแปร pname ตัวที่ i เท่ากับชื่อ player2 (ชื่อ ของคอม) mc = eval("mcPlayer" + i);// ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป mcPlayer1 ไว้ mc.forehand = 20 + 1 * enemydata[enemylevel][0];// ตั้งค่าการตี forehand ด้วย20+1 คูณด้วยตัวแปรความยากของ enemydata mc.backhand = 20 + 5.000000E-001 * enemydata[enemylevel][1];// ตั้ง
  • 3. ค่าการตี backhand ด้วย20 + 5.000000E-001คูณด้วยตัวแปรความยากของ enemydata mc.serve = 30 + 3 * enemydata[enemylevel][2];// ตั้งค่าการตี serve ด้วย30 + 3คูณด้วยตัวแปรความยากของ enemydata mc.footwork = 6 + 3.000000E-001 * enemydata[enemylevel][3];// ตั้งค่า วิ่ง ด้วย6 + 3.000000E-001คูณด้วยตัวแปรความยากของ enemydata mc.netplay = enemydata[enemylevel][4];// ตั้งค่าการเล่นnetplayตัวแปร ความยากของ enemydata mc.tech = enemydata[enemylevel][5];// ตั้งค่าการตี ลูกเทคนิคด้วยตัวแปร ความยากของ enemydata } else // ถา i = 0 ้ { pname[i] = textname1;// ให้ ตัวแปร pname ตัวที่ 0 เก็บชื่อของผู้เล่นไว้ mc = eval("mcPlayer" + i); // ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป mcPlayer0 ไว้ mc.forehand = 20 + 1 * 5;// ตั้งค่าการตี forehand ด้วย20+1 คูณด้วย5 mc.backhand = 20 + 5.000000E-001 * 5;// ตั้งค่าการตี backhand ด้วย20 + 5.000000E-001คูณด้วย5 mc.serve = 30 + 3 * 5;// ตั้งค่าการตี serve ด้วย30 + 3คูณด้วย5 mc.footwork = 6 + 3.000000E-001 * 5;// ตั้งค่า วิ่ง ด้วย6 + 3.000000E-001คูณด้วย5 mc.netplay = 5;// ตั้งค่าการเล่นnetplay ด้วย 5 mc.tech = 5;// ตั้งค่าการตี ลูกเทคนิค } } else // หาก เป็น mode player vs player { if(i == 0) { pname[i] = textname1;// ให้ ตัวแปร pname ตัวที่ 0 เก็บชื่อของผู้เล่นคนที่ 1ไว้ mc = eval("mcPlayer" + i);// ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป mcPlayer0 ไว้ mc.forehand = 20 + 1 * 5;// ตั้งค่าการตี forehand ด้วย20+1 คูณด้วย10 mc.backhand = 20 + 5.000000E-001 * 10;// ตั้งค่าการตี backhand ด้วย20 + 5.000000E-001คูณด้วย10 mc.serve = 30 + 3 * 10;// ตั้งค่าการตี serve ด้วย30 + 3คูณด้วย10 mc.footwork = 6 + 3.000000E-001 * 10;// ตั้งค่า วิ่ง ด้วย6 + 3.000000E-001คูณด้วย10 mc.netplay = 10;// ตั้งค่าการเล่นnetplay ด้วย 10 mc.tech = 10;// ตั้งค่าการตี ลูกเทคนิค }
  • 4. else { pname[i] = textname2;// ให้ ตัวแปร pname ตัวที่ 0 เก็บชื่อของผู้เล่นคนที่ 2ไว้ mc = eval("mcPlayer" + i);// ตัวแปร mc จะเก็บข้อมูลมูปวี่คลิฟของรูป mcPlayer1 ไว้ mc.forehand = 20 + 1 * 10;// ตั้งค่าการตี forehand ด้วย20+1 คูณด้วย10 mc.backhand = 20 + 5.000000E-001 * 10;// ตั้งค่าการตี backhand ด้วย20 + 5.000000E-001คูณด้วย10 mc.serve = 30 + 3 * 10;// ตั้งค่าการตี serve ด้วย30 + 3คูณด้วย10 mc.footwork = 6 + 3.000000E-001 * 10;// ตั้งค่า วิ่ง ด้วย6 + 3.000000E-001คูณด้วย10 mc.netplay = 10;// ตั้งค่าการเล่นnetplay ด้วย 10 mc.tech = 10;// ตั้งค่าการตี ลูกเทคนิค } } } // end of for server = 0; // ตั้งค่าตัวแปร ผู้เสริฟเป็น 0 receiver = 1; // ตั้งค่า ผู้รับ 1 textwinner ;// ตั้งค่าตัวแปร text winner gpoint = [0, 0]; // สร้างตัวแปร gpoint เก็บค่าx y init_game(); //เรียกฟังก์ชน initgame ่ั onEnterFrame = function () { user_action(); move_ball(); check_pad2() if(modeplay == "vscom") { move_enemy(); } else { move_player2() } }; function init_game() { //ตั้งค่าเริ่มต้นให้กับเกมส์ serve_pos = 1; // ตั้งค่าตัวแปร servepos ให้เป้น 1
  • 5. play_winner = -1; //ตั้งค่า playerwinner = -1 fault_cnt = 0;//ตั้งค่า fault เป็น 0 point = [0, 0]; //ตั้งค่า point เป็น 0 ,0 score_txt = pname[server] + " 0 - 0 " + pname[receiver]; // ที่หน้าจอเกม ใส่ข้อความ เป็น ชอผเลน สกอร์ และชือผูเล่นที่ 2 หรือคอม ่ื ้ ่ ่ ้ if(modeplay == "vscom") // ถา หาก mode = vs com ้ { number_txt.text._visible = true; //ให้โชว์แถบข้อความตัวแปร number_txt number_txt.text = "Score : "+numscore; // ให้ขอความนี้ โชว์คะแนนที่เราได้รับ } else // ถาหากเปน mode vsplayer ้ ้ { number_txt.text._visible = false; //ให้ซ่อนแถบข้อความที่หน้าจอ } init_play(); // เรยกฟกงชน init_play ี ั ่ั cord.gotoAndStop(cordlevel) //ให้คอร์ดสนามเปลี่ยนไปตาม ตัวเลขตัวแปร cordlevel } // End of the function function init_play() { rally_cnt = 0; //ตั้งค่า rally_cnt เท่ากับ 0 play_result = 0;//ตั้งค่า play_result เป็น 0 mcMes.gotoAndStop("inplay"); // ให้มูปวี่คลิป mcMes ไปเล่นเฟรม inplay var i = 0; // ตั้ค่า i เป็น 0 while (i < 2) //หาก ค่า i น้อยกว่า 2 { var mc = eval("mcPlayer" + i); //เรียกมุปวี่คลิฟ คนเล่นว่าเป้นคนไหน mc.vy = COURT_H + 20; //ให้ค่า nc.vy เป็น ความสูงของคอร์ด + 20 if (i == 1) // ถา i เท่ากับ 1 ้ { mc.vy = mc.vy * -1; //ให้ค่า mc.vy เป้นค่าเท่ากับ ค่าของ mc.vy คุณด้วย -1 } // end if if (server == i) // ถ้าตัวแปรserver เท่ากับ ค่า i { mc.vx = serve_pos * 20; //ให้ค่า mc.vx เท่ากับ ค่าของ serve_pos คุณด้วย 20 start_serve(i); //เรยกฟงกชน start_serve ตัวแปรที่ใส่ไปคือ ค่าตัวเลข 0 และ 1 ซึ่ง 0 ี ั ่ั จะเป้น ผู้ เล่น 1 คือคอมพิวเตอร์ } else// ถ้าตัวแปรserver ไม่เท่ากับ ค่า i { mc.vx = serve_pos * -COURT_W * 2 / 3; //ตั้งคาตัวแปร mc.vx เท่ากับค่าของ serve_posคุณด้วยค่าของ -COURT_W คุณด้วย 2 แล้วทั้งหมดหาร 3
  • 6. mc.stat = PS_WAIT; // ให้ค่า มุปวี่คลิฟที่ถูกเลือกที่ ตั้งสถานะเป็ รอ mc.gotoAndStop("wait");// ให้ มุปวี่คลิปเล่นเฟรม wait mc.wm = WM_WAIT; //ตั้งค่า wm เป้นค่า WM_WAIT } // end else if if (server == 1)//ถ้าตัวแปร server เทกับ 1 { mc.vx = mc.vx * -1;//ให้ค่า mc.vx เท่ากับ ค่าของ mc.vx คูณด้วย -1 } // end if player_position(i);//เรยกฟงกชน player_position ี ั ่ํ mc.net_flg = 0;//ให้ค่าnet_flg ของมูฟวี่คลิปที่เลือกอยุ่เป้น 0 ++i; //+ค่า i } // end while init_ball(); //เรยกฟงกชน init_ball ี ั ่ํ debug_txt = ""; } // End of the function function start_serve(pn) { var mc = eval("mcPlayer" + pn); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตาม ตวเลขที่เราลือกอยุ่ (0 = player 1 computer) mc.stat = PS_SERVE; // ใหสถานะมฟวคลปตวนนเปน พร้อมเสริฟ ้ ู ่ี ิ ั ้ั ้ mc.cnt = 0; //ใส่คา cnt เทากับ0 ่ mc.gotoAndStop("serve");// ให้มูปวี่คลปนั้นเล่นเฟรม serve } // End of the function function start_toss(pn) { var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว เลขที่เราลือกอยุ่ (0 = player 1 computer) mc.stat = PS_TOSS;// ใหสถานะมฟวคลปตวนนเปน toss หรือการตีลูก ้ ู ่ี ิ ั ้ั ้ mc.gotoAndStop("toss");// ให้มูปวี่คลปนั้นเล่นเฟรม toss mc.cnt = 0;//ใส่คา cnt เทากับ0 ่ } // End of the function function start_stroke_user(pn) { var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว เลขที่เราลือกอยุ่ (0 = player 1 computer) mc.stat = PS_STROKE;// ใหสถานะมฟวคลปตวนนเปน stroke ้ ู ่ี ิ ั ้ั ้ mc.cnt = 0;//ใส่คา cnt เทากับ0 ่ var nx = mcBall.vx + mcBall.ax * 2; //ตั้งค่าตัวแปร nx ให้เท่ากับ ความเร็วของ ลูกบอลคุณอัตราเร่งของลุกบอล คูณ้วย 2 if (mcBall.vh > 70 && nx > mc.vx + HIT_X1_SMASH && nx < mc.vx + HIT_X2_SMASH) //ถ้าความสูงของลูกบอล มากกว่า 70 และ ค่า nx มากกว่า ค่าx มูปวี่คลิป
  • 7. + ด้วยตัวแปรHIT_X1_SMASH และ ค่า nx น้อยกว่า ค่า xของ มูฟวี่คลป บวก ด้วยHIT_X2_SMASH { mc.stroke_type = ST_SMASH; //ตั้งค่า mc.stroke_type ให้เป็นST_SMASH mc.hit_x1 = HIT_X1_SMASH;//ให้ค่า mc.hit_x1 เป็นHIT_X1_SMASH mc.hit_x2 = HIT_X2_SMASH;// mc.hit_x2 เป็น HIT_X2_SMASH mc.gotoAndStop("smash");//ให้มูฟวี่คลิปเล่นเฟรม smash หรือการตบลูก } else if (mcBall.vx + mcBall.ax * 3 < mc.vx) //ถา ตําแหน่งของลุกบอล คูรด้วย 3 ยังมีค่า ้ มากว่า มูฟวี่คลิป { mc.stroke_type = ST_BACK; //ให้mc.stroke_type เป้น ST_BACK mc.hit_x1 = HIT_X1_BACK;//ให้ค่า mc.hit_x1 เป็นHIT_X1_BACK mc.hit_x2 = HIT_X2_BACK;//ให้ค่า mc.hit_x2 เป็นHIT_X2_BACK mc.gotoAndStop("back");//ให้มูฟวี่คลิปเล่นเฟรม back หรือตีลูกหลังมือ } else // ถ้าไม่ใช่ ทั้งหมด { mc.stroke_type = ST_FORE; //ให้mc.stroke_type เป้น ST_FORE mc.hit_x1 = HIT_X1_FORE;//ให้ค่า mc.hit_x1 เป็น HIT_X1_FORE mc.hit_x2 = HIT_X2_FORE;//ให้ค่า mc.hit_x2 เป็น HIT_X2_FORE mc.gotoAndStop("fore");//ให้มูฟวี่คลิปเล่นเฟรม fore หรือตีลูกหน้ามือ } // end else if mc.hit_y1 = HIT_Y1; //ให้่ค่า mc.hit_y1เทากับHIT_Y1 mc.hit_y2 = HIT_Y2;//ให้่ค่า mc.hit_y2เทากับHIT_Y2 } // End of the function function check_hit(pn) { var mc = eval("mcPlayer" + pn); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตาม ตวเลขที่เราลือกอยุ่ (0 = player 1 computer) if (mcBall.vx < mc.vx + mc.hit_x1)// ถ้าตําแหน่งxของลุกบอล มคานอยกวา ตําแหน่งของ ี ่ ้ ่ มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_x1 { return (0);// คืนค่าเป้น0 } // end if if (mcBall.vx > mc.vx + mc.hit_x2)// ถ้าตําแหน่งxของลุกบอล มีค่ามากกว่า ตําแหน่งของ มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_x2 { return (0); } // end if if (mcBall.vy < mc.vy + mc.hit_y1)// ถ้าตําแหน่งyของลุกบอล มคานอยกวา ตําแหน่งของ ี ่ ้ ่ มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_y1 {
  • 8. return (0); } // end if if (mcBall.vy > mc.vy + mc.hit_y2)// ถ้าตําแหน่งyของลุกบอล มคานอยกวา ตําแหน่งของ ี ่ ้ ่ มูฟวี่คลิปผู้เล่นที่เลือก + mc.hit_y2 { return (0); } // end if if (mcBall.vh > HIT_Z) //ถ้าค่า vh ของลูกบอลมีมากกว่าHIT_Z { return (0); } // end if return (1);// คืนค่าตัวเลข1 } // End of the function function set_ball_dest_user() { if (mcBall.side == 0) // ถา ค่า side ของลูกบอลมีค่าเป้น 0 ้ { return;//ให้รีเทริ์นค่าทิ้ง } // end if check_pad();//เรยกฟงกชนcheck_pad ี ั ่ั var _loc6 = 1; //ให้ค่า _loc6 เทากับ 1 if (pad_y < 0)// หากค่า y น้อยกว่า 0 { _loc6 = 0;//ให้ค่า _loc6 เทากับ 0 } // end if if (pad_y > 0)// หากค่า y มากกว่า0 { _loc6 = 2;//ให้ค่า _loc6 เทากับ 2 } // end if var _loc5 = 1;//ให้ค่า _loc5 เทากับ 1 if (pad_x < 0)// หากค่า x น้อยกว่า 0 { _loc5 = 0;//ให้ค่า _loc5 เทากับ 0 } // end if if (pad_x > 0)// หากค่า x มากกว่า 0 { _loc5 = 2;//ให้ค่า _loc5 เทากับ 2 } // end if var _loc1; //ตั้งค่า _loc1 _loc2 _loc3 _loc7 var _loc2; var _loc3; var _loc7; if (rally_cnt == 0) // ถ้าค่า rally_cnt เท่ากับ 0 { if (serve_pos > 0) //ถา serve_pos มากกว่า 0 ้
  • 9. { _loc1 = -COURT_W; //ให้ _loc1 เท่ากับค่าติดลบของตัวแปรCOURT_W _loc2 = 0;//_loc2 เทากับ 0 } else { _loc1 = 0; //ให้ _loc1 เท่ากับ0 _loc2 = COURT_W; //ให้ _loc2 เท่ากับค่าของตัวแปรCOURT_W } // end else if _loc3 = -SERVE_H; //ให้ค่า _loc3 เทากับ ค่าติดลบของ SERVE_H _loc7 = -SERVE_H / 2;//ให้ค่า _loc7 เทากับ ค่าติดลบของ SERVE_H หาร 2 } else// ถ้าค่า rally_cnt ไม่เท่ากับ 0 { _loc1 = -COURT_W;//ให้ _locๅ เท่ากับค่าติดลบของตัวแปรCOURT_W _loc2 = COURT_W;//ให้ _loc2 เท่ากับค่าของตัวแปรCOURT_W _loc3 = -COURT_H;//ให้ _loc- เท่ากับค่าติดลบของตัวแปรCOURT_H _loc7 = -COURT_H / 3;////ให้ _loc7 เท่ากับค่าของตัวแปรCOURT_H ski 3 } // end else if var _loc9 = (_loc2 - _loc1) / 3; //ตั้งค่าตัวแปร _loc9 โดย นําค่า _loc2 - _loc1หารด้วย 3 var _loc8 = (_loc7 - _loc3) / 3;//ตั้งค่าตัวแปร _loc9 โดย นําค่า _loc2 - _loc1 var _loc11 = _loc1 + _loc9 * _loc6 + Math.random() * _loc9; // ตั้งคาตัวแปร _loc11 var _loc10 = _loc3 + _loc8 * _loc5 + Math.random() * _loc8; // ตั้งคาตัวแปร _loc10 var _loc4 = mc.forehand;// ตั้งคาตัวแปร _loc4 ด้วยค่าของ การตี forehand if (mcPlayer0.stroke_type == ST_BACK) //ถา ผู้เล่นมีสถานะตัวแปร stroke_type ้ เท่ากับ ST_BACK { _loc4 = mc.backhand;//ให้ค่า _loc4เท่ากับ ค่า backhand } if (mcPlayer0.stroke_type == ST_SMASH) //ถา ผู้เล่นมีสถานะตัวแปร stroke_type ้ เท่ากับ ST_SMASH { _loc4 = mc.serve;//ให้ค่า _loc4เท่ากับ ค่า serve } start_move_ball(_loc11, _loc10, 0, _loc4);//นําค่าที่ได้มาคํานวณใน ฟงกชน ั ์ ่ั start_move_ball } function start_wait(pn) { var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว เลขที่เราลือกอยุ่ (0 = player 1 computer) if (mc.stat == PS_STROKE && mc.stroke_type == ST_SMASH) //ถาสถานะ ของผู้เล่น ้ เป็น PS_STROKE และ สถานะการตีลกเป็ร ST_SMASH ู
  • 10. { var ay = -20; //ให้ค่า ay เทากับ -20 if (pn == 1)// ถา pn เท่ากับ 1 ้ { ay = ay * -1;//ให้ค่า ay เป็นค่าตรงกันข้ามโดยให้ -1 เข้าไปคูณ } mc.vy = mc.vy + ay; // ให้ค่า y เท่ากับ ค่า y ปัจจุบน บวดด้วย ค่า ay ั if (pn == 0 && mc.vy < 0) //ถา pn เท่ากับ 0 และ ค่า y ของผู้เล่น น้อยกว่า 0 ้ { mc.vy = 0; //ให้ค่า y ของผู้เล่นเป็น 0 } if (pn == 1 && mc.vy > 0) // ถา ค่า pn เท่ากับ 1 และ ค่า y ของผูเล่นมากกว่า 0 ้ ้ { mc.vy = 0;// ให้ค่า y เป็น 0 } player_position(pn);// เรยกฟงกชน player_positio โดดย ส่งค่า ไปเป็น ตัวผู้เล่น ว่า ี ั ่ั เป็นคอมพิวเตอร์หรือู๔้เล่นเอง } mc.stat = PS_WAIT;// ตงสถานะเปน wait ้ั ้ mc.gotoAndStop("wait");//เล่นเฟรม wait if (pn == 1 && mcBall.vy < mc.vy) // ถา ค่า pn เท่ากับ 1 และ ตําแหน่งลุกบอล มากกว่า ้ ตําแหน่งyของ ผูเล่น ้ { mc.stat = PS_AFTER; // ตังสถานะผูเล่น เป้น after ้ ้ mc.gotoAndStop("win"); // ให้มุฟวี่คลิปเล่นเฟรม win } if (mc.net_flg == 0) // ถา net_flg ของผู้เล่น เท่ากับ 0 ้ { if (mc.netplay > Math.random() * 20) //ถ้าค่า netplay มากกว่า ค่าแรนดอมระหว่าง 1 - 20 { mc.net_flg = 1; //ให้ค่าnet_flag เป็น 1 } } mc.wm = WM_MOVE; //ตั้งค่า mc.wm = WM_MOVE mc.dest_x = 0;// ให้ค่า dest_x เป็น 0 mc.dest_y = -COURT_H;//ให้ค่าdest_y เป็นค่าติดลบของ ตัวแปร COURT_H if (mc.net_flg)//mc.net_flg ถ้ามีค่าเป้นจริง { mc.dest_x = mcBall.dx / 3; // ให้ค่า mc.dest_x เทากับ mcBall.dx / 3 mc.dest_y = -150;// ให้ค่า mc.dest_y เทากับ -150 } }
  • 11. function start_stroke_com(pn)//เหมือนกัย ฟงกชน start_stroke_user ทุกอย่างแต่เปลี่ยน ั ่ั เป้นการคํานวณของตัวเล่นที่เป้นคอมพิวเตอร์ { var mc = eval("mcPlayer" + pn); mc.stat = PS_STROKE; mc.cnt = 0; var nx = mcBall.vx + mcBall.ax * 2; if (mcBall.vh > 70 && nx > mc.vx - HIT_X2_SMASH && nx < mc.vx - HIT_X1_SMASH) { mc.stroke_type = ST_SMASH; mc.hit_x1 = -HIT_X2_SMASH; mc.hit_x2 = -HIT_X1_SMASH; mc.gotoAndStop("smash"); } else if (mcBall.vx + mcBall.ax * 3 > mc.vx) { mc.stroke_type = ST_BACK; mc.hit_x1 = -HIT_X2_BACK; mc.hit_x2 = -HIT_X1_BACK; mc.gotoAndStop("back"); } else { mc.stroke_type = ST_FORE; mc.hit_x1 = -HIT_X2_FORE; mc.hit_x2 = -HIT_X1_FORE; mc.gotoAndStop("fore"); } // end else if mc.hit_y1 = -HIT_Y2; mc.hit_y2 = -HIT_Y1; } // End of the function function set_ball_dest_com() { var cx = Math.floor(Math.random() * 3);// ให้ค่า cx เป้ค่าแรนดอของ 0-3 var cy = Math.floor(Math.random() * 3);// ให้ค่า cy เป้ค่าแรนดอของ 0-3 var x1;// สร้างตัวแปร x1 x2 y1 y2 var x2; var y1; var y2; if (rally_cnt == 0) // ถา rally_cnt เท่ากับ 0 ้ { if (serve_pos > 0) // ถา serve_posมากกว่า 0 ้ { x1 = -COURT_W; // ให้ค่า x1 เท่ากับ ค่าติดลบ ของ COURT_W x2 = 0;// x2 เทากับ 0 }
  • 12. else // ถา rally_cnt ไม่เท่ากับ 0 ้ { x1 = 0; // x 1 เท่ากับ 0 x2 = COURT_W;// x2 ท่ากับ COURT_W } y1 = -SERVE_H; // y1 เท่ากับ ค่าติดลบ SERVE_H y2 = -SERVE_H / 2; // y2 เท่ากับ ค่าติดลบ SERVE_H หารด้วย 2 } else { if (mcPlayer1.tech > Math.random() * 10)// ถ้ามูฟวี่คลิป mcPlayer1 มีค่า tech มากกว่าคาแรนดอม ระหว่าง 1-10 { if (mcPlayer0.vx < 0) // ถา mcPlayer0 ตําแหน่ง x มากกว่า 0 ้ { cx = 0; //ให้ cx เท่ากับ 0 } else //หากตําแหน่งx มากกว่าเท่ากับ 0 { cx = 2;//ให้ cx เท่ากับ 2 } } if (mcPlayer1.net_flg) // ถาmcPlayer1.net_flg มีค่าเป็นจริง ้ { cy = Math.floor(Math.random() * 2); //กําหนดค่า cy เท่ากับค่าแรนดอมระกว่าง 0-2 } x1 = -COURT_W;//ให้ x1 เท่ากับค่าติดลบค่าตัวแปรของCOURT_W x2 = COURT_W;//ให้ x2เท่ากับค่าตัวแปรของCOURT_W y1 = -COURT_H;//ให้ y1 เท่ากับค่าติดลบค่าตัวแปรของCOURT_H y2 = -COURT_H / 3;//ให้ y2 เท่ากับค่าติดลบค่าตัวแปรของCOURT_H ski 3 } var w = (x2 - x1) / 3;// สร้างตัวแปร w เท่ากับ x2 ลบ x1 หาร 3 var h = (y2 - y1) / 3;/// สร้างตัวแปร h เท่ากับ y2 ลบ y1 หาร 3 var x = x1 + w * cx + Math.random() * w; // สร้างตัวแปร x เท่ากับ x1+ w คูณ cx + ด้วย ค่าแรนดอมของ ตั้งแต่ตัวที่ 0 ถึง ตัวที่ w var y = y1 + h * cy + Math.random() * h;// สร้างตัวแปร y เท่ากับ y1+ h คูณ cy + ด้วย ค่าแรนดอมของ ตั้งแต่ตัวที่ 0 ถึง ตัวที่ h x = x * -1; //x เท่ากับ x คุณด้วย -1 y = y * -1;// y เท่ากับ y คูณด้วย -1 mc = mcPlayer1; //กานด ตัวแปร mc ให้เทกับ ตัวคอมพิวเตอร์ ํ var s = mc.forehand; //สร้างตัวแปร s ให้เท่ากับ ค่า ของ mc.forehand if (mcPlayer1.stroke_type == ST_BACK) // ถา mcPlayer1.stroke_type มีค่าเทา ้ กบST_BACK ั
  • 13. { s = mc.backhand;// ให้ s เท่ากับ ค่า mc.backhand } // end if if (mcPlayer1.stroke_type == ST_SMASH)// ถา mcPlayer1.stroke_type มีค่าเทา ้ กบST_SMASH ั { s = mc.serve;// ให้ s เท่ากับ ค่า mc.serve } // end if start_move_ball(x, y, 1, s); //เรยกฟงกชน start_move_ball ี ั ่ั } // End of the function function player_position(n) { var mc = eval("mcPlayer" + n); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว เลขที่เราลือกอยุ่ (0 = player 1 computer) var per = 1 + mc.vy / COURT_H / 10; //สร้างตัวแปร per เทากับ ค่าของ 1 + mc.vy / COURT_H / 10 var x = mc.vx * per; // สร้างตัวแปร x ให้เท่ากับ mc.vx * per var y = mc.vy / 2;// สร้างตัวแปร y ให้เท่ากับ mc.vy / 2 mc._x = SCREEN_OX + x;// เซ็ตตําแหน่ง x ของมูปวี่คลิปเท่ากับ SCREEN_OX + x mc._y = SCREEN_OY + y;// เซ็ตตําแหน่ง y ของมูปวี่คลิปเท่ากับ SCREEN_OY + y mc._xscale = 60 * per;//ปรับขนาดกว้าง ของมูฟวี่คลิป เท่ากับ 60* per mc._yscale = 60 * per;//ปรับขนาดยาวของมูฟวี่คลิป เท่ากัย 60 *per var mc2 = eval("mcShadow" + n); //สร้างตัวแปร mc2 โดยเรียก รุปเงา เข้ามา mc2._x = mc._x; // กําหนดตําแหน่งเงา ให้อยุ่เท้าของมูฟวี่คลิป mc2._y = mc._y; } // End of the function function init_ball() { var mc = eval("mcPlayer" + server); //ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิป ตามตวเลขที่เราลือกอยุ่ (0 = player 1 computer) mcBall.ax = 0; // ตั้งค่าเริ่มต้น mcBall.ay = 0; mcBall.vx = mc.vx; mcBall.vy = mc.vy; mcBall.vh = 0; mcBall.up = 0; mcBall.down = 0; mcBall.side = 0; if (server == 0) // ถา server เท่ากับ 0 ้ { mcBall.side = 1; // ให้ side ของ บอล เท่ากับ 1 } // end if mcBall.area = 0;//area ของบอล เท่ากับ 0 if (server == 1) // ถา server เทากับ 1 ้
  • 14. { mcBall.area = 1;//area ของบอล เท่ากับ 1 } // end if mcBall.moving = 0; //moving ของบอล เท่ากับ 0 mcBall._visible = false; //ซ่อนรุปบอล mcBallShadow._visible = false;//ซ่อนเงา } // End of the function function start_toss_ball(pn) { var mc = eval("mcPlayer" + pn);//ตั้งให้มูปวี่คลิฟที่ถูกลือกคือชื่อของ ค่ามุปวี่คลิปตามตว เลขที่เราลือกอยุ่ (0 = player 1 computer) mcBall.ax = 0; //กําหนด ax ay ของบอลเทากับ 0 mcBall.ay = 0; var ax = 10; //สร้างตัวแปร ax เทากับ 10 if (pn == 1)// ถา pm เท่ากับ 1 ้ { ax = ax * -1; //ให้ ax เท่ากับ ax คุณ -1 } mcBall.vx = mc.vx + ax; // กําหนด ค่า x ของบอลเท่ากับ mc.vx + ax; mcBall.vy = mc.vy;//กําหนดตําแหน่ง y ขอบอลเท่ากับ mc.vy mcBall.vh = TOSS_H;// กําหนดความสูง เทากับ TOSS_H mcBall.up = 10;//ให้ตัวแปร up เท่ากับ 10 mcBall.down = 0;// ให้ตัวแปร down เท่ากับ 0 mcBall.side = 0;// side ของลุกบอล เท่ากับ 0 if (pn == 0)// ถา pm เท่ากับ 0 ้ { mcBall.side = 1; //ให้ ค่า side ของบอลเท่ากับ 1 } mcBall.bound = 0; // กําหนดค่า bound ของลูกบอลเท่ากับ 0 mcBall.moving = 1; // กําหนดค่า mobing ของลุกบอล เท่ากับ 1 mcBall._visible = true; // โชว์ลูกบอลทางหน้าจอ mcBallShadow._visible = true;// โชว์เงา } function start_move_ball(dx, dy, side, max_speed) { if (rally_cnt == 1 && mcBall.bound == 0) // ถา rally_cnt เท่ากับ 1 และ ้ mcBall.bound เท่ากับ 0 { set_result(RESULT_VOLLEY); // เรยกฟงกชน set_result โดยใส่ค่า ี ั ่ั RESULT_VOLLEY } mcBall.side = side; // เซ็ตตัแปร side ของบอลให้เท่ากับตัวแปร side mcBall.dx = dx; // / เซ็ตตัแปร dx ของบอลให้เท่ากับตัวแปร dx
  • 15. mcBall.dy = dy;// เซ็ตตัแปร dy ของบอลให้เท่ากับตัวแปร dy var _loc3 = mcBall.dx - mcBall.vx; // สร้างตัวแปร _loc3 เท่ากับmcBall.dx - mcBall.vx; var _loc2 = mcBall.dy - mcBall.vy;// สร้างตัวแปร _loc2 เท่ากับmcBall.dy - mcBall.vy; var _loc4 = Math.sqrt(_loc3 * _loc3 + _loc2 * _loc2); // สร้างตัวแปร _loc4 เท่ากับส แควรูท(_loc3 * _loc3 + _loc2 * _loc2); for (i = 0; i < 5; i++)// วนลบ 5 รอบ ู { var _loc1 = max_speed - i * 4; //สร้างตัวแปร _loc1เท่ากับ max_speed - i * 4; if (check_hit_net(_loc3, _loc2, _loc1, _loc4) == 1) // ถา การเรยก ฟังกชั่นของ ้ ี check_hit_net ค่าที่ได้ เท่ากับ 1 { break; //เบรค } } var _loc5 = _loc4 / _loc1; //สร้างตัวแปร _loc5 เท่ากับ_loc4 / _loc1; var _loc7 = _loc5 * (_loc5 - 1) * GRAVITY / 2;//สร้างตัวแปร _loc7 เท่ากับ _loc5 * (_loc5 - 1) * GRAVITY / 2 mcBall.ax = _loc3 / _loc5; // ตั้งค่า ax ของลุกบอลเท่ากับ_loc3 / _loc5; mcBall.ay = _loc2 / _loc5;// ตั้งค่า ay ของลุกบอลเท่ากับ_loc2 / _loc5; mcBall.up = (_loc7 - mcBall.vh) / _loc5; // ตั้งค่า up ของลุกบอลเท่ากับ(_loc7 - mcBall.vh) / _loc5; mcBall.down = 0;//ตั้งค่า down ของลุกบอล เท่ากับ 0 mcBall.bound = 0;//ตั้งค่า bound ของลูกบอล เท่ากับ 0 ++rally_cnt; //rally_cnt + เพิ่ม 1 aaa.start();//ใชฟงกชนsndHit.start ้ ั ่ั } function check_hit_net(sx, sy, speed, dt) { var _loc6 = dt / speed; //สร้างตัวแปร _loc6 เทกับdt / speed; var _loc7 = _loc6 * (_loc6 - 1) * GRAVITY / 2; //สร้างตัวแปร _loc7 เทากับ _loc6 * (_loc6 - 1) * GRAVITY / 2; var _loc8 = sx / _loc6;//สร้างตัวแปร _loc8 เทากับ sx / _loc6; var _loc4 = sy / _loc6;//สร้างตัวแปร _loc4 เทากับ sy / _loc6; var _loc5 = (_loc7 - mcBall.vh) / _loc6; //สร้างตัวแปร _loc5 เท่ากับ(_loc7 - mcBall.vh) / _loc6; var _loc3 = 0; //สร้างตัวแปร _loc3 เทาากับ 0 var _loc2 = mcBall.vy; //สร้างตัวแปร _loc2 เทาากับ mcBall.vy var _loc1 = mcBall.vh;//สร้างตัวแปร _locๅ เทาากับ mcBall.vh while (true) { _loc1 = _loc1 + (_loc5 - _loc3); //ให้ตัวแปร _loc1 เท่ากับ_loc1 + (_loc5 - _loc3); _loc3 = _loc3 + GRAVITY;//ให้ตัวแปร _loc3 เท่ากับ_loc3 + GRAVITY;
  • 16. _loc2 = _loc2 + _loc4;//ให้ตัวแปร _loc2 เท่ากับ_loc2 + _loc4; if (_loc1 < 0)//ถ้าค่า _loc1 น้อยกว่า 0 { return (0); } if (mcBall.side == 0 && _loc2 < 0)// ถา ค่า side ของบอล เท่ากับ 0 และ _loc2 นอย ้ ้ กว่า 0 { if (_loc1 > NET_H + 10) // ถา _loc1 มากกว่า NET_H + 10 ้ { return (1);//รีเทรินค่า 1 } else//ถ้าไม่ใช่ ให้รีเทรินค่า 0 { return (0); } } if (mcBall.side == 1 && _loc2 > 0)// ถา side ของบอล เท่ากับ 1 และ _loc2 มากกว่า ้ 0 { if (_loc1 > NET_H + 10)// ถา _loc1 มากกว่า NET_H + 10 ้ { return (1);// รีเทรินค่า เป้น 1 continue;// ให้ระบบทํางานต่อ } return (0); } } } function move_ball() { if (mcBall.moving != 1) // ถาmcBall.mobing มีค่าเป้น 1 ้ { return; // รีเทรินค่ากลับไป } mcBall.vh = mcBall.vh + (mcBall.up - mcBall.down);//ให้ mcBall.vh เทากับ mcBall.vh + (mcBall.up - mcBall.down); if (mcBall.vh < 0)// ถา mcBall.vh น้อยกว่า 0 ้ { mcBall.up = (mcBall.down - mcBall.up) * 2 / 3;//ให้ mcBall.up เท่ากับ (mcBall.down - mcBall.up) * 2 / 3; if (mcBall.up < 1.300000E+000) {//ถา mcBall.up น้อยกว่า 1.300000E+000 ้ mcBall.vh = 0;// ให้ mcBall.vh เเท่ากับ 0 mcBall.moving = 0; // ให้ mcBall.moving เเท่ากับ 0
  • 17. } mcBall.down = 0; // ให้ค่า mcBall.down เท่ากับ 0 mcBall.vh = 0;// ให้ค่า mcBall.vh เท่ากับ 0 mcBall.ax = mcBall.ax * 3 / 5; // mcBall.ax เท่ากับ mcBall.ax * 3 / 5; mcBall.ay = mcBall.ay * 3 / 5; //mcBall.ay เท่ากับ mcBall.ay * 3 / 5; ++mcBall.bound; //บวกค่า mcBall.bound เพิ่มอีก 1 mcBall.vx = mcBall.vx + mcBall.ax; //ให้ค่า mcBall.vx เท่ากับ mcBall.vx + mcBall.ax; mcBall.vy = mcBall.vy + mcBall.ay; //ให้ค่า mcBall.vy เท่ากับ mcBall.vy + mcBall.ay; draw_ball();//เรียกฟังก์ชน draw_ball ่ั mcBound._x = mcBall._x; //mcBound._x ,ให้มีค่าเท่ากับ mcBall._x; mcBound._y = mcBall._y;//mcBound._y ,ให้มีค่าเท่ากับ mcBall._y; mcBound.gotoAndStop(2);//ให้mcBound ไปเล่นเฟรมที่ 2 if (mcBall.bound == 1) // ถา mcBall.bound มีค่าเทากับ 1 ้ { if (rally_cnt <= 1) // ถา rally_cntมีค่าน้อยกว่าเท่ากับ 1 ้ { if (check_out_serve()) //ถา ในฟงกชน check_out_serve() มีค่าเป็น จริง ้ ั ่ั { set_result(RESULT_FAULT);//เรยกฟงกชน set_result โดยส่งค่า ี ั ่ั RESULT_FAULT } } else if (check_out())//ถา ฟกงชน check_out มีค่าเป้นจจรืง ้ ั ่ั { set_result(RESULT_OUT);//เรยกฟงกชน set_result โดยส่งค่า RESULT_OUT ี ั ่ั } } else if (mcBall.bound == 2) // ถา mcBall.bound มีค่าเท่ากับ 2 ้ { set_result(RESULT_MISS);//เรยกฟงกชน set_result โดยส่งค่า RESULT_MISS ี ั ่ั } sndBound.start();//เรยกฟงกชน sndBound.start(); ี ั ่ั draw_ball();//เรยกฟงกชน ี ั ่ั draw_ball(); } else { mcBall.down = mcBall.down + GRAVITY;// ให้ค่า mcBall.downเท่ากับ mcBall.down + GRAVITY; mcBall.vx = mcBall.vx + mcBall.ax;// ให้ค่า mcBall.vxเท่ากับ mcBall.vx + mcBall.ax; mcBall.vy = mcBall.vy + mcBall.ay;// ให้ค่า mcBall.vyเท่ากับ mcBall.vy + mcBall.ay
  • 18. draw_ball();//เรยกฟงกชน draw_ball ี ั ่ั } } function draw_ball() { var _loc1 = 1 + mcBall.vy / COURT_H / 10; // ให้ค่า _loc1 เทากับ 1 + mcBall.vy / COURT_H / 10; var _loc3 = mcBall.vx * _loc1;// ให้ค่า _loc3 เท่ากับ mcBall.vx * _loc1; var _loc2 = mcBall.vy / 2; //ให้ค่า_loc2 เท่ากับ mcBall.vy / 2; var _loc4 = mcBall.vh * _loc1; // ให้ค่า _loc4 เท่ากับ mcBall.vh * _loc1; mcBall._x = SCREEN_OX + _loc3;// ให้ค่า mcBall._x เท่ากับ SCREEN_OX + _loc3; mcBall._y = SCREEN_OY + _loc2 - _loc4;// ให้ค่า mcBall._y เท่ากับ SCREEN_OY + _loc2 - _loc4; mcBall._xscale = 100 * _loc1;//ให้ค่า mcBall._xscale เท่ากับ 100 คูณ _loc1 mcBall._yscale = 100 * _loc1;//ให้ค่า mcBall._yscale เท่ากับ 100 คูณ _loc2 mcBallShadow._x = SCREEN_OX + _loc3;//ให้ค่า mcBallShadow._x เท่ากับ SCREEN_OX + _loc3 mcBallShadow._y = SCREEN_OY + _loc2;///ให้ค่า mcBallShadow._y เท่ากับ SCREEN_OY + _loc2 } // End of the function function check_out_serve() { var _loc2;//สร้างตัวแปร _loc2 _loc4 _loc1 _loc3 var _loc4; var _loc1; var _loc3; if (server == 0)//ถา server เทากับ 0 ้ { if (serve_pos > 0) // ถา serve_pos มาก 0 ้ { _loc2 = -COURT_W; //ให้ _loc2 เท่ากับ -COURT_W; _loc1 = 0;//ให้ _loc1 เทากับ 0 } else // ถา serve_pos น้อยกว่าเท่ากับ 0 ้ { _loc2 = 0; // ให้ _loc2 เทากับ 0 _loc1 = COURT_W; // ให้ _loc1 เท่ากับ COURT_W; } _loc4 = -SERVE_H; // ให้ _loc 4 เท่ากับ -SERVE_H; _loc3 = 0;//ให้ _loc3 เท่ากับ 0 } else { if (serve_pos > 0) // ถา serve_pos ากกว่า 0 ้
  • 19. { _loc2 = 0; //ให้ _loc2 เท่ากับ 0 _loc1 = COURT_W; // ให้ _loc1 เท่ากับ COURT_W } else// ถา serve_pos น้อยกว่าเท่ากับ 0 ้ { _loc2 = -COURT_W; //ให้ _loc2 เท่ากับ -COURT_W; _loc1 = 0;//ให้ _loc1 เท่ากับ 0 } _loc4 = 0; // ให้ _loc4 เท่ากับ 0 _loc3 = SERVE_H; // ให้ _loc3 เ่ากับ SERVE_H } if (mcBall.vx < _loc2)//ถา mcBall.vx น้อยกว่า _loc 2 ้ { return (1);// รีเทรินค่าเป้น 1 } // end if if (mcBall.vx > _loc1) //ถา mcBall.vx มากกว่า _loc1 ้ { return (1);// รีเทรินค่าเป็น 1 } // end if if (mcBall.vy < _loc4) // ถา mcBall.vy น้อยกว่า _loc4 ้ { return (1);// รีเทรินค่าเป็น 1 } // end if if (mcBall.vy > _loc3)//ถาmcBall.vy มากกว่า _loc3 ้ { return (1); } // end if return (0); } // End of the function function check_out() // มี ระะบเหมือนกัน กบ check_out_serve ั { var _loc4; var _loc2; var _loc3; var _loc1; _loc4 = -COURT_W; _loc3 = COURT_W; if (mcBall.side == 0) { _loc2 = -COURT_H; _loc1 = 0; } else { _loc2 = 0;
  • 20. _loc1 = COURT_H; } if (mcBall.vx < _loc4) { return (1); } if (mcBall.vx > _loc3) { return (1); } if (mcBall.vy < _loc2) { return (1); } if (mcBall.vy > _loc1) { return (1); } return (0); } function set_result(res) { if (play_result > 0)// ถา play_result มีค่ามากกว่า 0 ้ { return; } // end if play_result = res; //ให้ play_result เท่ากับ res switch (res)// ถาres อยุ๋ในหมวด ้ { case RESULT_FAULT: //ถาres เท่ากับ RESULT_FAULT ้ { ++fault_cnt;// ให้บวกค่า fault_cnt เพิ่ม 1 if (fault_cnt == 1)// ถา fault_cnt เท่ากับ 1 ้ { mcMes.mes_txt = "FAULT";// ให้ข้อความหน้าจอ โชว์คําว่า FAULT } else// ถา มากกว่า 1 ้ { mcMes.mes_txt = "DOUBLE FAULT"; // ให้ข้อความหน้าจอ โชว์คําว่า DOUBLE FAULT play_winner = server == 0 ? (1) : (0); // โชว์เพิ่มสกอ } // end else if mcMes.gotoAndStop("mes");//มูฟวี่คลิป mcMes ไปเล่นเฟรมmes break; } case RESULT_OUT: //ถาres เท่ากับ RESULT_OUT ้ {
  • 21. mcMes.mes_txt = "OUT"; // ให้ข้อความหน้าจอ โชว์คําว่า OUT play_winner = mcBall.side == 0 ? (1) : (0);// โชว์เพิ่มสกอ mcMes.gotoAndStop("mes");//มูฟวี่คลิป mcMes ไปเล่นเฟรมmes break; } case RESULT_MISS://ถาres เท่ากับ RESULT_MISS ้ { if (_parent.match_mode == 1) // ถา match mode เทากับ 1 ้ { sndApp.start();//เรยกฟงกชน sndApp.start(); ี ั ่ั } play_winner = mcBall.side; // ให้ค่า play_winnerเท่ากับ mcBall.side start_score();//เรยกฟงกชน start_score ี ั ่ั break; } case RESULT_VOLLEY: //ถาres เท่ากับ RESULT_VOLLEY ้ { play_winner = server; // ให้ค่า play_winnerเท่ากับ server start_score(); //เรยกฟงกชน start_score ี ั ่ั break; } } // End of switch } // End of the function function start_score() { if (play_winner < 0)// ถา play_winner มคานอยกวา 0 ้ ี ่ ้ ่ { init_play();//เรยกฟงกชน init_play ี ั ่ั return; } else// ถ้ามีค่ามากกว่า 0 { ++point[play_winner];// ตัวแปร point[play_winner]; บวกค่าขึน 1 ้ if(play_winner == 0)// ถา play_winner เท่ากับ 0 ้ { if(modeplay == "vscom") // ถาmodeplay เป็น vscom ้ { numscore += 300; // บวกแต้ม 300 number_txt.text = "Score : "+numscore;// ให้ หน้าจอโชว์แต้ม อัพเดท tuommer.start(); } } else // ถา play_winner ไม่เท่ากับ 0 ้
  • 22. { if(modeplay == "vscom") // ถาmodeplay เป็น vscom ้ { numscore -= 100;// ลบแต้ม100 if(numscore <= 0) // ถ้าหากแต้ม น้อยกว่า 0 { numscore = 0; // ให้แต้มเ่ากับ 0 } number_txt.text = "Score : "+numscore;// ให้ หน้าจอโชว์แต้ม อัพเดท } } if (point[play_winner] > 3)//ถา /ตัวแปร point[play_winner] มากกว่า 3 ้ { if (point[0] == point[1])// ถา อาเรย์ point ตัวที่ 0 มีค่าเทากับ ตัวที่ 1 ้ { score_txt = "DEUCE"; // ให้โชว์หน้าจอเกมว่า DEUCE mcMes.mes_txt = score_txt; mcMes.gotoAndStop("score"); } else if (Math.abs(point[0] - point[1]) <= 1) // ถถ้า อาเรย์ point ตัวที่ 0 ลบตัว ตัวที่ 1 มีค่าน้อยกว่าเท่ากับ 1 { score_txt = "Advantage " + pname[play_winner]; // ให้ โชว์ข้อความ Advantage +ตามด้วยชื่อผู้เล่น mcMes.mes_txt = "Advantage " + pname[play_winner]; mcMes.gotoAndStop("score"); } else//ถ้าไม่ใช่ { game_winner = play_winner; // ให้ game_winner มีค่าเท่ากับ play_winner ++gpoint[game_winner];//ให้ค่า gpoint[game_winner] บวกขึนอีก 1 ้ pname[play_winner] mcMes.mes_txt = "Game won by " + pname[play_winner];// โชว์ข้อความ ว่า ผู้ ชนะคือใคร mcMes.gotoAndStop("game"); mcPlayer0.stat = PS_AFTER;//ให้ mcPlayer0.stat มีสถานะเป้น PS_AFTER mcPlayer0.gotoAndStop("win"); tuommer2.start(); scheerup.start(); return; } // end else if } else // ถ้ายังไม่มากกว่า 3
  • 23. { var _loc3 = point[server]; // ให้ค่า _loc3 เท่ากับ point[server]; var _loc2 = point[receiver]; // ให้ค่า _loc2 เท่ากับ point[receiver]; var _loc1 = [0, 15, 30, 40];// ให้ค่า _loc1 เทากับ [0, 15, 30, 40] score_txt = pname[server] + " " + _loc1[_loc3] + " - " + _loc1[_loc2] + " " + pname[receiver];// โชว์ข้อความเริ่มจาก ชือผูเล่น ตามด้วยสกอ และตามด้วยชื่อผู้เล่นคนที่ 2 ่ ้ หรือคอม mcMes.mes_txt = _loc1[_loc3] + " - " + _loc1[_loc2]; //ให้มูฟวี่คลิป mcMes โชว์ ค่า แต้ม mcMes.gotoAndStop("score"); } // end else if if (play_winner == 1)// ถา play_winner เท่ากับ 1 ้ { mcPlayer1.gotoAndStop("win"); //ให้มูฟี่คลิป mcPlayer1 เล่นเฟรม win mcPlayer1.stat = PS_AFTER;//ให้สถานะของ mcPlayer1 เป้น PS_AFTER textwinner = pname[0]; // ให้ textwinner เท่ากับค่า pname [play_winner] } else// ถา play_winner ไม่เท่ากับ 1 ้ { mcPlayer1.gotoAndStop("lose");//ให้มูฟี่คลิป mcPlayer1 เล่นเฟรม lose mcPlayer1.stat = PS_AFTER;//ให้สถานะของ mcPlayer1 เป้น PS_AFTER textwinner = pname[play_winner];// ให้ textwinner เท่ากับค่า pname [play_winner] } // end else if } // end else if } // End of the function function after_score() { fault_cnt = 0;// ให้ค่า fault_cnt เป็น 0 play_winner = -1;// play_winner มีค่าเท่ากับ -1 serve_pos = serve_pos == 1 ? (-1) : (1); // serve_pos มี่าเท่ากับ 1 init_play();//เรยกฟงกชน init_play ี ั ่ั } // End of the function function after_game_winner() { if (gpoint[game_winner] >= 3 && Math.abs(gpoint[0] - gpoint[1]) > 1) // ถา gpoint ้ [game_winner] มากกว่าเท่ากับ 3 และ ค่าของบวกลบ gpoint[0] - gpoint[1] มากกว่า 1 { if (_parent.match_mode == 1)// ถา match_mode เท่ากับ 1 ้ { sndApp2.start(); //ใชฟงกชน sndApp2.start(); ้ ั ์ ่ั } // end if
  • 24. score_txt = "";//ให้ score_text เป้นข้อความว่าง if (gpoint[0] > gpoint[1]) // ถา ค่า gpoint[0] มากกว่าค่า gpoint[1] ้ { match_winner = 0;//ให้match_winner เทากับ 0 mcMes.gotoAndStop("win");//มูฟวี่คลิป mcMes เล่นเฟรม win } else { match_winner = 1;//ให้match_winner เทากับ 1 mcMes.gotoAndPlay("lose");//มูฟวี่คลิป mcMes เล่นเฟรม lose } // end else if } else { mcMes.gotoAndStop("inplay");//มูฟวี่คลิป mcMes เล่นเฟรม inplay server = server == 0 ? (1) : (0); //ถา server เท่ากับ 0 ให้เป้นค่า (1) : (0); ้ receiver = server == 0 ? (1) : (0);//ถา receiver เท่ากับ 0 ให้เป้นค่า (1) : (0); ้ init_game();//เรยกฟงกชน init_game ี ั ่ั } // end else if } // End of the function function after_match() { if (_parent.match_mode == 0)// ถา match_mode เท่ากับ 0 ้ { trace("1") _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล } else if (match_winner == 0)// ถา match_winner เทากับ 0 ้ { _parent.result_txt[_parent.kaisen] = pname[0] + " " + gpoint[0] + " - " + gpoint[1] + " " + pname[1];//ให้ปรับค่าเริ่มต้น _parent.after_match();//เรยกฟงกชน after_match ี ั ่ั _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล } else { _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล } // end else if } // End of the function function end_match_quit() { _parent.gotoAndStop("title");// ให้กลับไปหน้าไตเติ้ล
  • 25. } // End of the function function user_action() { mc = mcPlayer0; // ให้ mc เป็นมูฟวี่คลิปตัวผู้เล่น switch (mc.stat)// เชคสถานะ { case PS_SERVE: // ถ้าสถานะเป้น PS_SERVE { check_pad(); // เรยกฟงกชน check_pad ี ั ่ั if (pad_trig) // ถา pad_trig มีค่าเป้นจริง ้ { start_toss(0);//เรยกฟงกชน start_toss ส่งค่าเป้น 0 ี ั ่ั } break; } case PS_TOSS:// ถ้าสถานะเป้น PS_TOSS { check_pad(); // เรยกฟงกชน check_pad ี ั ่ั ++mc.cnt;//บวกค่า mc.cnt if (mc.cnt > 8)// ถา mc.cnt มากกว่า 8 ้ { if(pad_trig)// ถา pad_trig มีค่าเป้นจริง ้ { start_stroke_user(0);// เรยกฟงกชนstart_stroke_user ส่งค่าเป้น 0 ี ั ่ั } } if (mc.cnt == 7)// ถา mc.cnt มีค่าเทากับ 7 ้ { start_toss_ball(0);// เรยกฟงกชนstart_toss_ball ส่งค่าเป้น 0 ี ั ่ั } // end if break; } case PS_STROKE:// ถ้าสถานะเป้น PS_STROKE { ++mc.cnt;//บวกค่า mc.cnt if (mc.cnt == 3)// ถา mc.cnt เท่ากับ 3 ้ { if (check_hit(0))// ถัา เรยฟงกชน check_hit ส่งค่าเป้น 0 แลว มีค่าเป้นจริง ้ ี ั ่ั ้ {
  • 26. set_ball_dest_user();// เรยกฟงกชน set_ball_dest_user ี ั ่ั if (mcPlayer1.stat == PS_WAIT)// ถา mcPlayer1 มีสถานะเป็น PS_WAIT ้ { mcPlayer1.stat = PS_FREEZE;// ให้ mcPlayer1 มีสถานะเป้น PS_FREEZE mcPlayer1.cnt = 0;// ให้ mcPlayer1 มีค่าเป็น 0 mcPlayer1.gotoAndStop("wait"); // ให้ mcPlayer1 เล่นเฟรม wait } } } break; } case PS_WAIT:// ถ้าสถานะเป้น PS_WAIT { check_pad();//เรียกฟังก์ชน check_pad ่ั if (pad_x == 0 && pad_y == 0) // ถา ตําแหน่งx และ ตําแหน่ง y เท่ากับ 0 ้ { mc.gotoAndStop("wait");// ให้ มุฟวี่คลิปเล่นเฟรม wait move_cnt = 0;// ให้ตัวแปร move_cnt เท่ากับ 0 } else { var a = mc.footwork; // ให้ค่า a เท่ากับ mc.footwork mc.vx = mc.vx + pad_y * a; // mc.vx มีค่าเท่ากับ mc.vx + pad_y * a mc.vy = mc.vy + pad_x * a; // mc.vy มีค่าเท่ากับ mc.vy + pad_x * a; if (mc.vy <= 20) // ถา mc.vy น้อยกว่าเท่ากับ 20 ้ { mc.vy = 20;//ให้mc.vy เทากับ 20 } player_position(0);//เรียกฟังก์ชน player_position ส่งค่าเป้น 0 ่ั if (pad_y < 0)// ถา ค่า y น้อยกว่า 0 ้ { mc.gotoAndStop("left");//ให้มูฟวี่คลิปเล่นเฟรม left } else { mc.gotoAndStop("right");//ให้มูฟวี่คลิปเล่นเฟรม right } } if (pad_trig)// ถา pad_trig มีค่าเป้นจริง ้ { start_stroke_user(0);// เรยกฟงกชน start_stroke_user ส่งค่าเป็น 0 ี ั ่ั } break; }
  • 27. } } function move_player2() //มีการทํางานเหมือนกับ user_action สวนนเปนสวนผเลนท่ี 2 ่ ้ี ้ ่ ู้ ่ เมื่อ ผู้เล่นเลือกโหด player vs player { var mc = mcPlayer1; switch (mc.stat) { case PS_SERVE: { check_pad2(); if (pad_trig2) { start_toss(1); } // end if break; /*++mc.cnt; if (mc.cnt > 10) { start_toss(1); } // end if break;0 */ } case PS_TOSS: { /* ++mc.cnt; if (mc.cnt == 7) { start_toss_ball(1); } // end if if (mc.cnt > 22) { start_stroke_com(1); } // end if break;*/ check_pad(); ++mc.cnt; if (mc.cnt > 8) { if(pad_trig2) {
  • 28. start_stroke_user(1); } // end if } // end if if (mc.cnt == 7) { start_toss_ball(1); } // end if break; } case PS_WAIT: { check_pad2(); if (pad_x2 == 0 && pad_y2 == 0) { mc.gotoAndStop("wait"); move_cnt = 0; } else { var a = mc.footwork; mc.vx = mc.vx + pad_y2 * a; mc.vy = mc.vy + pad_x2 * a; if (mc.vy >= -10) { mc.vy = -10; } player_position(1); if (pad_y2 < 0) { mc.gotoAndStop("right"); } else { mc.gotoAndStop("left"); } } if (pad_trig2) { start_stroke_user(1); } break; } case PS_STROKE: { ++mc.cnt; if (mc.cnt == 3) {
  • 29. if (check_hit(1)) { set_ball_dest_com(); } } break; } case PS_FREEZE: { ++mc.cnt; if (mc.cnt > 10) { if (mc.vy > mcBall.dy) { mc.dest_x = mcBall.ax / mcBall.ay * (mc.vy - mcBall.vy) + mcBall.vx; mc.dest_y = mc.vy; } else { mc.dest_x = mcBall.dx + mcBall.ax * 5; mc.dest_y = mcBall.dy + mcBall.ay * 5; } mc.stat = PS_WAIT; mc.wm = WM_MOVE; } break; } default: { break; } } } function move_enemy()//มีการทํางานเหมือนกับ user_action สวนนเปนสวนผเลนท่ี 2 เมื่อ ่ ้ี ้ ่ ู้ ่ ผู้เล่นเลือกโหด player vs player { var mc = mcPlayer1; switch (mc.stat) { case PS_SERVE: { ++mc.cnt; if (mc.cnt > 10) { start_toss(1); } break; }
  • 30. case PS_TOSS: { ++mc.cnt; if (mc.cnt == 7) { start_toss_ball(1); } if (mc.cnt > 22) { start_stroke_com(1); } break; } case PS_WAIT: { if (mc.wm == WM_MOVE) { var foot = mc.footwork; var f = 0; var lr = 0; if (mc.vy < mc.dest_y - 10) { mc.vy = mc.vy + foot; } else if (mc.vy > mc.dest_y + 10) { mc.vy = mc.vy - foot; } else { ++f; } if (f == 0) { if (mc.vx > 0) { lr = 1; } else { lr = -1; } } if (mc.vx < mc.dest_x - 10) { mc.vx = mc.vx + foot; mc.gotoAndStop("left"); lr = -1; }
  • 31. else if (mc.vx > mc.dest_x + 10) { mc.vx = mc.vx - foot; mc.gotoAndStop("right"); lr = 1; } else { ++f; } // end else if if (f == 2) { mc.wm = WM_WAIT; mc.gotoAndStop("wait"); } else { if (lr < 0) { mc.gotoAndStop("left"); } if (lr > 0) { mc.gotoAndStop("right"); } } player_position(1); } if (mcBall.vy + mcBall.ay * 4 < mc.vy) { if (Math.abs(mcBall.vx + mcBall.ax * 4 - mc.vx) < 60) { start_stroke_com(1); } } break; } case PS_STROKE: { ++mc.cnt; if (mc.cnt == 3) { if (check_hit(1)) { set_ball_dest_com(); } } break; }
  • 32. case PS_FREEZE: { ++mc.cnt; if (mc.cnt > 10) { if (mc.vy > mcBall.dy) { mc.dest_x = mcBall.ax / mcBall.ay * (mc.vy - mcBall.vy) + mcBall.vx; mc.dest_y = mc.vy; } else { mc.dest_x = mcBall.dx + mcBall.ax * 5; mc.dest_y = mcBall.dy + mcBall.ay * 5; } mc.stat = PS_WAIT; mc.wm = WM_MOVE; } break; } default: { break; } } } function check_pad() { pad_x = 0; // ให้ค่า x เท่ากับ 0 if (Key.isDown(40)) //ถ้ากด ปุ่มลูกศร ขวา { pad_x = 1; // ค่า x เทากับ 1 } if (Key.isDown(38))//ถ้ากด ปุ่มลูกศร ซ้าย { pad_x = -1;// ค่า x เทากับ -1 } // end if pad_y = 0;// ให้ค่า y เท่ากับ 0 if (Key.isDown(37))//ถ้ากด ปุ่มลูกศร ขน ุ้ { pad_y = -1;// ค่า y เทากับ -1 } // end if if (Key.isDown(39))//ถ้ากด ปุ่มลูกศร ลง {
  • 33. pad_y = 1;// ค่า y เทากับ 1 } pad_trig = Key.isDown(32); // ค่า pad_trig จะมีค่าเมื่อกด ป่ม space bar } // End of the function function check_pad2() // สําหรับผ๔้เล่นคนที่ 2 { pad_x2 = 0;//ให้ x และ y มีค่าเป้น 0 pad_y2 = 0; if (Key.isDown(100)) //ถถากด ปุ่ม เบอ 8 (ด้าขวาสุดของคีย์บอร์ด) ้ { pad_y2 = -1;// ให้ y เทากับ -1 } if (Key.isDown(102)) //ถ้ากด ปุ่ม เบอ 5 { pad_y2 = 1;// ให้ y เทากับ 1 } if (Key.isDown(104))//ถ้ากด ปุ่ม เบอ 4 { pad_x2 =-1; // ให้ x เทากับ-1 } if (Key.isDown(101))//ถ้ากด ปุ่ม เบอ 6 { pad_x2=1 // ให้ x เทากับ1 } if (Key.isDown(96)) { // เบอร์0 ตี } // end if pad_trig2 = Key.isDown(96);//ค่า pad_trig2 จะมีค่าเมื่อกด เบอร์0 } // End of the function function win_match() {
  • 34. _parent.match_mode = 0//ให้ match_mode เท่ากับ 0 _parent.match_winner =0 //ให้ match_winner เท่ากับ 0 cordlevel ++; // ให้่ค่า cordlevel บวกค่าไปอีก 1 _parent.result_txt[_parent.kaisen] = pname[0] + " " + gpoint[0] + " - " + gpoint[1] + " " + pname[1];// เริ่มข้อความใหม่ทั้งหมด onEnterFrame = null;// กฟงกชนการ วนของการทํางาน ให้เป้นไม่มีค่า ั ์ ่ั if(modeplay == "vscom") // ถา modeplay เทากับ vscom ้ { if(cordlevel >5)// ภา cordlevel มากกว่า 5 ้ { savescore();//เรยกฟงกชน save score ี ั ่ั gotoAndPlay("highscore"); // หน้าจอไปเล่นเฟรม highscore } else { gotoAndPlay("delay") // หน้าจอไปเล่นเฟรม delay } } else { gotoAndPlay("title") // หน้าจอไปเล่นเฟรม title } } function savescore() { var objectscore:Object = new Object(); // สร้าง objectscore เป้น ตัวแปร Object objectscore.name = textname1; // ให้ objectscore .name เท่ากับ textname1 objectscore.num = numscore;// objectscore.num เทากับ numscore so.data.score.push ({num:objectscore.num,name:objectscore.name}) //ตัวแปร so เพิ่มค่าเข้าไป โดยเพิ่ม ชื่อ และ แต้ม for(var t= 0;t < so.data.score.length ; t++)// วนลูบตาม จํานวนตัวแปรสมาชิกของ so.data.score { if(t != so.data.score.length-1)// ถา t ไม่เทากับ ้ สมาชิกตัวสุดท้ายของ so.data.score { if(so.data.score [so.data.score.length-1].name == so.data.score[t].name) // ถา มชอซากนในlist กับชื่อที่ ้ ี ่ื ํ้ ั
  • 35. ถูกแอดมา { if(so.data.score [so.data.score.length-1].num >= so.data.score[t].num) // ถา สกอ ชือทีซากัน ถ้าตัวไหนมี ้ ่ ่ ํ้ ค่ามากกว่า { so.data.score[t].num = 0; // ปรับให้ สมาชกอกตวทใชอซากนมสกอเปน 0 ิ ี ั ่ี ี ่ื ํ้ ั ี ้ } else { so.data.score [so.data.score.length-1].num =0; } } } } so.data.score.sortOn(["num", "name"], [Array.NUMERIC|Array.DESCENDING,Array.DESCENDING]); // จัดเรียงอาเรย์ใหม่ โดยให้สกอร์สูงสุดขึ้นมาก่อน so.data.score.pop();// ลบสมาชิกตัวสุดท้ายทิ้งไป }