home *** CD-ROM | disk | FTP | other *** search
Text File | 2006-05-18 | 28.2 KB | 1,099 lines |
- function vypocitej_uhel_ze_souradnic(rozdil_x, rozdil_y)
- {
- if(rozdil_x == 0)
- {
- rozdil_x = 0.01;
- }
- if(rozdil_y == 0)
- {
- rozdil_y = 0.01;
- }
- vystup = Math.atan(rozdil_x / rozdil_y) * 180 / 3.141592653589793;
- if(rozdil_y < 0)
- {
- vystup = uhel(360 - vystup);
- }
- else
- {
- vystup = uhel(180 - vystup);
- }
- return vystup;
- }
- function vypocitej_polomer_ze_souradnic(rozdil_x, rozdil_y)
- {
- vystup = Math.sqrt(rozdil_x * rozdil_x + rozdil_y * rozdil_y);
- return vystup;
- }
- function vypocitej_nove_souradnice(polomer, vstupni_uhel)
- {
- vystup = new Array();
- vystup.x += polomer * sintab[uhel(vstupni_uhel)];
- vystup.y += polomer * (- costab[uhel(vstupni_uhel)]);
- return vystup;
- }
- function skryt_sipku_u_auta()
- {
- je_zobrazena_sipka_u_auta = false;
- sipka_auto.gotoAndStop(1);
- }
- function sound_updater()
- {
- if(typ_hry == 1 && maji_se_prehravat_zvuky)
- {
- if(auto[0].s < -2)
- {
- nove_cislo_zvuku = 3;
- }
- if(auto[0].s < 0 && auto[0].s >= -2)
- {
- nove_cislo_zvuku = 2;
- }
- if(auto[0].s == 0)
- {
- nove_cislo_zvuku = 1;
- }
- if(auto[0].s > 0 && auto[0].s <= 2)
- {
- nove_cislo_zvuku = 2;
- }
- if(auto[0].s > 2 && auto[0].s <= 4)
- {
- nove_cislo_zvuku = 3;
- }
- if(auto[0].s > 4 && auto[0].s <= 6)
- {
- nove_cislo_zvuku = 4;
- }
- if(auto[0].s > 6)
- {
- nove_cislo_zvuku = 5;
- }
- if(nove_cislo_zvuku != auto[0].zvuk_auta)
- {
- if(auto[0].zvuk_auta != 0)
- {
- if(auto[0].zvuk_auta == 1)
- {
- auto[0].zvuk_r1.stop();
- }
- if(auto[0].zvuk_auta == 2)
- {
- auto[0].zvuk_r2.stop();
- }
- if(auto[0].zvuk_auta == 3)
- {
- auto[0].zvuk_r3.stop();
- }
- if(auto[0].zvuk_auta == 4)
- {
- auto[0].zvuk_r4.stop();
- }
- if(auto[0].zvuk_auta == 5)
- {
- auto[0].zvuk_r5.stop();
- }
- }
- auto[0].zvuk_auta = nove_cislo_zvuku;
- if(nove_cislo_zvuku == 1)
- {
- auto[0].zvuk_r1.start(0,9999);
- }
- if(nove_cislo_zvuku == 2)
- {
- auto[0].zvuk_r2.start(0,9999);
- }
- if(nove_cislo_zvuku == 3)
- {
- auto[0].zvuk_r3.start(0,9999);
- }
- if(nove_cislo_zvuku == 4)
- {
- auto[0].zvuk_r4.start(0,9999);
- }
- if(nove_cislo_zvuku == 5)
- {
- auto[0].zvuk_r5.start(0,9999);
- }
- }
- if(pauza_aktivni)
- {
- if(auto[0].zvuk_auta == 1)
- {
- auto[0].zvuk_r1.stop();
- }
- if(auto[0].zvuk_auta == 2)
- {
- auto[0].zvuk_r2.stop();
- }
- if(auto[0].zvuk_auta == 3)
- {
- auto[0].zvuk_r3.stop();
- }
- if(auto[0].zvuk_auta == 4)
- {
- auto[0].zvuk_r4.stop();
- }
- if(auto[0].zvuk_auta == 5)
- {
- auto[0].zvuk_r5.stop();
- }
- auto[0].zvuk_auta = 0;
- }
- if(auto[0].zvuk_hit_playing > 0)
- {
- auto[0].zvuk_hit_playing--;
- }
- }
- }
- function sound_hit_start()
- {
- if(typ_hry == 1 && maji_se_prehravat_zvuky)
- {
- if(auto[0].zvuk_hit_playing == 0)
- {
- auto[0].zvuk_hit.start(0,1);
- auto[0].zvuk_hit_playing = 8;
- }
- }
- }
- function sound_odpocet1()
- {
- if(maji_se_prehravat_zvuky)
- {
- auto[0].zvuk_odpocet1.start(0,1);
- }
- }
- function sound_odpocet2()
- {
- if(maji_se_prehravat_zvuky)
- {
- auto[0].zvuk_odpocet2.start(0,1);
- }
- }
- function sound_smyk_start()
- {
- if(typ_hry == 1 && maji_se_prehravat_zvuky)
- {
- if(auto[0].zvuk_smyk == 0)
- {
- auto[0].zvuk_sm.start(0,9999);
- auto[0].zvuk_smyk = 6;
- }
- }
- }
- function sound_smyk_stop()
- {
- if(typ_hry == 1 && maji_se_prehravat_zvuky)
- {
- if(auto[0].zvuk_smyk > 1)
- {
- auto[0].zvuk_smyk--;
- }
- if(auto[0].zvuk_smyk == 1)
- {
- auto[0].zvuk_sm.stop();
- auto[0].zvuk_smyk = 0;
- }
- }
- }
- function sound_updater_stop()
- {
- if(auto[0].zvuk_auta == 1)
- {
- auto[0].zvuk_r1.stop();
- }
- if(auto[0].zvuk_auta == 2)
- {
- auto[0].zvuk_r2.stop();
- }
- if(auto[0].zvuk_auta == 3)
- {
- auto[0].zvuk_r3.stop();
- }
- if(auto[0].zvuk_auta == 4)
- {
- auto[0].zvuk_r4.stop();
- }
- if(auto[0].zvuk_auta == 5)
- {
- auto[0].zvuk_r5.stop();
- }
- if(auto[0].zvuk_smyk == 1)
- {
- auto[0].zvuk_sm.stop();
- }
- }
- function show_pauza()
- {
- pauza.gotoAndStop(2);
- }
- function hide_pauza()
- {
- pauza.gotoAndStop(1);
- }
- function ukaz_posledni_kolo(vstup)
- {
- if(vstup == pocet_kol - 1 && !ukazuje_se_posledni_kolo)
- {
- lastlap.gotoAndPlay(2);
- ukazuje_se_posledni_kolo = true;
- }
- if(vstup == pocet_kol && ukazuje_se_posledni_kolo)
- {
- lastlap.gotoAndStop(1);
- ukazuje_se_posledni_kolo = false;
- }
- }
- function skryj_posledni_kolo()
- {
- lastlap.gotoAndStop(1);
- ukazuje_se_posledni_kolo = false;
- }
- function show_turbo(cislo)
- {
- if(cislo == 0)
- {
- turbo_hrac1.gotoAndPlay(2);
- }
- else
- {
- turbo_hrac2.gotoAndPlay(2);
- }
- auto[cislo].ukturbo = true;
- }
- function hide_turbo(cislo)
- {
- if(cislo == 0)
- {
- turbo_hrac1.gotoAndPlay(10);
- }
- else
- {
- turbo_hrac2.gotoAndPlay(10);
- }
- auto[cislo].ukturbo = false;
- }
- function set_kola(cislo, hodnota)
- {
- hodnota = Math.floor(hodnota) + 1;
- if(hodnota > pocet_kol)
- {
- hodnota = pocet_kol;
- }
- if(cislo == 0)
- {
- kola1.cislo_kola.gotoAndStop(hodnota);
- }
- else
- {
- kola2.cislo_kola.gotoAndStop(hodnota);
- }
- }
- function set_kola_cas(hodnota_kola, hodnota_cas)
- {
- hodnota_kola = Math.floor(hodnota_kola) + 1;
- if(hodnota_kola > pocet_kol)
- {
- hodnota_kola = pocet_kol;
- }
- kola_cas.cislo_kola.gotoAndStop(hodnota_kola);
- ukaz_minuty = Math.floor(hodnota_cas / 25 / 60);
- ukaz_sekundy = Math.floor(hodnota_cas / 25 - ukaz_minuty * 60);
- hodnota_cislo1 = Math.floor(ukaz_minuty / 10);
- hodnota_cislo2 = ukaz_minuty - hodnota_cislo1 * 10;
- hodnota_cislo1++;
- hodnota_cislo2++;
- kola_cas.cislo1.gotoAndStop(hodnota_cislo1);
- kola_cas.cislo2.gotoAndStop(hodnota_cislo2);
- hodnota_cislo3 = Math.floor(ukaz_sekundy / 10);
- hodnota_cislo4 = ukaz_sekundy - hodnota_cislo3 * 10;
- hodnota_cislo3++;
- hodnota_cislo4++;
- kola_cas.cislo3.gotoAndStop(hodnota_cislo3);
- kola_cas.cislo4.gotoAndStop(hodnota_cislo4);
- }
- function set_turbo(cislo, hodnota)
- {
- if(cislo == 0)
- {
- panel_speed1.ukazatel_turbo1._xscale = Math.abs(hodnota);
- }
- else
- {
- panel_speed2.ukazatel_turbo2._xscale = Math.abs(hodnota);
- }
- }
- function set_speed(cislo, hodnota)
- {
- if(cislo == 0)
- {
- panel_speed1.ukazatel_rychlost1._xscale = Math.abs(hodnota);
- }
- else
- {
- panel_speed2.ukazatel_rychlost2._xscale = Math.abs(hodnota);
- }
- }
- function game_init()
- {
- if(typ_hry == 1)
- {
- panel_speed1.gotoAndStop(2);
- show_turbo(0);
- kola_cas.gotoAndStop(2);
- set_speed(0,0);
- }
- else
- {
- panel_speed1.gotoAndStop(2);
- panel_speed2.gotoAndStop(2);
- kola1.gotoAndStop(2);
- kola2.gotoAndStop(2);
- show_turbo(0);
- show_turbo(1);
- set_speed(0,0);
- set_speed(1,0);
- }
- }
- function nastartuj()
- {
- start_action = true;
- gotoAndPlay(13);
- }
- function ingame_menu(vitez, vitezny_cas)
- {
- skryj_posledni_kolo();
- zaverecne_menu_aktivni = true;
- sound_updater_stop();
- if(typ_hry == 1)
- {
- if(vitez == 0)
- {
- endmenu.gotoAndStop(3);
- }
- else
- {
- endmenu.gotoAndStop(2);
- }
- }
- else if(vitez == 0)
- {
- endmenu.gotoAndStop(4);
- }
- else
- {
- endmenu.gotoAndStop(5);
- }
- }
- function hide_ingame_menu()
- {
- endmenu.gotoAndStop(1);
- }
- function restartovat()
- {
- hide_ingame_menu();
- sound_updater_stop();
- gotoAndPlay(12);
- }
- function zpet_do_main_menu()
- {
- hide_ingame_menu();
- sound_updater_stop();
- gotoAndPlay(11);
- }
- function dalsi_level()
- {
- hide_ingame_menu();
- sound_updater_stop();
- gotoAndStop(15);
- }
- function uhel(cislo)
- {
- cislo = Math.round(cislo);
- while(cislo > 359)
- {
- cislo -= 360;
- }
- while(cislo < 0)
- {
- cislo += 360;
- }
- return cislo;
- }
- function soucet_uhlu(uhel1, uhel2, rychlost1, rychlost2)
- {
- uhel1 = uhel(uhel1);
- uhel2 = uhel(uhel2);
- if(Math.abs(uhel1 - uhel2) > 180)
- {
- if(uhel2 < 180)
- {
- uhel2 += 360;
- }
- else
- {
- uhel -= 360;
- }
- }
- if(rychlost2 > 0)
- {
- vystup = uhel1 - (uhel1 - uhel2) * (1 / ((rychlost1 + rychlost2) / rychlost2));
- }
- else
- {
- vystup = uhel1;
- }
- return vystup;
- }
- function vyber_nejvyssi_cislo(cislo1, cislo2, cislo3, max_cislo)
- {
- vystup = cislo1 <= cislo2 ? cislo2 : cislo1;
- vystup = cislo3 <= vystup ? vystup : cislo3;
- if((cislo1 == 0 || cislo2 == 0 || cislo3 == 0) && (cislo1 == max_cislo || cislo2 == max_cislo || cislo3 == max_cislo))
- {
- vystup = 0;
- if(cislo1 < max_cislo - 1)
- {
- vystup = cislo1;
- }
- if(cislo2 < max_cislo - 1 && cislo2 > vystup)
- {
- vystup = cislo2;
- }
- if(cislo3 < max_cislo - 1 && cislo3 > vystup)
- {
- vystup = cislo3;
- }
- }
- return vystup;
- }
- function spocitej_novou_pozici(cislo)
- {
- rozdil_x = Math.abs(cputrack[auto[cislo].bod].x - auto[cislo].x);
- rozdil_y = Math.abs(cputrack[auto[cislo].bod].y - auto[cislo].y);
- vzdalenost_bodu = Math.sqrt(rozdil_x * rozdil_x + rozdil_y * rozdil_y);
- if(vzdalenost_bodu < vzdalenost_pro_zmenu_bodu)
- {
- auto[cislo].bod++;
- }
- if(auto[cislo].bod > max_cputrack)
- {
- auto[cislo].bod = 0;
- }
- auto[cislo].newx = cputrack[auto[cislo].bod].x;
- auto[cislo].newy = cputrack[auto[cislo].bod].y;
- rozdil_x = auto[cislo].newx - auto[cislo].x;
- rozdil_y = auto[cislo].newy - auto[cislo].y;
- if(rozdil_x == 0)
- {
- rozdil_x = 0.1;
- }
- if(rozdil_y == 0)
- {
- rozdil_y = 0.1;
- }
- auto[cislo].newr = Math.atan(rozdil_x / rozdil_y) * 180 / 3.141592653589793;
- if(rozdil_y < 0)
- {
- auto[cislo].newr = uhel(360 - auto[cislo].newr);
- }
- else
- {
- auto[cislo].newr = uhel(180 - auto[cislo].newr);
- }
- rozdil_uhlu2 = Math.abs(uhel(auto[cislo].r) - auto[cislo].newr);
- if(rozdil_uhlu2 > 180)
- {
- if(uhel(auto[cislo].r) > 179)
- {
- auto[cislo].newr += 360;
- }
- else
- {
- auto[cislo].newr -= 360;
- }
- }
- }
- function urovne_init()
- {
- i = 0;
- while(i <= 1)
- {
- if(auto[i].uroven == 1 || auto[i].uroven == 2)
- {
- auto[i].i = auto[i].i1;
- auto[i].i.gotoAndStop(2);
- auto[i].i2.gotoAndStop(1);
- }
- else
- {
- auto[i].i = auto[i].i2;
- auto[i].i.gotoAndStop(2);
- auto[i].i1.gotoAndStop(1);
- }
- i++;
- }
- }
- function place_car(cislo)
- {
- if(auto[cislo].uroven == 1 || auto[cislo].uroven == 2)
- {
- if(auto[cislo].i != auto[cislo].i1)
- {
- auto[cislo].i = auto[cislo].i1;
- auto[cislo].i.gotoAndStop(2);
- auto[cislo].i2.gotoAndStop(1);
- }
- }
- else if(auto[cislo].i != auto[cislo].i2)
- {
- auto[cislo].i = auto[cislo].i2;
- auto[cislo].i.gotoAndStop(2);
- auto[cislo].i1.gotoAndStop(1);
- }
- auto[cislo].i._x = auto[cislo].x;
- auto[cislo].i._y = auto[cislo].y;
- auto[cislo].f = uhel(auto[cislo].r);
- auto[cislo].i._rotation = auto[cislo].f;
- }
- function calculate_car(cislo)
- {
- auto[cislo].p = 0;
- if(pisek.hitTest(auto[cislo].x,auto[cislo].y,true))
- {
- auto[cislo].p = 1;
- }
- if(led.hitTest(auto[cislo].x,auto[cislo].y,true))
- {
- auto[cislo].p = 2;
- }
- zbytek_za_carkou = auto[cislo].kolo - Math.floor(auto[cislo].kolo);
- if(zbytek_za_carkou > 0)
- {
- kolize_finish = finish.hitTest(auto[cislo].x,auto[cislo].y,true);
- if(kolize_finish)
- {
- auto[cislo].kolo += 0.5;
- }
- }
- else
- {
- kolize_halftrack = halftrack.hitTest(auto[cislo].x,auto[cislo].y,true);
- if(kolize_halftrack)
- {
- auto[cislo].kolo += 0.5;
- }
- }
- if(auto[cislo].uroven == 1 || auto[cislo].uroven == 3)
- {
- kolize_limiter = limiter1.hitTest(auto[cislo].x,auto[cislo].y,true);
- if(kolize_limiter)
- {
- auto[cislo].uroven = 2;
- }
- }
- else
- {
- kolize_limiter = limiter2.hitTest(auto[cislo].x,auto[cislo].y,true);
- if(kolize_limiter)
- {
- auto[cislo].uroven = 3;
- }
- }
- otaceni2_povrch = otaceni2;
- if(auto[cislo].p == 1)
- {
- otaceni2_povrch = otaceni2_pisek;
- }
- if(auto[cislo].p == 2)
- {
- otaceni2_povrch = otaceni2_led;
- }
- maximalni_rychlost_povrch = maximalni_rychlost;
- if(_root.auto[cislo].p == 1)
- {
- maximalni_rychlost_povrch = maximalni_rychlost_pisek;
- }
- if(_root.auto[cislo].p == 2)
- {
- maximalni_rychlost_povrch = maximalni_rychlost_led;
- }
- if(Math.abs(auto[cislo].r - auto[cislo].r2) < otaceni2_povrch)
- {
- auto[cislo].r2 = auto[cislo].r;
- }
- if(Math.abs(auto[cislo].r - auto[cislo].r2) > otaceni2_povrch * 3 && auto[cislo].s > smyk_speed)
- {
- auto[cislo].s -= smyk;
- }
- if(Math.abs(auto[cislo].r - auto[cislo].r2) > otaceni2_povrch * 5 && auto[cislo].s > smyk_speed2 && cislo == 0)
- {
- sound_smyk_start();
- }
- if((Math.abs(auto[cislo].r - auto[cislo].r2) <= otaceni2_povrch * 5 || auto[cislo].s <= smyk_speed2) && cislo == 0)
- {
- sound_smyk_stop();
- }
- if(auto[cislo].r > auto[cislo].r2)
- {
- auto[cislo].r2 += otaceni2_povrch;
- }
- if(auto[cislo].r < auto[cislo].r2)
- {
- auto[cislo].r2 -= otaceni2_povrch;
- }
- if(auto[cislo].uroven <= 2)
- {
- kolize1 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][0],auto[cislo].y + auto[cislo].c[auto[cislo].f][1],true);
- kolize2 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][2],auto[cislo].y + auto[cislo].c[auto[cislo].f][3],true);
- kolize3 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][4],auto[cislo].y + auto[cislo].c[auto[cislo].f][5],true);
- kolize4 = kolize.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][6],auto[cislo].y + auto[cislo].c[auto[cislo].f][7],true);
- }
- else
- {
- kolize1 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][0],auto[cislo].y + auto[cislo].c[auto[cislo].f][1],true);
- kolize2 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][2],auto[cislo].y + auto[cislo].c[auto[cislo].f][3],true);
- kolize3 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][4],auto[cislo].y + auto[cislo].c[auto[cislo].f][5],true);
- kolize4 = kolizelevel2.hitTest(auto[cislo].x + auto[cislo].c[auto[cislo].f][6],auto[cislo].y + auto[cislo].c[auto[cislo].f][7],true);
- }
- if(kolize1 || kolize2 || kolize3 || kolize4)
- {
- rychlost_posunu = auto[cislo].s;
- uhel_posunu = auto[cislo].r2;
- }
- else
- {
- rychlost_posunu = auto[cislo].s <= auto[cislo].s2 ? auto[cislo].s2 : auto[cislo].s;
- if(auto[cislo].s < 0)
- {
- rychlost_posunu = auto[cislo].s;
- }
- uhel_bezneho_pohybu = uhel(auto[cislo].r2);
- uhel_narazu = uhel(auto[cislo].r3);
- rozdil_uhlu = Math.abs(uhel_bezneho_pohybu - uhel_narazu);
- if(rozdil_uhlu > 180)
- {
- if(uhel_bezneho_pohybu > 179)
- {
- uhel_narazu += 360;
- }
- else
- {
- uhel_narazu -= 360;
- }
- }
- if(auto[cislo].s2 > 0)
- {
- uhel_posunu = uhel_bezneho_pohybu - (uhel_bezneho_pohybu - uhel_narazu) * (1 / ((auto[cislo].s + auto[cislo].s2) / auto[cislo].s2));
- }
- else
- {
- uhel_posunu = auto[cislo].r2;
- }
- }
- auto[cislo].x += rychlost_posunu * sintab[uhel(uhel_posunu)];
- auto[cislo].y += rychlost_posunu * (- costab[uhel(uhel_posunu)]);
- if(auto[cislo].s2 > 0)
- {
- auto[cislo].s2 -= zpomaleni_rychlosti_odrazu;
- }
- if(auto[cislo].s2 < 0)
- {
- auto[cislo].s2 = 0;
- }
- if(cislo == 0 && auto[0].uroven == auto[1].uroven)
- {
- 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);
- 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);
- 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);
- 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);
- kolize1 = kolize1 || kolize1a;
- kolize2 = kolize2 || kolize2a;
- kolize3 = kolize3 || kolize3a;
- kolize4 = kolize4 || kolize4a;
- }
- if(cislo == 1 && auto[0].uroven == auto[1].uroven)
- {
- 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);
- 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);
- 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);
- 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);
- kolize1 = kolize1 || kolize1a;
- kolize2 = kolize2 || kolize2a;
- kolize3 = kolize3 || kolize3a;
- kolize4 = kolize4 || kolize4a;
- }
- rychlost_predana_autem = Math.abs(auto[cislo].s * zmenseni_rychlosti_predane);
- cislo_posouvaneho_auta = cislo != 0 ? 0 : 1;
- if(auto[cislo].s > 0 && (kolize1a || kolize2a))
- {
- auto[cislo_posouvaneho_auta].s2 = rychlost_predana_autem;
- auto[cislo_posouvaneho_auta].r3 = auto[cislo].r2;
- }
- if(auto[cislo].s < 0 && (kolize3a || kolize4a))
- {
- auto[cislo_posouvaneho_auta].s2 = rychlost_predana_autem;
- auto[cislo_posouvaneho_auta].r3 = auto[cislo].r2 - 180;
- }
- koeficient_rychlosti = Math.abs(rychlost_posunu) / maximalni_rychlost_povrch;
- rychlost_odrazeni = koeficient_rychlosti * vzdalenost_kolize;
- if(rychlost_odrazeni < min_vzdalenost_kolize)
- {
- rychlost_odrazeni = min_vzdalenost_kolize;
- }
- if(auto[cislo].s >= 0)
- {
- if(kolize1 && kolize2 && !kolize3 && !kolize4)
- {
- auto[cislo].s = auto[cislo].s * -1 * odraz_pri_celnim_narazu;
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 180)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 180)]);
- }
- if(kolize1 && !kolize2 && !kolize3 && !kolize4)
- {
- auto[cislo].r += uhel_kolize * koeficient_rychlosti;
- auto[cislo].s *= rychlost_kolize;
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 90)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 90)]);
- }
- if(!kolize1 && kolize2 && !kolize3 && !kolize4)
- {
- auto[cislo].r -= uhel_kolize * koeficient_rychlosti;
- auto[cislo].s *= rychlost_kolize;
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 - 90)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 - 90)]);
- }
- if(!kolize1 && !kolize2 && kolize3 && !kolize4)
- {
- }
- if(!kolize1 && !kolize2 && !kolize3 && kolize4)
- {
- }
- if(!kolize1 && kolize2 && !kolize3 && kolize4)
- {
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 - 90)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 - 90)]);
- }
- if(kolize1 && !kolize2 && kolize3 && !kolize4)
- {
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 90)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 90)]);
- }
- }
- if(auto[cislo].s < 0)
- {
- if(!kolize1 && !kolize2 && kolize3 && kolize4)
- {
- auto[cislo].s = auto[cislo].s * -1 / 1.5;
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2)]);
- }
- if(!kolize1 && !kolize2 && kolize3 && !kolize4)
- {
- auto[cislo].r += uhel_kolize * (- koeficient_rychlosti);
- auto[cislo].s *= rychlost_kolize;
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 + 90)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 + 90)]);
- }
- if(!kolize1 && !kolize2 && !kolize3 && kolize4)
- {
- auto[cislo].r += uhel_kolize * (- koeficient_rychlosti);
- auto[cislo].s *= rychlost_kolize;
- auto[cislo].x += rychlost_odrazeni * sintab[uhel(auto[cislo].r2 - 90)];
- auto[cislo].y += rychlost_odrazeni * (- costab[uhel(auto[cislo].r2 - 90)]);
- }
- }
- if(kolize1 || kolize2 || kolize3 || kolize4)
- {
- auto[cislo].r2 = auto[cislo].r;
- }
- if((kolize1 || kolize2 || kolize3 || kolize4) && cislo == 0)
- {
- sound_hit_start();
- }
- }
- sintab = new Array();
- costab = new Array();
- i = 0;
- while(i < 360)
- {
- cossin_rad = i * 3.141592653589793 / 180;
- sintab[i] = Math.sin(cossin_rad);
- costab[i] = Math.cos(cossin_rad);
- i++;
- }
- fscommand("trapallkeys","true");
- auto = new Array();
- auto[0] = new Array();
- auto[0].x = 72;
- auto[0].y = 192;
- auto[0].r = 154;
- auto[0].r2 = 154;
- auto[0].r3 = 154;
- auto[0].s = 0;
- auto[0].s2 = 0;
- auto[0].i = auto1;
- auto[0].i1 = auto1;
- auto[0].i2 = auto1l2;
- auto[0].f = 0;
- auto[0].p = 0;
- auto[0].cpu = false;
- auto[0].newx = 0;
- auto[0].newy = 0;
- auto[0].newr = 0;
- auto[0].turbo = 100;
- auto[0].ta = false;
- auto[0].bod = 0;
- auto[0].timer = 0;
- auto[0].kolo = 0;
- auto[0].ukturbo = true;
- auto[0].uroven = 2;
- auto[0].vlevo = 37;
- auto[0].vpravo = 39;
- auto[0].plyn = 38;
- auto[0].brzda = 40;
- auto[0].nitro = 16;
- engine_volume = 70;
- odpocet_volume = 100;
- auto[0].zvuk_r1 = new Sound(auto[0].i);
- auto[0].zvuk_r1.attachSound("zvuk_r1");
- auto[0].zvuk_r1.setVolume(engine_volume);
- auto[0].zvuk_r2 = new Sound(auto[0].i);
- auto[0].zvuk_r2.attachSound("zvuk_r2");
- auto[0].zvuk_r2.setVolume(engine_volume);
- auto[0].zvuk_r3 = new Sound(auto[0].i);
- auto[0].zvuk_r3.attachSound("zvuk_r3");
- auto[0].zvuk_r3.setVolume(engine_volume);
- auto[0].zvuk_r4 = new Sound(auto[0].i);
- auto[0].zvuk_r4.attachSound("zvuk_r4");
- auto[0].zvuk_r4.setVolume(engine_volume);
- auto[0].zvuk_r5 = new Sound(auto[0].i);
- auto[0].zvuk_r5.attachSound("zvuk_r5");
- auto[0].zvuk_r5.setVolume(engine_volume);
- auto[0].zvuk_auta = 0;
- auto[0].zvuk_sm = new Sound(kolize);
- auto[0].zvuk_sm.attachSound("zvuk_smyku");
- auto[0].zvuk_sm.setVolume(engine_volume);
- auto[0].zvuk_smyk = 0;
- auto[0].zvuk_hit = new Sound(pisek);
- auto[0].zvuk_hit.attachSound("zvuk_hit");
- auto[0].zvuk_hit.setVolume(engine_volume);
- auto[0].zvuk_hit_playing = 0;
- auto[0].zvuk_odpocet1 = new Sound(odpocet);
- auto[0].zvuk_odpocet1.attachSound("zvuk_odpocet1");
- auto[0].zvuk_odpocet1.setVolume(odpocet_volume);
- auto[0].zvuk_odpocet2 = new Sound(odpocet);
- auto[0].zvuk_odpocet2.attachSound("zvuk_odpocet2");
- auto[0].zvuk_odpocet2.setVolume(odpocet_volume);
- auto[0].c = new Array();
- auto[0].c[0] = new Array(-4.8,-7.8,4.6,-7.8,-4.9,9.1,4.6,9.2);
- auto[1] = new Array();
- auto[1].x = 47;
- auto[1].y = 202;
- auto[1].r = 154;
- auto[1].r2 = 154;
- auto[1].r3 = 154;
- auto[1].s = 0;
- auto[1].s2 = 0;
- auto[1].i = auto2;
- auto[1].i1 = auto2;
- auto[1].i2 = auto2l2;
- auto[1].f = 0;
- auto[1].p = 0;
- auto[1].cpu = false;
- auto[1].newx = 0;
- auto[1].newy = 0;
- auto[1].newr = 0;
- auto[1].turbo = 100;
- auto[1].ta = false;
- auto[1].bod = 0;
- auto[1].timer = 0;
- auto[1].kolo = 0;
- auto[1].ukturbo = true;
- auto[1].uroven = 2;
- auto[1].vlevo = 65;
- auto[1].vpravo = 68;
- auto[1].plyn = 87;
- auto[1].brzda = 83;
- auto[1].nitro = 192;
- uhel_bodu1 = vypocitej_uhel_ze_souradnic(auto[0].c[0][0],auto[0].c[0][1]);
- uhel_bodu2 = vypocitej_uhel_ze_souradnic(auto[0].c[0][2],auto[0].c[0][3]);
- uhel_bodu3 = vypocitej_uhel_ze_souradnic(auto[0].c[0][4],auto[0].c[0][5]);
- uhel_bodu4 = vypocitej_uhel_ze_souradnic(auto[0].c[0][6],auto[0].c[0][7]);
- polomer_bodu1 = vypocitej_polomer_ze_souradnic(auto[0].c[0][0],auto[0].c[0][1]);
- polomer_bodu2 = vypocitej_polomer_ze_souradnic(auto[0].c[0][2],auto[0].c[0][3]);
- polomer_bodu3 = vypocitej_polomer_ze_souradnic(auto[0].c[0][4],auto[0].c[0][5]);
- polomer_bodu4 = vypocitej_polomer_ze_souradnic(auto[0].c[0][6],auto[0].c[0][7]);
- i = 1;
- while(i <= 359)
- {
- auto[0].c[i] = new Array();
- nove_souradnice1 = vypocitej_nove_souradnice(polomer_bodu1,uhel_bodu1 + i);
- nove_souradnice2 = vypocitej_nove_souradnice(polomer_bodu2,uhel_bodu2 + i);
- nove_souradnice3 = vypocitej_nove_souradnice(polomer_bodu3,uhel_bodu3 + i);
- nove_souradnice4 = vypocitej_nove_souradnice(polomer_bodu4,uhel_bodu4 + i);
- auto[0].c[i][0] = nove_souradnice1.x;
- auto[0].c[i][1] = nove_souradnice1.y;
- auto[0].c[i][2] = nove_souradnice2.x;
- auto[0].c[i][3] = nove_souradnice2.y;
- auto[0].c[i][4] = nove_souradnice3.x;
- auto[0].c[i][5] = nove_souradnice3.y;
- auto[0].c[i][6] = nove_souradnice4.x;
- auto[0].c[i][7] = nove_souradnice4.y;
- i++;
- }
- auto[1].c = auto[0].c;
- pocet_auticek = 2;
- start_action = false;
- pauza_aktivni = 0;
- zaverecne_menu_aktivni = false;
- ukazuje_se_posledni_kolo = false;
- if(typ_hry == 1)
- {
- je_zobrazena_sipka_u_auta = true;
- sipka_auto.gotoAndPlay(2);
- }
- if(!akcelerace)
- {
- akcelerace = 0.1;
- }
- if(!akcelerace_pisek)
- {
- akcelerace_pisek = 0.09;
- }
- if(!akcelerace_led)
- {
- akcelerace_led = 0.07;
- }
- if(!zpomaleni)
- {
- zpomaleni = 0.1;
- }
- if(!zpomaleni_pisek)
- {
- zpomaleni_pisek = 0.1;
- }
- if(!zpomaleni_led)
- {
- zpomaleni_led = 0.08;
- }
- if(!smyk)
- {
- smyk = 0.13;
- }
- if(!smyk_speed)
- {
- smyk_speed = 2.5;
- }
- if(!smyk_speed2)
- {
- smyk_speed2 = 1;
- }
- if(!brzda)
- {
- brzda = 0.3;
- }
- if(!brzda_pisek)
- {
- brzda_pisek = 0.13;
- }
- if(!brzda_led)
- {
- brzda_led = 0.13;
- }
- if(!otaceni)
- {
- otaceni = 5;
- }
- if(!otaceni2)
- {
- otaceni2 = 4;
- }
- if(!otaceni2_pisek)
- {
- otaceni2_pisek = 2.9;
- }
- if(!otaceni2_led)
- {
- otaceni2_led = 2.4;
- }
- if(!maximalni_rychlost)
- {
- maximalni_rychlost = 5.5;
- }
- if(!maximalni_rychlost_pisek)
- {
- maximalni_rychlost_pisek = 5.5;
- }
- if(!maximalni_rychlost_led)
- {
- maximalni_rychlost_led = 5.5;
- }
- if(!minimalni_rychlost)
- {
- minimalni_rychlost = -3;
- }
- if(!minimalni_rychlost_pisek)
- {
- minimalni_rychlost_pisek = -2.6;
- }
- if(!minimalni_rychlost_led)
- {
- minimalni_rychlost_led = -3;
- }
- if(!uhel_kolize)
- {
- uhel_kolize = 11;
- }
- if(!vzdalenost_kolize)
- {
- vzdalenost_kolize = 2.2;
- }
- if(!min_vzdalenost_kolize)
- {
- min_vzdalenost_kolize = 0.2;
- }
- if(!rychlost_kolize)
- {
- rychlost_kolize = 0.6;
- }
- zmenseni_rychlosti_predane = 0.6;
- zpomaleni_rychlosti_odrazu = 0.4;
- odraz_pri_celnim_narazu = 0.2;
- cpu_max_rozdil_uhlu = 25;
- cpu_max_rychlost_pri_smyku = 3;
- rychlost_turba = 3;
- akcelerace_turba = 0.18;
- maximalni_turbo = 100;
- turbo_filling = 0.4;
- turbo_using = 3;
- vzdalenost_pro_zmenu_bodu = 32;
- snizeni_max_rychlosti_cpu = -0.4;
- pocet_kol = 8;
- klavesa_zpet_do_menu = 27;
- klavesa_pause = 80;
- if(typ_hry == 1)
- {
- auto[1].cpu = true;
- }
- cputrack = new Array();
- max_cputrack = 40;
- i = 0;
- while(i <= max_cputrack)
- {
- xova = Math.round(eval("cpubod" + i + "._x"));
- yova = Math.round(eval("cpubod" + i + "._y"));
- cputrack[i] = new Array();
- cputrack[i].x = xova;
- cputrack[i].y = yova;
- i++;
- }
- game_init();
- i = 0;
- while(i < pocet_auticek)
- {
- place_car(i);
- i++;
- }
- stop();
-