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

  1. function reunatNayta()
  2. {
  3.    reunat._visible = 1;
  4.    reunat.swapDepths(1000000);
  5.    kapasiteettiNaytto = "Kapasiteetti: 0 Mt";
  6.    hakuAikaNaytto = "Hakuaika: 0 ms";
  7.    pisteNaytto = "Siirretyn datan kokonaism{invalid_utf8=228}{invalid_utf8=228}{invalid_utf8=114}{invalid_utf8=228}: 0 Mt";
  8.    pituusNaytto = "Dataa puskurissa: 0 Mt";
  9.    fragmentaatioNaytto = "Sirpaleisuus: 0%";
  10. }
  11. function menuPiilota()
  12. {
  13.    menuIkkunat._visible = 0;
  14. }
  15. function menuNayta(menuNimi)
  16. {
  17.    menuIkkunat._visible = 1;
  18.    menuIkkunat.swapDepths(1000001);
  19.    menuIkkunat.gotoAndStop(menuNimi);
  20.    if(menuNimi == "menuValmistaudu")
  21.    {
  22.       var viestit = new Array("Sormet napeille, peli alkaa!","Onko valmista? Kohta l{invalid_utf8=228}htee!","Pieleen menee - turha edes yritt{invalid_utf8=228}{invalid_utf8=228}{invalid_utf8=46}","Keskity!","Are you feeling lucky, punk?","Ly{invalid_utf8=246}n vetoa ettet kest{invalid_utf8=228} minuuttiakaan.","Alustan levy{invalid_utf8=228}...","Gentlemen, start your engines!","www.enterlehti.fi - voittajan valinta.","Maailma tarvitsee lis{invalid_utf8=228}{invalid_utf8=228}{invalid_utf8=32}satunnaisviestej{invalid_utf8=228}.");
  23.       menuIkkunat.menuValmistaudu.menuValmistauduViesti = arvoViesti(viestit);
  24.       gotoAndPlay(4);
  25.    }
  26.    if(menuNimi == "menuPeliLoppu")
  27.    {
  28.       var viestit = new Array("Ohjelma on suorittanut laittoman toiminnon.\nSakko tulee postissa.","Fatal Error:\nKovalevy on tulessa.","Drive failure:\nKovalevy on piparina.","Driver caused an illegal\nexception at memory location T3RM!N473D","T{invalid_utf8=228}rke{invalid_utf8=228} tiedote:\nKovalevyn takuuaika loppui minuutti sitten.","Tietokoneen kotelon sis{invalid_utf8=228}puolella\non havaittu savua.");
  29.       menuIkkunat.menuPeliLoppu.menuPeliLoppuViesti = arvoViesti(viestit);
  30.       menuIkkunat.menuPeliLoppu.loppuPisteet.menuSiirrettyDatamaara = lisaaPaate(peliPisteet);
  31.       menuIkkunat.menuPeliLoppu.menuLevynHakuAika = peliNopeus + " ms";
  32.       menuIkkunat.menuPeliLoppu.menuSuurinPuskuriArvo = lisaaPaate(suurinBuffer);
  33.       var peliAikaMillisekunteina = int((getTimer() - pelinAloitusAika) / 1000);
  34.       var minuutit = int(peliAikaMillisekunteina / 60);
  35.       var sekunnit = int(peliAikaMillisekunteina % 60);
  36.       if(minuutit < 10)
  37.       {
  38.          minuutit = "0" + minuutit;
  39.       }
  40.       if(sekunnit < 10)
  41.       {
  42.          sekunnit = "0" + sekunnit;
  43.       }
  44.       menuIkkunat.menuPeliLoppu.menuLevynToimintaAika = minuutit + ":" + sekunnit;
  45.    }
  46. }
  47. function lisaaPaate(lukuArvo)
  48. {
  49.    if(1000 < lukuArvo)
  50.    {
  51.       return lukuarvo / 1000 + " Gt";
  52.    }
  53.    return lukuarvo + " Mt";
  54. }
  55. function arvoViesti(viestiLista)
  56. {
  57.    var temp = int(Math.random() * viestiLista.length);
  58.    return viestiLista[temp];
  59. }
  60. function paivitaPisteNaytto(pisteet)
  61. {
  62.    peliPisteet += pisteet;
  63.    pisteNaytto = "Siirretyn datan kokonaism{invalid_utf8=228}{invalid_utf8=228}{invalid_utf8=114}{invalid_utf8=228}: " + lisaaPaate(peliPisteet);
  64. }
  65. function paivitaPituusNaytto()
  66. {
  67.    pituusNaytto = "Dataa puskurissa: " + madonPituus + " Mt";
  68. }
  69. function paivitaFragmentaatioNaytto()
  70. {
  71.    fragmentaatioNaytto = "Sirpaleisuus: " + int(madonJamat / peliAlueRuudut * 1000) / 10 + "%";
  72. }
  73. function luoPeliAlue(ruutukoko, xkoko, ykoko, xoffset, yoffset)
  74. {
  75.    peliRuutuKoko = ruutukoko;
  76.    peliAlueX = xkoko;
  77.    peliAlueY = ykoko;
  78.    peliAlueOffsetX = xoffset;
  79.    peliAlueOffsetY = yoffset;
  80.    peliAlue = new Array();
  81.    temp = new Array();
  82.    var ruutuLaskuri = 1;
  83.    i = 0;
  84.    while(i < peliAlueX + 2)
  85.    {
  86.       j = 0;
  87.       while(j < peliAlueY + 2)
  88.       {
  89.          if(i == 0 or i == peliAlueX + 1 or j == 0 or j == peliAlueY + 1)
  90.          {
  91.             temp.push({ruutu:ruutuLaskuri,tila:"seina"});
  92.             attachMovie("ruutu",ruutuLaskuri,ruutuLaskuri);
  93.             setProperty(_root[ruutuLaskuri], _X, peliRuutuKoko * (peliAlueOffsetX + i));
  94.             setProperty(_root[ruutuLaskuri], _Y, peliRuutuKoko * (peliAlueOffsetY + j));
  95.             tellTarget(_root[ruutuLaskuri])
  96.             {
  97.                gotoAndStop("seina");
  98.             }
  99.             ruutuLaskuri++;
  100.          }
  101.          else
  102.          {
  103.             temp.push({ruutu:ruutuLaskuri,tila:"tyhja"});
  104.             attachMovie("ruutu",ruutuLaskuri,ruutuLaskuri);
  105.             setProperty(_root[ruutuLaskuri], _X, peliRuutuKoko * (peliAlueOffsetX + i));
  106.             setProperty(_root[ruutuLaskuri], _Y, peliRuutuKoko * (peliAlueOffsetY + j));
  107.             tellTarget(_root[ruutuLaskuri])
  108.             {
  109.                gotoAndStop("tyhja");
  110.             }
  111.             ruutuLaskuri++;
  112.          }
  113.          j++;
  114.       }
  115.       peliAlue[i] = temp;
  116.       temp = new Array();
  117.       i++;
  118.    }
  119. }
  120. function luoMato(pituus)
  121. {
  122.    var x = int(peliAlueX / 2);
  123.    var y = int(peliAlueY / 5) * 4;
  124.    _root[peliAlue[x][y].ruutu].gotoAndStop("mato");
  125.    peliAlue[x][y].tila = 100;
  126.    madonPaa = 100;
  127.    madonHanta = 100;
  128.    madonPaaX = x;
  129.    madonPaaY = y;
  130.    madonHantaX = x;
  131.    madonHantaY = y;
  132.    madonPituus = pituus;
  133.    madonJamat = 0;
  134.    madonSuunta = "ylos";
  135.    madonNappaimet = new Array();
  136.    madonTormays = false;
  137.    peliAlueRuudut = peliAlueX * peliAlueY;
  138.    suurinBuffer = pituus;
  139.    pelinAloitusAika = getTimer();
  140.    bonusAika = peliNopeus * 100 + 3000;
  141.    bonusAlueella = false;
  142.    peliPisteet = 0;
  143.    paivitaPisteNaytto(peliPisteet);
  144.    paivitaPituusNaytto();
  145.    paivitaFragmentaatioNaytto();
  146.    kapasiteettiNaytto = "Kapasiteetti: " + peliAlueRuudut + " Mt";
  147.    hakuAikaNaytto = "Hakuaika: " + peliNopeus + " ms";
  148.    seuraavaSiirto = getTimer() + peliNopeus;
  149. }
  150. function liikutaMatoa()
  151. {
  152.    if(madonNappaimet.length != 0)
  153.    {
  154.       madonSuunta = madonNappaimet.shift();
  155.    }
  156.    if(madonSuunta == "ylos")
  157.    {
  158.       madonPaaY--;
  159.    }
  160.    else if(madonSuunta == "alas")
  161.    {
  162.       madonPaaY++;
  163.    }
  164.    else if(madonSuunta == "vasen")
  165.    {
  166.       madonPaaX--;
  167.    }
  168.    else
  169.    {
  170.       madonPaaX++;
  171.    }
  172. }
  173. function liikutaPalloa()
  174. {
  175.    palloUusiX = palloX + pallodX;
  176.    palloUusiY = palloY + pallodY;
  177. }
  178. function katkaiseMato()
  179. {
  180.    if(peliAlue[palloUusiX][palloUusiY].tila < madonHanta)
  181.    {
  182.       peliAlue[palloUusiX][palloUusiY].tila = "tyhja";
  183.       madonJamat--;
  184.       paivitaFragmentaatioNaytto();
  185.    }
  186.    else
  187.    {
  188.       madonHantaX = palloUusiX;
  189.       madonHantaY = palloUusiY;
  190.       var temp = peliAlue[palloUusiX][PalloUusiY].tila;
  191.       madonJamat += temp - madonHanta;
  192.       madonHanta = temp;
  193.       madonPituus = madonPaa - temp + 1;
  194.       if(madonPituus < 1)
  195.       {
  196.          madonPituus = 1;
  197.       }
  198.       paivitaPituusNaytto();
  199.       paivitaFragmentaatioNaytto();
  200.       peliAlue[palloUusiX][palloUusiY].tila = "tyhja";
  201.       tarkistaSuunnat(madonHantaX,madonHantaY,madonHanta);
  202.    }
  203. }
  204. function tarkistaSuunnat(x, y, luku)
  205. {
  206.    if(peliAlue[x][y - 1].tila == luku)
  207.    {
  208.       madonHantaY--;
  209.    }
  210.    else if(peliAlue[x][y + 1].tila == luku)
  211.    {
  212.       madonHantaY++;
  213.    }
  214.    else if(peliAlue[x - 1][y].tila == luku)
  215.    {
  216.       madonHantaX--;
  217.    }
  218.    else if(peliAlue[x + 1][y].tila == luku)
  219.    {
  220.       madonHantaX++;
  221.    }
  222. }
  223. function tarkistaTormaykset()
  224. {
  225.    if(peliAlue[madonPaaX][madonPaaY].tila != "tyhja")
  226.    {
  227.       if(peliAlue[madonPaaX][madonPaaY].tila == "bonus")
  228.       {
  229.          siirraBonus();
  230.          paivitaPisteNaytto(madonPituus);
  231.          madonPituus += 5;
  232.          if(suurinBuffer < madonPituus)
  233.          {
  234.             suurinBuffer = madonPituus;
  235.          }
  236.          paivitaPituusNaytto();
  237.       }
  238.       else
  239.       {
  240.          gotoAndPlay(6);
  241.       }
  242.    }
  243.    if(madonPaaX == palloUusiX)
  244.    {
  245.       if(madonPaaY == palloUusiY)
  246.       {
  247.          madonTormays = true;
  248.       }
  249.    }
  250.    katkaise = false;
  251.    palloTormaysTarkistus(palloUusiX,palloY,0);
  252.    palloTormaysTarkistus(palloX,palloUusiY,1);
  253.    palloTormaysTarkistus(palloUusiX,palloUusiY,2);
  254.    if(katkaise)
  255.    {
  256.       katkaiseMato();
  257.    }
  258. }
  259. function palloTormaysTarkistus(x, y, suunta)
  260. {
  261.    var temp = peliAlue[x][y].tila;
  262.    if(temp != "tyhja")
  263.    {
  264.       if(temp < 999999)
  265.       {
  266.          if(suunta == 2)
  267.          {
  268.             katkaise = true;
  269.          }
  270.       }
  271.       else
  272.       {
  273.          if(suunta < 1)
  274.          {
  275.             pallodX *= -1;
  276.          }
  277.          else if(suunta < 2)
  278.          {
  279.             pallodY *= -1;
  280.          }
  281.          else
  282.          {
  283.             pallodX *= -1;
  284.             pallodY *= -1;
  285.          }
  286.          liikutaPalloa();
  287.       }
  288.    }
  289. }
  290. function paivitaMato()
  291. {
  292.    madonPaa++;
  293.    _root[peliAlue[madonPaaX][madonPaaY].ruutu].gotoAndStop("mato");
  294.    peliAlue[madonPaaX][madonPaaY].tila = madonPaa;
  295.    if(madonPaa - madonHanta >= madonPituus)
  296.    {
  297.       _root[peliAlue[madonHantaX][madonHantaY].ruutu].gotoAndStop("tyhja");
  298.       peliAlue[madonHantaX][madonHantaY].tila = "tyhja";
  299.       madonHanta++;
  300.       tarkistaSuunnat(madonHantaX,madonHantaY,madonHanta);
  301.    }
  302. }
  303. function paivitaPallo()
  304. {
  305.    _root[peliAlue[palloX][palloY].ruutu].gotoAndStop("tyhja");
  306.    peliAlue[palloX][palloY].tila = "tyhja";
  307.    palloX = palloUusiX;
  308.    palloY = palloUusiY;
  309.    _root[peliAlue[palloX][palloY].ruutu].gotoAndStop("pallo");
  310.    peliAlue[palloX][palloY].tila = "pallo";
  311.    if(crash)
  312.    {
  313.       gotoAndPlay(6);
  314.    }
  315. }
  316. function tyhjennaRuutu()
  317. {
  318.    i = 1;
  319.    while(i < peliAlueX + 1)
  320.    {
  321.       j = 1;
  322.       while(j < peliAlueY + 1)
  323.       {
  324.          peliAlue[i][j].tila = "tyhja";
  325.          _root[peliAlue[i][j].ruutu].gotoAndStop("tyhja");
  326.          j++;
  327.       }
  328.       i++;
  329.    }
  330. }
  331. function muutTarkistukset()
  332. {
  333.    if(bonusLaskuri < getTimer())
  334.    {
  335.       siirraBonus();
  336.    }
  337.    if(madonTormays)
  338.    {
  339.       gotoAndPlay(6);
  340.    }
  341. }
  342. function siirraBonus()
  343. {
  344.    do
  345.    {
  346.       peliAlue[bonusX][bonusY].tila = "tyhja";
  347.       _root[peliAlue[bonusX][bonusY].ruutu].gotoAndStop("tyhja");
  348.       varattuPaikka = true;
  349.       var x = Math.ceil(Math.random() * peliAlueX);
  350.       var y = Math.ceil(Math.random() * peliAlueY);
  351.       if(peliAlue[x][y].tila == "tyhja")
  352.       {
  353.          varattuPaikka = false;
  354.       }
  355.       if(x == 2)
  356.       {
  357.          varattupaikka = true;
  358.       }
  359.       else if(x == peliAlueX - 1)
  360.       {
  361.          varattupaikka = true;
  362.       }
  363.       else if(y == 2)
  364.       {
  365.          varattupaikka = true;
  366.       }
  367.       else if(y == peliAlueY - 1)
  368.       {
  369.          varattupaikka = true;
  370.       }
  371.       else
  372.       {
  373.          if(x == palloUusiX)
  374.          {
  375.             if(y == palloUusiY)
  376.             {
  377.                varattupaikka = true;
  378.                continue;
  379.             }
  380.          }
  381.          if(x == madonPaaX)
  382.          {
  383.             if(y == madonPaaY)
  384.             {
  385.                varattupaikka = true;
  386.             }
  387.          }
  388.       }
  389.    }
  390.    while(varattuPaikka);
  391.    
  392.    peliAlue[x][y].tila = "bonus";
  393.    _root[peliAlue[x][y].ruutu].gotoAndStop("bonus");
  394.    bonusX = x;
  395.    bonusY = y;
  396.    bonusLaskuri = getTimer() + bonusAika;
  397. }
  398. function luoPallo()
  399. {
  400.    var x = int(Math.random() * peliAlueX) + 1;
  401.    var y = int(Math.random() * peliAlueY / 3) + 1;
  402.    if(Math.random() < 0.5)
  403.    {
  404.       var dx = -1;
  405.    }
  406.    else
  407.    {
  408.       var dx = 1;
  409.    }
  410.    if(Math.random() < 0.5)
  411.    {
  412.       var dy = -1;
  413.    }
  414.    else
  415.    {
  416.       var dy = 1;
  417.    }
  418.    _root[peliAlue[x][y].ruutu].gotoAndStop("pallo");
  419.    peliAlue[x][y].tila = "pallo";
  420.    palloX = x;
  421.    palloY = y;
  422.    palloUusiX = palloX;
  423.    palloUusiY = palloY;
  424.    pallodX = dx;
  425.    pallodY = dy;
  426. }
  427. stop();
  428.