home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Corrida / vx220_racer.swf / scripts / frame_12 / DoAction.as
Encoding:
Text File  |  2006-05-18  |  28.2 KB  |  1,099 lines

  1. function vypocitej_uhel_ze_souradnic(rozdil_x, rozdil_y)
  2. {
  3.    if(rozdil_x == 0)
  4.    {
  5.       rozdil_x = 0.01;
  6.    }
  7.    if(rozdil_y == 0)
  8.    {
  9.       rozdil_y = 0.01;
  10.    }
  11.    vystup = Math.atan(rozdil_x / rozdil_y) * 180 / 3.141592653589793;
  12.    if(rozdil_y < 0)
  13.    {
  14.       vystup = uhel(360 - vystup);
  15.    }
  16.    else
  17.    {
  18.       vystup = uhel(180 - vystup);
  19.    }
  20.    return vystup;
  21. }
  22. function vypocitej_polomer_ze_souradnic(rozdil_x, rozdil_y)
  23. {
  24.    vystup = Math.sqrt(rozdil_x * rozdil_x + rozdil_y * rozdil_y);
  25.    return vystup;
  26. }
  27. function vypocitej_nove_souradnice(polomer, vstupni_uhel)
  28. {
  29.    vystup = new Array();
  30.    vystup.x += polomer * sintab[uhel(vstupni_uhel)];
  31.    vystup.y += polomer * (- costab[uhel(vstupni_uhel)]);
  32.    return vystup;
  33. }
  34. function skryt_sipku_u_auta()
  35. {
  36.    je_zobrazena_sipka_u_auta = false;
  37.    sipka_auto.gotoAndStop(1);
  38. }
  39. function sound_updater()
  40. {
  41.    if(typ_hry == 1 && maji_se_prehravat_zvuky)
  42.    {
  43.       if(auto[0].s < -2)
  44.       {
  45.          nove_cislo_zvuku = 3;
  46.       }
  47.       if(auto[0].s < 0 && auto[0].s >= -2)
  48.       {
  49.          nove_cislo_zvuku = 2;
  50.       }
  51.       if(auto[0].s == 0)
  52.       {
  53.          nove_cislo_zvuku = 1;
  54.       }
  55.       if(auto[0].s > 0 && auto[0].s <= 2)
  56.       {
  57.          nove_cislo_zvuku = 2;
  58.       }
  59.       if(auto[0].s > 2 && auto[0].s <= 4)
  60.       {
  61.          nove_cislo_zvuku = 3;
  62.       }
  63.       if(auto[0].s > 4 && auto[0].s <= 6)
  64.       {
  65.          nove_cislo_zvuku = 4;
  66.       }
  67.       if(auto[0].s > 6)
  68.       {
  69.          nove_cislo_zvuku = 5;
  70.       }
  71.       if(nove_cislo_zvuku != auto[0].zvuk_auta)
  72.       {
  73.          if(auto[0].zvuk_auta != 0)
  74.          {
  75.             if(auto[0].zvuk_auta == 1)
  76.             {
  77.                auto[0].zvuk_r1.stop();
  78.             }
  79.             if(auto[0].zvuk_auta == 2)
  80.             {
  81.                auto[0].zvuk_r2.stop();
  82.             }
  83.             if(auto[0].zvuk_auta == 3)
  84.             {
  85.                auto[0].zvuk_r3.stop();
  86.             }
  87.             if(auto[0].zvuk_auta == 4)
  88.             {
  89.                auto[0].zvuk_r4.stop();
  90.             }
  91.             if(auto[0].zvuk_auta == 5)
  92.             {
  93.                auto[0].zvuk_r5.stop();
  94.             }
  95.          }
  96.          auto[0].zvuk_auta = nove_cislo_zvuku;
  97.          if(nove_cislo_zvuku == 1)
  98.          {
  99.             auto[0].zvuk_r1.start(0,9999);
  100.          }
  101.          if(nove_cislo_zvuku == 2)
  102.          {
  103.             auto[0].zvuk_r2.start(0,9999);
  104.          }
  105.          if(nove_cislo_zvuku == 3)
  106.          {
  107.             auto[0].zvuk_r3.start(0,9999);
  108.          }
  109.          if(nove_cislo_zvuku == 4)
  110.          {
  111.             auto[0].zvuk_r4.start(0,9999);
  112.          }
  113.          if(nove_cislo_zvuku == 5)
  114.          {
  115.             auto[0].zvuk_r5.start(0,9999);
  116.          }
  117.       }
  118.       if(pauza_aktivni)
  119.       {
  120.          if(auto[0].zvuk_auta == 1)
  121.          {
  122.             auto[0].zvuk_r1.stop();
  123.          }
  124.          if(auto[0].zvuk_auta == 2)
  125.          {
  126.             auto[0].zvuk_r2.stop();
  127.          }
  128.          if(auto[0].zvuk_auta == 3)
  129.          {
  130.             auto[0].zvuk_r3.stop();
  131.          }
  132.          if(auto[0].zvuk_auta == 4)
  133.          {
  134.             auto[0].zvuk_r4.stop();
  135.          }
  136.          if(auto[0].zvuk_auta == 5)
  137.          {
  138.             auto[0].zvuk_r5.stop();
  139.          }
  140.          auto[0].zvuk_auta = 0;
  141.       }
  142.       if(auto[0].zvuk_hit_playing > 0)
  143.       {
  144.          auto[0].zvuk_hit_playing--;
  145.       }
  146.    }
  147. }
  148. function sound_hit_start()
  149. {
  150.    if(typ_hry == 1 && maji_se_prehravat_zvuky)
  151.    {
  152.       if(auto[0].zvuk_hit_playing == 0)
  153.       {
  154.          auto[0].zvuk_hit.start(0,1);
  155.          auto[0].zvuk_hit_playing = 8;
  156.       }
  157.    }
  158. }
  159. function sound_odpocet1()
  160. {
  161.    if(maji_se_prehravat_zvuky)
  162.    {
  163.       auto[0].zvuk_odpocet1.start(0,1);
  164.    }
  165. }
  166. function sound_odpocet2()
  167. {
  168.    if(maji_se_prehravat_zvuky)
  169.    {
  170.       auto[0].zvuk_odpocet2.start(0,1);
  171.    }
  172. }
  173. function sound_smyk_start()
  174. {
  175.    if(typ_hry == 1 && maji_se_prehravat_zvuky)
  176.    {
  177.       if(auto[0].zvuk_smyk == 0)
  178.       {
  179.          auto[0].zvuk_sm.start(0,9999);
  180.          auto[0].zvuk_smyk = 6;
  181.       }
  182.    }
  183. }
  184. function sound_smyk_stop()
  185. {
  186.    if(typ_hry == 1 && maji_se_prehravat_zvuky)
  187.    {
  188.       if(auto[0].zvuk_smyk > 1)
  189.       {
  190.          auto[0].zvuk_smyk--;
  191.       }
  192.       if(auto[0].zvuk_smyk == 1)
  193.       {
  194.          auto[0].zvuk_sm.stop();
  195.          auto[0].zvuk_smyk = 0;
  196.       }
  197.    }
  198. }
  199. function sound_updater_stop()
  200. {
  201.    if(auto[0].zvuk_auta == 1)
  202.    {
  203.       auto[0].zvuk_r1.stop();
  204.    }
  205.    if(auto[0].zvuk_auta == 2)
  206.    {
  207.       auto[0].zvuk_r2.stop();
  208.    }
  209.    if(auto[0].zvuk_auta == 3)
  210.    {
  211.       auto[0].zvuk_r3.stop();
  212.    }
  213.    if(auto[0].zvuk_auta == 4)
  214.    {
  215.       auto[0].zvuk_r4.stop();
  216.    }
  217.    if(auto[0].zvuk_auta == 5)
  218.    {
  219.       auto[0].zvuk_r5.stop();
  220.    }
  221.    if(auto[0].zvuk_smyk == 1)
  222.    {
  223.       auto[0].zvuk_sm.stop();
  224.    }
  225. }
  226. function show_pauza()
  227. {
  228.    pauza.gotoAndStop(2);
  229. }
  230. function hide_pauza()
  231. {
  232.    pauza.gotoAndStop(1);
  233. }
  234. function ukaz_posledni_kolo(vstup)
  235. {
  236.    if(vstup == pocet_kol - 1 && !ukazuje_se_posledni_kolo)
  237.    {
  238.       lastlap.gotoAndPlay(2);
  239.       ukazuje_se_posledni_kolo = true;
  240.    }
  241.    if(vstup == pocet_kol && ukazuje_se_posledni_kolo)
  242.    {
  243.       lastlap.gotoAndStop(1);
  244.       ukazuje_se_posledni_kolo = false;
  245.    }
  246. }
  247. function skryj_posledni_kolo()
  248. {
  249.    lastlap.gotoAndStop(1);
  250.    ukazuje_se_posledni_kolo = false;
  251. }
  252. function show_turbo(cislo)
  253. {
  254.    if(cislo == 0)
  255.    {
  256.       turbo_hrac1.gotoAndPlay(2);
  257.    }
  258.    else
  259.    {
  260.       turbo_hrac2.gotoAndPlay(2);
  261.    }
  262.    auto[cislo].ukturbo = true;
  263. }
  264. function hide_turbo(cislo)
  265. {
  266.    if(cislo == 0)
  267.    {
  268.       turbo_hrac1.gotoAndPlay(10);
  269.    }
  270.    else
  271.    {
  272.       turbo_hrac2.gotoAndPlay(10);
  273.    }
  274.    auto[cislo].ukturbo = false;
  275. }
  276. function set_kola(cislo, hodnota)
  277. {
  278.    hodnota = Math.floor(hodnota) + 1;
  279.    if(hodnota > pocet_kol)
  280.    {
  281.       hodnota = pocet_kol;
  282.    }
  283.    if(cislo == 0)
  284.    {
  285.       kola1.cislo_kola.gotoAndStop(hodnota);
  286.    }
  287.    else
  288.    {
  289.       kola2.cislo_kola.gotoAndStop(hodnota);
  290.    }
  291. }
  292. function set_kola_cas(hodnota_kola, hodnota_cas)
  293. {
  294.    hodnota_kola = Math.floor(hodnota_kola) + 1;
  295.    if(hodnota_kola > pocet_kol)
  296.    {
  297.       hodnota_kola = pocet_kol;
  298.    }
  299.    kola_cas.cislo_kola.gotoAndStop(hodnota_kola);
  300.    ukaz_minuty = Math.floor(hodnota_cas / 25 / 60);
  301.    ukaz_sekundy = Math.floor(hodnota_cas / 25 - ukaz_minuty * 60);
  302.    hodnota_cislo1 = Math.floor(ukaz_minuty / 10);
  303.    hodnota_cislo2 = ukaz_minuty - hodnota_cislo1 * 10;
  304.    hodnota_cislo1++;
  305.    hodnota_cislo2++;
  306.    kola_cas.cislo1.gotoAndStop(hodnota_cislo1);
  307.    kola_cas.cislo2.gotoAndStop(hodnota_cislo2);
  308.    hodnota_cislo3 = Math.floor(ukaz_sekundy / 10);
  309.    hodnota_cislo4 = ukaz_sekundy - hodnota_cislo3 * 10;
  310.    hodnota_cislo3++;
  311.    hodnota_cislo4++;
  312.    kola_cas.cislo3.gotoAndStop(hodnota_cislo3);
  313.    kola_cas.cislo4.gotoAndStop(hodnota_cislo4);
  314. }
  315. function set_turbo(cislo, hodnota)
  316. {
  317.    if(cislo == 0)
  318.    {
  319.       panel_speed1.ukazatel_turbo1._xscale = Math.abs(hodnota);
  320.    }
  321.    else
  322.    {
  323.       panel_speed2.ukazatel_turbo2._xscale = Math.abs(hodnota);
  324.    }
  325. }
  326. function set_speed(cislo, hodnota)
  327. {
  328.    if(cislo == 0)
  329.    {
  330.       panel_speed1.ukazatel_rychlost1._xscale = Math.abs(hodnota);
  331.    }
  332.    else
  333.    {
  334.       panel_speed2.ukazatel_rychlost2._xscale = Math.abs(hodnota);
  335.    }
  336. }
  337. function game_init()
  338. {
  339.    if(typ_hry == 1)
  340.    {
  341.       panel_speed1.gotoAndStop(2);
  342.       show_turbo(0);
  343.       kola_cas.gotoAndStop(2);
  344.       set_speed(0,0);
  345.    }
  346.    else
  347.    {
  348.       panel_speed1.gotoAndStop(2);
  349.       panel_speed2.gotoAndStop(2);
  350.       kola1.gotoAndStop(2);
  351.       kola2.gotoAndStop(2);
  352.       show_turbo(0);
  353.       show_turbo(1);
  354.       set_speed(0,0);
  355.       set_speed(1,0);
  356.    }
  357. }
  358. function nastartuj()
  359. {
  360.    start_action = true;
  361.    gotoAndPlay(13);
  362. }
  363. function ingame_menu(vitez, vitezny_cas)
  364. {
  365.    skryj_posledni_kolo();
  366.    zaverecne_menu_aktivni = true;
  367.    sound_updater_stop();
  368.    if(typ_hry == 1)
  369.    {
  370.       if(vitez == 0)
  371.       {
  372.          endmenu.gotoAndStop(3);
  373.       }
  374.       else
  375.       {
  376.          endmenu.gotoAndStop(2);
  377.       }
  378.    }
  379.    else if(vitez == 0)
  380.    {
  381.       endmenu.gotoAndStop(4);
  382.    }
  383.    else
  384.    {
  385.       endmenu.gotoAndStop(5);
  386.    }
  387. }
  388. function hide_ingame_menu()
  389. {
  390.    endmenu.gotoAndStop(1);
  391. }
  392. function restartovat()
  393. {
  394.    hide_ingame_menu();
  395.    sound_updater_stop();
  396.    gotoAndPlay(12);
  397. }
  398. function zpet_do_main_menu()
  399. {
  400.    hide_ingame_menu();
  401.    sound_updater_stop();
  402.    gotoAndPlay(11);
  403. }
  404. function dalsi_level()
  405. {
  406.    hide_ingame_menu();
  407.    sound_updater_stop();
  408.    gotoAndStop(15);
  409. }
  410. function uhel(cislo)
  411. {
  412.    cislo = Math.round(cislo);
  413.    while(cislo > 359)
  414.    {
  415.       cislo -= 360;
  416.    }
  417.    while(cislo < 0)
  418.    {
  419.       cislo += 360;
  420.    }
  421.    return cislo;
  422. }
  423. function soucet_uhlu(uhel1, uhel2, rychlost1, rychlost2)
  424. {
  425.    uhel1 = uhel(uhel1);
  426.    uhel2 = uhel(uhel2);
  427.    if(Math.abs(uhel1 - uhel2) > 180)
  428.    {
  429.       if(uhel2 < 180)
  430.       {
  431.          uhel2 += 360;
  432.       }
  433.       else
  434.       {
  435.          uhel -= 360;
  436.       }
  437.    }
  438.    if(rychlost2 > 0)
  439.    {
  440.       vystup = uhel1 - (uhel1 - uhel2) * (1 / ((rychlost1 + rychlost2) / rychlost2));
  441.    }
  442.    else
  443.    {
  444.       vystup = uhel1;
  445.    }
  446.    return vystup;
  447. }
  448. function vyber_nejvyssi_cislo(cislo1, cislo2, cislo3, max_cislo)
  449. {
  450.    vystup = cislo1 <= cislo2 ? cislo2 : cislo1;
  451.    vystup = cislo3 <= vystup ? vystup : cislo3;
  452.    if((cislo1 == 0 || cislo2 == 0 || cislo3 == 0) && (cislo1 == max_cislo || cislo2 == max_cislo || cislo3 == max_cislo))
  453.    {
  454.       vystup = 0;
  455.       if(cislo1 < max_cislo - 1)
  456.       {
  457.          vystup = cislo1;
  458.       }
  459.       if(cislo2 < max_cislo - 1 && cislo2 > vystup)
  460.       {
  461.          vystup = cislo2;
  462.       }
  463.       if(cislo3 < max_cislo - 1 && cislo3 > vystup)
  464.       {
  465.          vystup = cislo3;
  466.       }
  467.    }
  468.    return vystup;
  469. }
  470. function spocitej_novou_pozici(cislo)
  471. {
  472.    rozdil_x = Math.abs(cputrack[auto[cislo].bod].x - auto[cislo].x);
  473.    rozdil_y = Math.abs(cputrack[auto[cislo].bod].y - auto[cislo].y);
  474.    vzdalenost_bodu = Math.sqrt(rozdil_x * rozdil_x + rozdil_y * rozdil_y);
  475.    if(vzdalenost_bodu < vzdalenost_pro_zmenu_bodu)
  476.    {
  477.       auto[cislo].bod++;
  478.    }
  479.    if(auto[cislo].bod > max_cputrack)
  480.    {
  481.       auto[cislo].bod = 0;
  482.    }
  483.    auto[cislo].newx = cputrack[auto[cislo].bod].x;
  484.    auto[cislo].newy = cputrack[auto[cislo].bod].y;
  485.    rozdil_x = auto[cislo].newx - auto[cislo].x;
  486.    rozdil_y = auto[cislo].newy - auto[cislo].y;
  487.    if(rozdil_x == 0)
  488.    {
  489.       rozdil_x = 0.1;
  490.    }
  491.    if(rozdil_y == 0)
  492.    {
  493.       rozdil_y = 0.1;
  494.    }
  495.    auto[cislo].newr = Math.atan(rozdil_x / rozdil_y) * 180 / 3.141592653589793;
  496.    if(rozdil_y < 0)
  497.    {
  498.       auto[cislo].newr = uhel(360 - auto[cislo].newr);
  499.    }
  500.    else
  501.    {
  502.       auto[cislo].newr = uhel(180 - auto[cislo].newr);
  503.    }
  504.    rozdil_uhlu2 = Math.abs(uhel(auto[cislo].r) - auto[cislo].newr);
  505.    if(rozdil_uhlu2 > 180)
  506.    {
  507.       if(uhel(auto[cislo].r) > 179)
  508.       {
  509.          auto[cislo].newr += 360;
  510.       }
  511.       else
  512.       {
  513.          auto[cislo].newr -= 360;
  514.       }
  515.    }
  516. }
  517. function urovne_init()
  518. {
  519.    i = 0;
  520.    while(i <= 1)
  521.    {
  522.       if(auto[i].uroven == 1 || auto[i].uroven == 2)
  523.       {
  524.          auto[i].i = auto[i].i1;
  525.          auto[i].i.gotoAndStop(2);
  526.          auto[i].i2.gotoAndStop(1);
  527.       }
  528.       else
  529.       {
  530.          auto[i].i = auto[i].i2;
  531.          auto[i].i.gotoAndStop(2);
  532.          auto[i].i1.gotoAndStop(1);
  533.       }
  534.       i++;
  535.    }
  536. }
  537. function place_car(cislo)
  538. {
  539.    if(auto[cislo].uroven == 1 || auto[cislo].uroven == 2)
  540.    {
  541.       if(auto[cislo].i != auto[cislo].i1)
  542.       {
  543.          auto[cislo].i = auto[cislo].i1;
  544.          auto[cislo].i.gotoAndStop(2);
  545.          auto[cislo].i2.gotoAndStop(1);
  546.       }
  547.    }
  548.    else if(auto[cislo].i != auto[cislo].i2)
  549.    {
  550.       auto[cislo].i = auto[cislo].i2;
  551.       auto[cislo].i.gotoAndStop(2);
  552.       auto[cislo].i1.gotoAndStop(1);
  553.    }
  554.    auto[cislo].i._x = auto[cislo].x;
  555.    auto[cislo].i._y = auto[cislo].y;
  556.    auto[cislo].f = uhel(auto[cislo].r);
  557.    auto[cislo].i._rotation = auto[cislo].f;
  558. }
  559. function calculate_car(cislo)
  560. {
  561.    auto[cislo].p = 0;
  562.    if(pisek.hitTest(auto[cislo].x,auto[cislo].y,true))
  563.    {
  564.       auto[cislo].p = 1;
  565.    }
  566.    if(led.hitTest(auto[cislo].x,auto[cislo].y,true))
  567.    {
  568.       auto[cislo].p = 2;
  569.    }
  570.    zbytek_za_carkou = auto[cislo].kolo - Math.floor(auto[cislo].kolo);
  571.    if(zbytek_za_carkou > 0)
  572.    {
  573.       kolize_finish = finish.hitTest(auto[cislo].x,auto[cislo].y,true);
  574.       if(kolize_finish)
  575.       {
  576.          auto[cislo].kolo += 0.5;
  577.       }
  578.    }
  579.    else
  580.    {
  581.       kolize_halftrack = halftrack.hitTest(auto[cislo].x,auto[cislo].y,true);
  582.       if(kolize_halftrack)
  583.       {
  584.          auto[cislo].kolo += 0.5;
  585.       }
  586.    }
  587.    if(auto[cislo].uroven == 1 || auto[cislo].uroven == 3)
  588.    {
  589.       kolize_limiter = limiter1.hitTest(auto[cislo].x,auto[cislo].y,true);
  590.       if(kolize_limiter)
  591.       {
  592.          auto[cislo].uroven = 2;
  593.       }
  594.    }
  595.    else
  596.    {
  597.       kolize_limiter = limiter2.hitTest(auto[cislo].x,auto[cislo].y,true);
  598.       if(kolize_limiter)
  599.       {
  600.          auto[cislo].uroven = 3;
  601.       }
  602.    }
  603.    otaceni2_povrch = otaceni2;
  604.    if(auto[cislo].p == 1)
  605.    {
  606.       otaceni2_povrch = otaceni2_pisek;
  607.    }
  608.    if(auto[cislo].p == 2)
  609.    {
  610.       otaceni2_povrch = otaceni2_led;
  611.    }
  612.    maximalni_rychlost_povrch = maximalni_rychlost;
  613.    if(_root.auto[cislo].p == 1)
  614.    {
  615.       maximalni_rychlost_povrch = maximalni_rychlost_pisek;
  616.    }
  617.    if(_root.auto[cislo].p == 2)
  618.    {
  619.       maximalni_rychlost_povrch = maximalni_rychlost_led;
  620.    }
  621.    if(Math.abs(auto[cislo].r - auto[cislo].r2) < otaceni2_povrch)
  622.    {
  623.       auto[cislo].r2 = auto[cislo].r;
  624.    }
  625.    if(Math.abs(auto[cislo].r - auto[cislo].r2) > otaceni2_povrch * 3 && auto[cislo].s > smyk_speed)
  626.    {
  627.       auto[cislo].s -= smyk;
  628.    }
  629.    if(Math.abs(auto[cislo].r - auto[cislo].r2) > otaceni2_povrch * 5 && auto[cislo].s > smyk_speed2 && cislo == 0)
  630.    {
  631.       sound_smyk_start();
  632.    }
  633.    if((Math.abs(auto[cislo].r - auto[cislo].r2) <= otaceni2_povrch * 5 || auto[cislo].s <= smyk_speed2) && cislo == 0)
  634.    {
  635.       sound_smyk_stop();
  636.    }
  637.    if(auto[cislo].r > auto[cislo].r2)
  638.    {
  639.       auto[cislo].r2 += otaceni2_povrch;
  640.    }
  641.    if(auto[cislo].r < auto[cislo].r2)
  642.    {
  643.       auto[cislo].r2 -= otaceni2_povrch;
  644.    }
  645.    if(auto[cislo].uroven <= 2)
  646.    {
  647.       kolize1 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][0],auto[cislo].y + auto[cislo].c[auto[cislo].f][1],true);
  648.       kolize2 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][2],auto[cislo].y + auto[cislo].c[auto[cislo].f][3],true);
  649.       kolize3 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][4],auto[cislo].y + auto[cislo].c[auto[cislo].f][5],true);
  650.       kolize4 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][6],auto[cislo].y + auto[cislo].c[auto[cislo].f][7],true);
  651.    }
  652.    else
  653.    {
  654.       kolize1 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][0],auto[cislo].y + auto[cislo].c[auto[cislo].f][1],true);
  655.       kolize2 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][2],auto[cislo].y + auto[cislo].c[auto[cislo].f][3],true);
  656.       kolize3 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][4],auto[cislo].y + auto[cislo].c[auto[cislo].f][5],true);
  657.       kolize4 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][6],auto[cislo].y + auto[cislo].c[auto[cislo].f][7],true);
  658.    }
  659.    if(kolize1 || kolize2 || kolize3 || kolize4)
  660.    {
  661.       rychlost_posunu = auto[cislo].s;
  662.       uhel_posunu = auto[cislo].r2;
  663.    }
  664.    else
  665.    {
  666.       rychlost_posunu = auto[cislo].s <= auto[cislo].s2 ? auto[cislo].s2 : auto[cislo].s;
  667.       if(auto[cislo].s < 0)
  668.       {
  669.          rychlost_posunu = auto[cislo].s;
  670.       }
  671.       uhel_bezneho_pohybu = uhel(auto[cislo].r2);
  672.       uhel_narazu = uhel(auto[cislo].r3);
  673.       rozdil_uhlu = Math.abs(uhel_bezneho_pohybu - uhel_narazu);
  674.       if(rozdil_uhlu > 180)
  675.       {
  676.          if(uhel_bezneho_pohybu > 179)
  677.          {
  678.             uhel_narazu += 360;
  679.          }
  680.          else
  681.          {
  682.             uhel_narazu -= 360;
  683.          }
  684.       }
  685.       if(auto[cislo].s2 > 0)
  686.       {
  687.          uhel_posunu = uhel_bezneho_pohybu - (uhel_bezneho_pohybu - uhel_narazu) * (1 / ((auto[cislo].s + auto[cislo].s2) / auto[cislo].s2));
  688.       }
  689.       else
  690.       {
  691.          uhel_posunu = auto[cislo].r2;
  692.       }
  693.    }
  694.    auto[cislo].x += rychlost_posunu * sintab[uhel(uhel_posunu)];
  695.    auto[cislo].y += rychlost_posunu * (- costab[uhel(uhel_posunu)]);
  696.    if(auto[cislo].s2 > 0)
  697.    {
  698.       auto[cislo].s2 -= zpomaleni_rychlosti_odrazu;
  699.    }
  700.    if(auto[cislo].s2 < 0)
  701.    {
  702.       auto[cislo].s2 = 0;
  703.    }
  704.    if(cislo == 0 && auto[0].uroven == auto[1].uroven)
  705.    {
  706.       kolize1a = auto[1].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][0],auto[cislo].y + auto[cislo].c[auto[cislo].f][1],true);
  707.       kolize2a = auto[1].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][2],auto[cislo].y + auto[cislo].c[auto[cislo].f][3],true);
  708.       kolize3a = auto[1].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][4],auto[cislo].y + auto[cislo].c[auto[cislo].f][5],true);
  709.       kolize4a = auto[1].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][6],auto[cislo].y + auto[cislo].c[auto[cislo].f][7],true);
  710.       kolize1 = kolize1 || kolize1a;
  711.       kolize2 = kolize2 || kolize2a;
  712.       kolize3 = kolize3 || kolize3a;
  713.       kolize4 = kolize4 || kolize4a;
  714.    }
  715.    if(cislo == 1 && auto[0].uroven == auto[1].uroven)
  716.    {
  717.       kolize1a = auto[0].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][0],auto[cislo].y + auto[cislo].c[auto[cislo].f][1],true);
  718.       kolize2a = auto[0].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][2],auto[cislo].y + auto[cislo].c[auto[cislo].f][3],true);
  719.       kolize3a = auto[0].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][4],auto[cislo].y + auto[cislo].c[auto[cislo].f][5],true);
  720.       kolize4a = auto[0].i.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][6],auto[cislo].y + auto[cislo].c[auto[cislo].f][7],true);
  721.       kolize1 = kolize1 || kolize1a;
  722.       kolize2 = kolize2 || kolize2a;
  723.       kolize3 = kolize3 || kolize3a;
  724.       kolize4 = kolize4 || kolize4a;
  725.    }
  726.    rychlost_predana_autem = Math.abs(auto[cislo].s * zmenseni_rychlosti_predane);
  727.    cislo_posouvaneho_auta = cislo != 0 ? 0 : 1;
  728.    if(auto[cislo].s > 0 && (kolize1a || kolize2a))
  729.    {
  730.       auto[cislo_posouvaneho_auta].s2 = rychlost_predana_autem;
  731.       auto[cislo_posouvaneho_auta].r3 = auto[cislo].r2;
  732.    }
  733.    if(auto[cislo].s < 0 && (kolize3a || kolize4a))
  734.    {
  735.       auto[cislo_posouvaneho_auta].s2 = rychlost_predana_autem;
  736.       auto[cislo_posouvaneho_auta].r3 = auto[cislo].r2 - 180;
  737.    }
  738.    koeficient_rychlosti = Math.abs(rychlost_posunu) / maximalni_rychlost_povrch;
  739.    rychlost_odrazeni = koeficient_rychlosti * vzdalenost_kolize;
  740.    if(rychlost_odrazeni < min_vzdalenost_kolize)
  741.    {
  742.       rychlost_odrazeni = min_vzdalenost_kolize;
  743.    }
  744.    if(auto[cislo].s >= 0)
  745.    {
  746.       if(kolize1 && kolize2 && !kolize3 && !kolize4)
  747.       {
  748.          auto[cislo].s = auto[cislo].s * -1 * odraz_pri_celnim_narazu;
  749.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 180)];
  750.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 180)]);
  751.       }
  752.       if(kolize1 && !kolize2 && !kolize3 && !kolize4)
  753.       {
  754.          auto[cislo].r += uhel_kolize * koeficient_rychlosti;
  755.          auto[cislo].s *= rychlost_kolize;
  756.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 90)];
  757.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 90)]);
  758.       }
  759.       if(!kolize1 && kolize2 && !kolize3 && !kolize4)
  760.       {
  761.          auto[cislo].r -= uhel_kolize * koeficient_rychlosti;
  762.          auto[cislo].s *= rychlost_kolize;
  763.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 - 90)];
  764.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 - 90)]);
  765.       }
  766.       if(!kolize1 && !kolize2 && kolize3 && !kolize4)
  767.       {
  768.       }
  769.       if(!kolize1 && !kolize2 && !kolize3 && kolize4)
  770.       {
  771.       }
  772.       if(!kolize1 && kolize2 && !kolize3 && kolize4)
  773.       {
  774.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 - 90)];
  775.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 - 90)]);
  776.       }
  777.       if(kolize1 && !kolize2 && kolize3 && !kolize4)
  778.       {
  779.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 90)];
  780.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 90)]);
  781.       }
  782.    }
  783.    if(auto[cislo].s < 0)
  784.    {
  785.       if(!kolize1 && !kolize2 && kolize3 && kolize4)
  786.       {
  787.          auto[cislo].s = auto[cislo].s * -1 / 1.5;
  788.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2)];
  789.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2)]);
  790.       }
  791.       if(!kolize1 && !kolize2 && kolize3 && !kolize4)
  792.       {
  793.          auto[cislo].r += uhel_kolize * (- koeficient_rychlosti);
  794.          auto[cislo].s *= rychlost_kolize;
  795.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 90)];
  796.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 90)]);
  797.       }
  798.       if(!kolize1 && !kolize2 && !kolize3 && kolize4)
  799.       {
  800.          auto[cislo].r += uhel_kolize * (- koeficient_rychlosti);
  801.          auto[cislo].s *= rychlost_kolize;
  802.          auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 - 90)];
  803.          auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 - 90)]);
  804.       }
  805.    }
  806.    if(kolize1 || kolize2 || kolize3 || kolize4)
  807.    {
  808.       auto[cislo].r2 = auto[cislo].r;
  809.    }
  810.    if((kolize1 || kolize2 || kolize3 || kolize4) && cislo == 0)
  811.    {
  812.       sound_hit_start();
  813.    }
  814. }
  815. sintab = new Array();
  816. costab = new Array();
  817. i = 0;
  818. while(i < 360)
  819. {
  820.    cossin_rad = i * 3.141592653589793 / 180;
  821.    sintab[i] = Math.sin(cossin_rad);
  822.    costab[i] = Math.cos(cossin_rad);
  823.    i++;
  824. }
  825. fscommand("trapallkeys","true");
  826. auto = new Array();
  827. auto[0] = new Array();
  828. auto[0].x = 72;
  829. auto[0].y = 192;
  830. auto[0].r = 154;
  831. auto[0].r2 = 154;
  832. auto[0].r3 = 154;
  833. auto[0].s = 0;
  834. auto[0].s2 = 0;
  835. auto[0].i = auto1;
  836. auto[0].i1 = auto1;
  837. auto[0].i2 = auto1l2;
  838. auto[0].f = 0;
  839. auto[0].p = 0;
  840. auto[0].cpu = false;
  841. auto[0].newx = 0;
  842. auto[0].newy = 0;
  843. auto[0].newr = 0;
  844. auto[0].turbo = 100;
  845. auto[0].ta = false;
  846. auto[0].bod = 0;
  847. auto[0].timer = 0;
  848. auto[0].kolo = 0;
  849. auto[0].ukturbo = true;
  850. auto[0].uroven = 2;
  851. auto[0].vlevo = 37;
  852. auto[0].vpravo = 39;
  853. auto[0].plyn = 38;
  854. auto[0].brzda = 40;
  855. auto[0].nitro = 16;
  856. engine_volume = 70;
  857. odpocet_volume = 100;
  858. auto[0].zvuk_r1 = new Sound(auto[0].i);
  859. auto[0].zvuk_r1.attachSound("zvuk_r1");
  860. auto[0].zvuk_r1.setVolume(engine_volume);
  861. auto[0].zvuk_r2 = new Sound(auto[0].i);
  862. auto[0].zvuk_r2.attachSound("zvuk_r2");
  863. auto[0].zvuk_r2.setVolume(engine_volume);
  864. auto[0].zvuk_r3 = new Sound(auto[0].i);
  865. auto[0].zvuk_r3.attachSound("zvuk_r3");
  866. auto[0].zvuk_r3.setVolume(engine_volume);
  867. auto[0].zvuk_r4 = new Sound(auto[0].i);
  868. auto[0].zvuk_r4.attachSound("zvuk_r4");
  869. auto[0].zvuk_r4.setVolume(engine_volume);
  870. auto[0].zvuk_r5 = new Sound(auto[0].i);
  871. auto[0].zvuk_r5.attachSound("zvuk_r5");
  872. auto[0].zvuk_r5.setVolume(engine_volume);
  873. auto[0].zvuk_auta = 0;
  874. auto[0].zvuk_sm = new Sound(kolize);
  875. auto[0].zvuk_sm.attachSound("zvuk_smyku");
  876. auto[0].zvuk_sm.setVolume(engine_volume);
  877. auto[0].zvuk_smyk = 0;
  878. auto[0].zvuk_hit = new Sound(pisek);
  879. auto[0].zvuk_hit.attachSound("zvuk_hit");
  880. auto[0].zvuk_hit.setVolume(engine_volume);
  881. auto[0].zvuk_hit_playing = 0;
  882. auto[0].zvuk_odpocet1 = new Sound(odpocet);
  883. auto[0].zvuk_odpocet1.attachSound("zvuk_odpocet1");
  884. auto[0].zvuk_odpocet1.setVolume(odpocet_volume);
  885. auto[0].zvuk_odpocet2 = new Sound(odpocet);
  886. auto[0].zvuk_odpocet2.attachSound("zvuk_odpocet2");
  887. auto[0].zvuk_odpocet2.setVolume(odpocet_volume);
  888. auto[0].c = new Array();
  889. auto[0].c[0] = new Array(-4.8,-7.8,4.6,-7.8,-4.9,9.1,4.6,9.2);
  890. auto[1] = new Array();
  891. auto[1].x = 47;
  892. auto[1].y = 202;
  893. auto[1].r = 154;
  894. auto[1].r2 = 154;
  895. auto[1].r3 = 154;
  896. auto[1].s = 0;
  897. auto[1].s2 = 0;
  898. auto[1].i = auto2;
  899. auto[1].i1 = auto2;
  900. auto[1].i2 = auto2l2;
  901. auto[1].f = 0;
  902. auto[1].p = 0;
  903. auto[1].cpu = false;
  904. auto[1].newx = 0;
  905. auto[1].newy = 0;
  906. auto[1].newr = 0;
  907. auto[1].turbo = 100;
  908. auto[1].ta = false;
  909. auto[1].bod = 0;
  910. auto[1].timer = 0;
  911. auto[1].kolo = 0;
  912. auto[1].ukturbo = true;
  913. auto[1].uroven = 2;
  914. auto[1].vlevo = 65;
  915. auto[1].vpravo = 68;
  916. auto[1].plyn = 87;
  917. auto[1].brzda = 83;
  918. auto[1].nitro = 192;
  919. uhel_bodu1 = vypocitej_uhel_ze_souradnic(auto[0].c[0][0],auto[0].c[0][1]);
  920. uhel_bodu2 = vypocitej_uhel_ze_souradnic(auto[0].c[0][2],auto[0].c[0][3]);
  921. uhel_bodu3 = vypocitej_uhel_ze_souradnic(auto[0].c[0][4],auto[0].c[0][5]);
  922. uhel_bodu4 = vypocitej_uhel_ze_souradnic(auto[0].c[0][6],auto[0].c[0][7]);
  923. polomer_bodu1 = vypocitej_polomer_ze_souradnic(auto[0].c[0][0],auto[0].c[0][1]);
  924. polomer_bodu2 = vypocitej_polomer_ze_souradnic(auto[0].c[0][2],auto[0].c[0][3]);
  925. polomer_bodu3 = vypocitej_polomer_ze_souradnic(auto[0].c[0][4],auto[0].c[0][5]);
  926. polomer_bodu4 = vypocitej_polomer_ze_souradnic(auto[0].c[0][6],auto[0].c[0][7]);
  927. i = 1;
  928. while(i <= 359)
  929. {
  930.    auto[0].c[i] = new Array();
  931.    nove_souradnice1 = vypocitej_nove_souradnice(polomer_bodu1,uhel_bodu1 + i);
  932.    nove_souradnice2 = vypocitej_nove_souradnice(polomer_bodu2,uhel_bodu2 + i);
  933.    nove_souradnice3 = vypocitej_nove_souradnice(polomer_bodu3,uhel_bodu3 + i);
  934.    nove_souradnice4 = vypocitej_nove_souradnice(polomer_bodu4,uhel_bodu4 + i);
  935.    auto[0].c[i][0] = nove_souradnice1.x;
  936.    auto[0].c[i][1] = nove_souradnice1.y;
  937.    auto[0].c[i][2] = nove_souradnice2.x;
  938.    auto[0].c[i][3] = nove_souradnice2.y;
  939.    auto[0].c[i][4] = nove_souradnice3.x;
  940.    auto[0].c[i][5] = nove_souradnice3.y;
  941.    auto[0].c[i][6] = nove_souradnice4.x;
  942.    auto[0].c[i][7] = nove_souradnice4.y;
  943.    i++;
  944. }
  945. auto[1].c = auto[0].c;
  946. pocet_auticek = 2;
  947. start_action = false;
  948. pauza_aktivni = 0;
  949. zaverecne_menu_aktivni = false;
  950. ukazuje_se_posledni_kolo = false;
  951. if(typ_hry == 1)
  952. {
  953.    je_zobrazena_sipka_u_auta = true;
  954.    sipka_auto.gotoAndPlay(2);
  955. }
  956. if(!akcelerace)
  957. {
  958.    akcelerace = 0.1;
  959. }
  960. if(!akcelerace_pisek)
  961. {
  962.    akcelerace_pisek = 0.09;
  963. }
  964. if(!akcelerace_led)
  965. {
  966.    akcelerace_led = 0.07;
  967. }
  968. if(!zpomaleni)
  969. {
  970.    zpomaleni = 0.1;
  971. }
  972. if(!zpomaleni_pisek)
  973. {
  974.    zpomaleni_pisek = 0.1;
  975. }
  976. if(!zpomaleni_led)
  977. {
  978.    zpomaleni_led = 0.08;
  979. }
  980. if(!smyk)
  981. {
  982.    smyk = 0.13;
  983. }
  984. if(!smyk_speed)
  985. {
  986.    smyk_speed = 2.5;
  987. }
  988. if(!smyk_speed2)
  989. {
  990.    smyk_speed2 = 1;
  991. }
  992. if(!brzda)
  993. {
  994.    brzda = 0.3;
  995. }
  996. if(!brzda_pisek)
  997. {
  998.    brzda_pisek = 0.13;
  999. }
  1000. if(!brzda_led)
  1001. {
  1002.    brzda_led = 0.13;
  1003. }
  1004. if(!otaceni)
  1005. {
  1006.    otaceni = 5;
  1007. }
  1008. if(!otaceni2)
  1009. {
  1010.    otaceni2 = 4;
  1011. }
  1012. if(!otaceni2_pisek)
  1013. {
  1014.    otaceni2_pisek = 2.9;
  1015. }
  1016. if(!otaceni2_led)
  1017. {
  1018.    otaceni2_led = 2.4;
  1019. }
  1020. if(!maximalni_rychlost)
  1021. {
  1022.    maximalni_rychlost = 5.5;
  1023. }
  1024. if(!maximalni_rychlost_pisek)
  1025. {
  1026.    maximalni_rychlost_pisek = 5.5;
  1027. }
  1028. if(!maximalni_rychlost_led)
  1029. {
  1030.    maximalni_rychlost_led = 5.5;
  1031. }
  1032. if(!minimalni_rychlost)
  1033. {
  1034.    minimalni_rychlost = -3;
  1035. }
  1036. if(!minimalni_rychlost_pisek)
  1037. {
  1038.    minimalni_rychlost_pisek = -2.6;
  1039. }
  1040. if(!minimalni_rychlost_led)
  1041. {
  1042.    minimalni_rychlost_led = -3;
  1043. }
  1044. if(!uhel_kolize)
  1045. {
  1046.    uhel_kolize = 11;
  1047. }
  1048. if(!vzdalenost_kolize)
  1049. {
  1050.    vzdalenost_kolize = 2.2;
  1051. }
  1052. if(!min_vzdalenost_kolize)
  1053. {
  1054.    min_vzdalenost_kolize = 0.2;
  1055. }
  1056. if(!rychlost_kolize)
  1057. {
  1058.    rychlost_kolize = 0.6;
  1059. }
  1060. zmenseni_rychlosti_predane = 0.6;
  1061. zpomaleni_rychlosti_odrazu = 0.4;
  1062. odraz_pri_celnim_narazu = 0.2;
  1063. cpu_max_rozdil_uhlu = 25;
  1064. cpu_max_rychlost_pri_smyku = 3;
  1065. rychlost_turba = 3;
  1066. akcelerace_turba = 0.18;
  1067. maximalni_turbo = 100;
  1068. turbo_filling = 0.4;
  1069. turbo_using = 3;
  1070. vzdalenost_pro_zmenu_bodu = 32;
  1071. snizeni_max_rychlosti_cpu = -0.4;
  1072. pocet_kol = 8;
  1073. klavesa_zpet_do_menu = 27;
  1074. klavesa_pause = 80;
  1075. if(typ_hry == 1)
  1076. {
  1077.    auto[1].cpu = true;
  1078. }
  1079. cputrack = new Array();
  1080. max_cputrack = 40;
  1081. i = 0;
  1082. while(i <= max_cputrack)
  1083. {
  1084.    xova = Math.round(eval("cpubod" + i + "._x"));
  1085.    yova = Math.round(eval("cpubod" + i + "._y"));
  1086.    cputrack[i] = new Array();
  1087.    cputrack[i].x = xova;
  1088.    cputrack[i].y = yova;
  1089.    i++;
  1090. }
  1091. game_init();
  1092. i = 0;
  1093. while(i < pocet_auticek)
  1094. {
  1095.    place_car(i);
  1096.    i++;
  1097. }
  1098. stop();
  1099.