|
||||||
|
|
|
|
|
ÊÏ. 2203. 04. 35. ÏÇ |
Ëèñò |
|
|
|
|
|
15 |
|
Èçì |
Ëèñò |
¹ äîêóì |
Ïîäï. |
Äàòà |
ïðèëîæåíèå
Ñîáûòèå òàéìåðà:
procedure FNTimeCallBack(uTimerID, uMessage: UINT;dwUser, dw1, dw2: DWORD) stdcall;
var
word:DWORD;
begin
Inc(CountTickTimer);
if (((PressedKey[19]=true)or
(PressedKey[80]=true))and(CountTickTimer>100))and(CountFuel>0) then
if(not Pause) then begin
Pause:=true;
CountTickTimer:=0;
end
else
begin
Pause:=false;
CountTickTimer:=0;
end;
if not Pause then begin
if Selected_Menu_item='Start' then //Íàæàòà êëàâèøà Start
begin
if SpeedGL.MediaPlayer1.FileName<>'Sound\Race.mp3' then begin
SpeedGL.MediaPlayer1.FileName:='Sound\Race.mp3';
SpeedGL.MediaPlayer1.Open;
SpeedGL.MediaPlayer1.Play;
end;
if (PressedKey[27]=true)and(CountTickTimer>100) then
begin
Selected_Menu_item:='';
SpeedGL.MediaPlayer1.Stop;
SpeedGL.MediaPlayer1.Close;
SpeedGL.MediaPlayer1.FileName:='';
Menu_item:=2;
CountTickTimer:=0;
Speed:=0.0;
sound:=false;
CountFuel:=8;
CountKM:=0;
end;
//òîðìîæåíèå
if PressedKey[40]=true then
begin
Speed:=Speed+0.00002;
GasDeley:=1;
end;
if (CountFuel>0)and(CountKM<20) then if PressedKey[38]=true then Speed:=Speed-0.000005;//ðàçãîí
if (PressedKey[39]=true)and(Speed<-0.00001) then X_KordCar:=X_KordCar+0.00005-Speed/5;//ïîâîðîò âïðàâî ñ ó÷¸òîì ñêîðîñòè
if (PressedKey[37]=true)and(Speed<-0.00001) then X_KordCar:=X_KordCar-0.00005+Speed/5;//ïîâîðîò âëåâî ñ ó÷¸òîì ñêîðîñòè
if (PressedKey[40]=False)and(PressedKey[38]=False) then begin Speed:=Speed+0.000003; GasDeley:=1; end;//òîðìîæåíèå èíåðöèåé
if Speed>0 then Speed:=0;//ñêîðîñòü òîðìîæåíèÿ
//////////////////////////////////////////////////////////
if (Gas)and(CountFuel<>0) then
begin
GasDeley:=GasDeley+0.0005;
if GasDeley>=1 then Speed:=Speed+0.00005 else Speed:=-0.025;
if Speed>-0.01 then
begin
Speed:=-0.01;
Gas:=false;
GasDeley:=1;
end;
end
else
if Speed<-0.01 then Speed:=-0.01;//îãðàíè÷åíèå ñêîðîñòè
//////////////////////////////////////////////////////////
Y_Kord:=Y_Kord+Speed;//íàðàùèâàíèå ñêîðîñòè
if EnymiGoToWay then begin
Y_Enymi:=Y_Enymi+Speed+0.0085;
X_Enymi:=X_Enymi+(0.001*LR);
if X_Enymi>=Right_death_dot then LR:=-1;
if X_Enymi<=Left_death_dot then LR:=1;
if (Y_Enymi>1.2)or(Y_Enymi<-1.2)then EnymiGoToWay:=false;
end;
if FuelGoToWay then
Y_KordFuel:=Y_KordFuel+Speed; //Ïåðåìåùåíèå ýëåìåíòîâ
if (Speed<>0)and(Speed<-0.00002)and(CountFuel>0) then
CountFuel:=CountFuel+MinusFuel/(Speed*50); //Óìåíüøåíèå òîïëèâà
if (CountFuel<=0)or(CountKM>=20) then begin Gas:=false; GasDeley:=1; Speed:=Speed+0.000003; end;
if (Speed<-0.005)and(MinusFuel=0.00002) then MinusFuel:=MinusFuel*10 else
if MinusFuel=0.0002 then MinusFuel:=MinusFuel/10;
if Y_Kord<=-2.0 then Y_Kord:=0;//ïåðåñòàíîâêà êàäðîâ
if X_KordCar>=Right_death_dot then
begin
X_KordCar:=Right_death_dot;//îãðàíè÷åíèå ñïðàâà
if Speed<-0.001 then begin Speed:=Speed+0.00002; GasDeley:=1; end;//Óìåíüøåíèå ñêîðîñòè ïðè ïðèêîñíîâåíèè ê áàðäþðó ñïðàâàï
end;
if X_KordCar<=Left_death_dot then
begin
X_KordCar:=Left_death_dot;//îãðàíè÷åíèå ñëåâà
if Speed<-0.001 then begin Speed:=Speed+0.00002; GasDeley:=1; end;//Óìåíüøåíèå ñêîðîñòè ïðè ïðèêîñíîâåíèè ê áàðäþðó ñëåâà
end;
end;
end
else
if (PressedKey[27]=true)and(CountTickTimer>100) then
begin
Selected_Menu_item:='';
Menu_item:=2;
CountTickTimer:=0;
Speed:=0.0;
Pause:=false;
sound:=false;
CountFuel:=8;
CountKM:=0;
end;
if Selected_Menu_item='' then //Íàæàòà êëàâèøà Esc â èãðå èëè íè÷åãî íå âûáðàíî
begin
if SpeedGL.MediaPlayer1.FileName<>'Textures\Video\SL_Start_Logo.avi' then
if SpeedGL.MediaPlayer1.FileName<>'Sound\Main_Menu.mp3' then begin
SpeedGL.MediaPlayer1.FileName:='Sound\Main_Menu.mp3';
SpeedGL.MediaPlayer1.Open;
SpeedGL.MediaPlayer1.Play;
end;
if CountTickTimer>100 then begin
if PressedKey[27]=true then
begin
SpeedGL.MediaPlayer1.Stop;
SpeedGL.MediaPlayer1.Close;
SpeedGL.MediaPlayer1.FileName:='';
Selected_Menu_item:='Exit';
CountTickTimer:=0;
end;
if PressedKey[40]=true then
begin
Inc(Menu_item);
PlaySound('Sound\Select_MainMenu.wav',0,SND_ASYNC);
CountTickTimer:=0;
end; //âíèç
if PressedKey[38]=true then
begin
Dec(Menu_item);
PlaySound('Sound\Select_MainMenu.wav',0,SND_ASYNC);
CountTickTimer:=0;
end;//ââåðõ
if CountTickTimer>1000 then CountTickTimer:=110;
end;
if Menu_item>4 then Menu_item:=1;//îãðàíè÷åíèå
if Menu_item<1 then Menu_item:=4;// â ïðåäåëàõ 4 ïóíêòîâ
if PressedKey[13]=true then begin
PlaySound('Sound\Choose_MainMenu.wav',0,SND_ASYNC);
case Menu_item of
1:begin
Selected_Menu_item:='Start';
Score:=0;
FuelGoToWay:=false;
NextKM_GenerFuel:=1;
CountKM:=0;
CountFuel:=8;
CountNitro:=0;
MinusFuel:=0.00002;
Y_KordFuel:=1.5;
FuelGoToWay:=false;
GasDeley:=1;
Gas:=false;
NextKmEnymy:=0.3;
Y_Enymi:=1.2;
end;
2:begin Selected_Menu_item:='Car'; end;
3:begin Selected_Menu_item:='Actors'; end;
4:begin Selected_Menu_item:='Exit'; end;
end;
end;
end;
if CountTickTimer>100 then begin
if Selected_Menu_item='Actors' then //Íàæàòà êëàâèøà Sound
begin
if SpeedGL.MediaPlayer1.FileName<>'Sound\Actor.mp3' then begin
SpeedGL.MediaPlayer1.FileName:='Sound\Actor.mp3';
SpeedGL.MediaPlayer1.Open;
SpeedGL.MediaPlayer1.Play;
end;
Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ àêòèâíàÿ ññûëêà íà èñòî÷íèê îáÿçàòåëüíà.