home *** CD-ROM | disk | FTP | other *** search
/ Enter 2003: The Beautiful Scenery / enter-parhaat-2003.iso / files / Gnop.exe / scripts / frame_2 / DoAction.as
Encoding:
Text File  |  2002-12-31  |  8.1 KB  |  309 lines

  1. function alustaPeli()
  2. {
  3.    attachMovie("Seina","ylaSeina",1);
  4.    ylaSeina._x = 250;
  5.    ylaSeina._y = 50;
  6.    attachMovie("Seina","alaSeina",2);
  7.    alaSeina._x = 250;
  8.    alaSeina._y = 350;
  9.    ylaLaita = ylaSeina._y + ylaSeina._height / 2;
  10.    alaLaita = alaSeina._y - alaSeina._height / 2;
  11.    attachMovie("Maila","vasenMaila",3);
  12.    vasenMaila._x = 15;
  13.    vasenMaila._y = 200;
  14.    vasenMaila.dY = 0;
  15.    vasenMaila._height = 50;
  16.    vasenMaila.korkeus = vasenMaila._height / 2;
  17.    vasenMaila.leveys = vasenMaila._width / 2;
  18.    vasenMaila.pisteet = 0;
  19.    vasenMaila.lahdeY = vasenMaila._y;
  20.    vasenMaila.kohdeY = vasenMaila._y;
  21.    attachMovie("Maila","oikeaMaila",4);
  22.    oikeaMaila._x = 485;
  23.    oikeaMaila._y = 200;
  24.    oikeaMaila.dY = 0;
  25.    oikeaMaila._height = 50;
  26.    oikeaMaila.korkeus = oikeaMaila._height / 2;
  27.    oikeaMaila.leveys = vasenMaila._width / 2;
  28.    oikeaMaila.pisteet = 0;
  29.    if(Math.random() < 0.5)
  30.    {
  31.       syottoVuoro = "oikea";
  32.    }
  33.    else
  34.    {
  35.       syottoVuoro = "vasen";
  36.    }
  37.    tormaysMuutos = 0.4;
  38.    vauhtiMuutos = 0.4;
  39.    valikko = {palloNopeus:4,tietoKoneVauhti:3,palloKiihtyvyys:2,erat:3};
  40.    kiihtyvyysLista = [1,1.025,1.05,1.075,1.1,1.15];
  41.    eraNyt = 0;
  42.    tietokonePelaaja = true;
  43. }
  44. function tarkistaNappulat()
  45. {
  46.    if(!tietokonePelaaja)
  47.    {
  48.       if(Key.isDown(65))
  49.       {
  50.          vasenMaila.dY -= vauhtiMuutos;
  51.       }
  52.       if(key.isDown(90))
  53.       {
  54.          vasenMaila.dY += vauhtiMuutos;
  55.       }
  56.    }
  57.    if(Key.isDown(75))
  58.    {
  59.       oikeaMaila.dY -= vauhtiMuutos;
  60.    }
  61.    if(Key.isDown(77))
  62.    {
  63.       oikeaMaila.dY += vauhtiMuutos;
  64.    }
  65. }
  66. function tietokone()
  67. {
  68.    if(vasenMaila.kohdeY < vasenMaila._y)
  69.    {
  70.       vasenMaila.dY -= vauhtiMuutos;
  71.       if(vasenMaila.dY < - valikko.tietoKoneVauhti)
  72.       {
  73.          vasenMaila.dY = - valikko.tietoKoneVauhti;
  74.       }
  75.    }
  76.    else if(vasenMaila._y < vasenMaila.kohdeY)
  77.    {
  78.       vasenMaila.dY += vauhtiMuutos;
  79.       if(valikko.tietoKoneVauhti < vasenMaila.dY)
  80.       {
  81.          vasenMaila.dy = valikko.tietoKoneVauhti;
  82.       }
  83.    }
  84. }
  85. function liikutaVasentaMailaa()
  86. {
  87.    vasenMaila._y += vasenMaila.dY;
  88.    if(vasenMaila._y - vasenMaila.korkeus < ylaLaita)
  89.    {
  90.       var yliMeno = ylaLaita - (vasenMaila._y - vasenMaila.korkeus);
  91.       vasenMaila._y += 2 * yliMeno;
  92.       vasenMaila.dy *= - tormaysMuutos;
  93.    }
  94.    if(alaLaita < vasenMaila._y + vasenMaila.korkeus)
  95.    {
  96.       var yliMeno = vasenMaila._y + vasenmaila.korkeus - alaLaita;
  97.       vasenMaila._y -= 2 * yliMeno;
  98.       vasenMaila.dy *= - tormaysMuutos;
  99.    }
  100. }
  101. function liikutaOikeaaMailaa()
  102. {
  103.    oikeaMaila._y += oikeaMaila.dY;
  104.    if(oikeaMaila._y - oikeaMaila.korkeus < ylaLaita)
  105.    {
  106.       var yliMeno = ylaLaita - (oikeaMaila._y - oikeaMaila.korkeus);
  107.       oikeaMaila._y += 2 * yliMeno;
  108.       oikeaMaila.dy *= - tormaysMuutos;
  109.    }
  110.    if(alaLaita < oikeaMaila._y + oikeaMaila.korkeus)
  111.    {
  112.       var yliMeno = oikeaMaila._y + oikeaMaila.korkeus - alaLaita;
  113.       oikeaMaila._y -= 2 * yliMeno;
  114.       oikeaMaila.dy *= - tormaysMuutos;
  115.    }
  116. }
  117. function liikutaPalloa()
  118. {
  119.    pallo._y += pallo.dY;
  120.    pallo._x += pallo.dX;
  121.    if(pallo._y - pallo.sade < ylaLaita)
  122.    {
  123.       var yliMeno = ylaLaita - (pallo._y - pallo.sade);
  124.       pallo._y += 2 * yliMeno;
  125.       pallo.dY *= -1;
  126.    }
  127.    if(alaLaita < pallo._y + pallo.sade)
  128.    {
  129.       var yliMeno = pallo._y + pallo.sade - alaLaita;
  130.       pallo._y -= 2 * yliMeno;
  131.       pallo.dY *= -1;
  132.    }
  133.    if(pallo.kentalla)
  134.    {
  135.       if(oikeaMaila._x - oikeaMaila.leveys < pallo._x + pallo.sade)
  136.       {
  137.          if(pallo._y + pallo.sade >= oikeaMaila._y - oikeaMaila.korkeus and oikeaMaila._y + oikeaMaila.korkeus >= pallo._y - pallo.sade)
  138.          {
  139.             var yliMeno = pallo._x + pallo.sade - (oikeaMaila._x - oikeaMaila.leveys);
  140.             pallo._x -= 2 * yliMeno;
  141.             pallo.dX *= - kiihtyvyysLista[valikko.palloKiihtyvyys];
  142.             var etaisyys = Math.abs(pallo._y - oikeaMaila._y);
  143.             var muutos = etaisyys / oikeaMaila.korkeus * Math.abs(pallo.dX);
  144.             if(pallo.dY < 0)
  145.             {
  146.                if(pallo._y - oikeaMaila._y >= 0)
  147.                {
  148.                   pallo.dY = muutos;
  149.                }
  150.                else
  151.                {
  152.                   pallo.dy = - muutos;
  153.                }
  154.             }
  155.             else if(pallo.dY >= 0)
  156.             {
  157.                if(pallo._y - oikeaMaila._y >= 0)
  158.                {
  159.                   pallo.dY = muutos;
  160.                }
  161.                else
  162.                {
  163.                   pallo.dy = - muutos;
  164.                }
  165.             }
  166.             laskePallonSijainti();
  167.          }
  168.          else
  169.          {
  170.             pallo.kentalla = false;
  171.          }
  172.       }
  173.    }
  174.    if(pallo.kentalla)
  175.    {
  176.       if(pallo._x - pallo.sade < vasenMaila._x + vasenMaila.leveys)
  177.       {
  178.          if(pallo._y + pallo.sade >= vasenMaila._y - vasenMaila.korkeus and vasenMaila._y + vasenMaila.korkeus >= pallo._y - pallo.sade)
  179.          {
  180.             var yliMeno = vasenMaila._x + vasenMaila.leveys - (pallo._x - pallo.sade);
  181.             pallo._x += 2 * yliMeno;
  182.             pallo.dX *= - kiihtyvyysLista[valikko.palloKiihtyvyys];
  183.             var etaisyys = Math.abs(pallo._y - vasenMaila._y);
  184.             var muutos = etaisyys / vasenMaila.korkeus * Math.abs(pallo.dX);
  185.             if(pallo.dY < 0)
  186.             {
  187.                if(pallo._y - vasenMaila._y >= 0)
  188.                {
  189.                   pallo.dY = muutos;
  190.                }
  191.                else
  192.                {
  193.                   pallo.dy = - muutos;
  194.                }
  195.             }
  196.             else if(pallo.dY >= 0)
  197.             {
  198.                if(pallo._y - vasenMaila._y >= 0)
  199.                {
  200.                   pallo.dY = muutos;
  201.                }
  202.                else
  203.                {
  204.                   pallo.dy = - muutos;
  205.                }
  206.             }
  207.          }
  208.          else
  209.          {
  210.             pallo.kentalla = false;
  211.          }
  212.       }
  213.    }
  214.    if(pallo._x < -50)
  215.    {
  216.       if(!pallo.kentalla)
  217.       {
  218.          oikeaMaila.pisteet += 1;
  219.          gotoAndPlay(5);
  220.       }
  221.    }
  222.    if(550 < pallo._x)
  223.    {
  224.       if(!pallo.kentalla)
  225.       {
  226.          vasenMaila.pisteet += 1;
  227.          gotoAndPlay(5);
  228.       }
  229.    }
  230. }
  231. function laskePallonSijainti()
  232. {
  233.    var palloX;
  234.    var palloY;
  235.    var xPituus;
  236.    var yPituus;
  237.    var palloKulma;
  238.    palloX = pallo._x;
  239.    palloY = pallo._y;
  240.    palloKulma = Math.atan(pallo.dX / pallo.dY);
  241.    while(true)
  242.    {
  243.       if(palloKulma >= 0)
  244.       {
  245.          yPituus = palloY - ylaLaita;
  246.       }
  247.       else
  248.       {
  249.          yPituus = alaLaita - palloY;
  250.       }
  251.       xPituus = Math.tan(Math.abs(palloKulma)) * yPituus;
  252.       if(palloX - xPituus < vasenMaila._x)
  253.       {
  254.          xPituus = palloX - vasenMaila._x;
  255.          yPituus = xPituus / Math.tan(palloKulma);
  256.          vasenMaila.kohdeY = palloY - yPituus;
  257.          vasenMaila.lahdeY = vasenMaila._y;
  258.          vasenMaila.kohdyY += int(Math.random() * vasenMaila._height) - vasenMaila.korkeus;
  259.          if(alaLaita - vasenMaila.korkeus < vasenMaila.kohdeY)
  260.          {
  261.             vasenMaila.kohdeY = alaLaita - vasenMaila.korkeus;
  262.          }
  263.          if(vasenMaila.kohdeY < ylaLaita + vasenMaila.korkeus)
  264.          {
  265.             vasenMaila.kohdeY = ylaLaita + vasenMaila.korkeus;
  266.          }
  267.          break;
  268.       }
  269.       palloX -= xPituus;
  270.       if(palloKulma >= 0)
  271.       {
  272.          palloY = ylaLaita + pallo.sade;
  273.       }
  274.       else
  275.       {
  276.          palloY = alaLaita - pallo.sade;
  277.       }
  278.       palloKulma *= -1;
  279.    }
  280. }
  281. function palloPaikalleen()
  282. {
  283.    attachMovie("Pallo","pallo",5);
  284.    pallo._y = 200;
  285.    pallo.dY = Math.random() * valikko.palloNopeus;
  286.    if(Math.random() < 0.5)
  287.    {
  288.       pallo.dy *= -1;
  289.    }
  290.    if(syottoVuoro == "vasen")
  291.    {
  292.       pallo.dX = valikko.palloNopeus;
  293.       pallo._x = 50;
  294.       syottoVuoro = "oikea";
  295.    }
  296.    else
  297.    {
  298.       pallo.dX = - valikko.palloNopeus;
  299.       pallo._x = 450;
  300.       syottoVuoro = "vasen";
  301.    }
  302.    pallo.sade = pallo._width / 2;
  303.    pallo.kentalla = true;
  304.    if(pallo.dX < 0)
  305.    {
  306.       laskePallonSijainti();
  307.    }
  308. }
  309.