Ðåôåðàòû. Èãðîâàÿ ïðîãðàììà





ÊÏ. 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;

Ñòðàíèöû: 1, 2, 3, 4, 5



2012 © Âñå ïðàâà çàùèùåíû
Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ àêòèâíàÿ ññûëêà íà èñòî÷íèê îáÿçàòåëüíà.