Hra StarTrek a jeho podoba v textovom režime

Kategória: KMP (Klub mladých programátorov)

Autor: Ivan Dimov
Program: Star.pas
Súbor exe: Star.exe

Hra StarTrek a jeho podoba v textovom režime.
{ STAR.PAS                                                          }
{                                                                   }
{ Author: Ivan Dimov                                                }
{ Date  : 15.02.1997                           http://www.trsek.com }
 
program StarTrek;
uses crt;
var  i  : integer;
     mm : byte;
     v  : char;
 
procedure Pause;
begin
 gotoxy(35,25);write('Stlac klaves ...');
 v:=readkey;
end;
 
procedure Menu;
begin
 clrscr;
 textcolor(yellow);
 textbackground(lightgray);
 gotoxy(30,10);write(' 1/Start hry ');
 textbackground(black);
 gotoxy(30,11);write(' 2/Koniec    ');
 
 mm:=1;
 repeat
  v:=readkey;
  if (v=#0) then begin  { bol sedy klaves }
     textbackground(black);
     gotoxy(30,10);write(' 1/Start hry ');
     gotoxy(30,11);write(' 2/Koniec    ');
     textbackground(lightgray);
     v:=readkey;
     if (v=#72) then begin
        gotoxy(30,10);write(' 1/Start hry ');
        mm:=1;
       end;
     if (v=#80) then begin
        gotoxy(30,11);write(' 2/Koniec    ');
        mm:=2;
       end;
    end;
 until (v in [#27,#13]);
 textbackground(black);
end;
 
procedure GameOver;
begin
 textcolor(4);
 for i:=1 to 6 do writeln;
 writeln('        ÜŰŰŰŰŰÜ  ÜŰŰŰŰŰÜ  ŰÜ   ÜŰ  ŰŰŰŰŰ   ÜŰŰŰŰŰÜ  Ű    Ű  ŰŰŰŰŰ  ŰŰŰŰŰÜ ');
 writeln('        Űß    ß  Űß   ßŰ  ŰŰÜ ÜŰŰ  Űß      Űß   ßŰ  Ű    Ű  Űß     Űß  ßŰ ');
 writeln('        Ű        Ű     Ű  ŰßŰÜŰßŰ  Ű       Ű     Ű  Ű    Ű  Ű      Ű    Ű ');
 writeln('        Ű        Ű     Ű  Ű ßŰß Ű  ŰÜ      Ű     Ű  Ű    Ű  ŰÜ     ŰÜ  ÜŰ ');
 writeln('        Ű        ŰÜ   ÜŰ  Ű     Ű  ŰŰŰŰÝ   Ű     Ű  Ű    Ű  ŰŰŰŰÝ  ŰŰŰŰŰÜ ');
 writeln('        Ű   ŰŰŰ  ŰŰŰŰŰŰŰ  Ű     Ű  Űß      Ű     Ű  Ű    Ű  Űß     Űß  ßŰ ');
 writeln('        Ű    ßŰ  Űß   ßŰ  Ű     Ű  Ű       Ű     Ű  ŰÜ  ÜŰ  Ű      Ű    Ű ');
 writeln('        ŰÜ   ÜŰ  Ű     Ű  Ű     Ű  ŰÜ      ŰÜ   ÜŰ  ßŰÜÜŰß  ŰÜ     Ű    Ű ');
 writeln('        ßŰŰŰŰŰß  Ű     Ű  Ű     Ű  ŰŰŰŰŰ   ßŰŰŰŰŰß    ŰŰ    ŰŰŰŰŰ  Ű    ŰÜ');
end;
 
procedure Demo;
begin
 textcolor(7);
 gotoxy(10,10);
 write('Toto');delay(500);
 write(' su');delay(500);
 write(' lety');delay(500);
 write(' vesmirnej');delay(500);
 write(' lode');delay(500);
 write(' ENTERPRISE,');delay(500);
 write(' ktora');delay(500);
 write(' ma trvale');delay(500);
 writeln(' poslanie,');delay(500);
 write('               poznavat');delay(500);
 write(' nove svety');delay(500);
 write(' a hladat');delay(500);
 write(' nove formy'); delay(500);
 write(' zivota.');delay(5000);
end;
 
procedure Guns;
begin
 clrscr;
 textcolor(10);
 writeln;
 writeln;
 writeln;
 writeln('           ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍť');
 writeln('           ş                     -O-VLADACI PANEL                       ş');
 writeln('           ĚÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍš');
 writeln('           ş  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄż                                ş');
 writeln('           ş  ł  -P-HOTONOVE TORPEDA   ł   °°°°°°°°°ąąąąąąąąą˛˛˛˛˛˛˛˛˛  ş');
 writeln('           ş  ŔÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŮ                                ş');
 writeln('           ş  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄż                                ş');
 writeln('           ş  ł        P-H-ASERY       ł   °°°°°°°°°ąąąąąąąąą˛˛˛˛˛˛˛˛˛  ş');
 writeln('           ş  ŔÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŮ                                ş');
 writeln('           ş  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄż                                ş');
 writeln('           ş  ł        -S-TITY         ł   °°°°°°°°°ąąąąąąąąą˛˛˛˛˛˛˛˛˛  ş');
 writeln('           ş  ŔÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŮ                                ş');
 writeln('           ş  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄż                                ş');
 writeln('           ş  ł     -T-RANSPORTER      ł   °°°°°°°°°ąąąąąąąąą˛˛˛˛˛˛˛˛˛  ş');
 writeln('           ş  ŔÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŮ                                ş');
 writeln('           ČÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍź');
end;
 
procedure Kokpit;
begin
 clrscr;
 textcolor(3);
 writeln('ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍť');
 writeln('ş  ENERGIA                                                       STAV STITOV  ş');
 writeln('ş               .......    ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄż    .......               ş');
 writeln('ş       °       .......    ł ů   ě       *      .  ł    .......      °        ş');
 writeln('ş       °       .......    ł  *       í     .      ł    .......      °        ş');
 writeln('ş       ą       .......    ł ř    .           *    ł    .......      ą        ş');
 writeln('ş       ą       .......    ł .         ě       . í ł    .......      ą        ş');
 writeln('ş       ˛       .......    ł    í     .    .       ł    .......      ˛        ş');
 writeln('ş       ˛       .......    ł  .   *            *   ł    .......      ˛        ş');
 writeln('ş       Ű       .......    ł ř *    .  ě   *     . ł    .......      Ű        ş');
 writeln('ş       Ű       .......    ŔÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŮ    .......      Ű        ş');
 writeln('ş    /ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\    ş');
 writeln('ş  /   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍť   ł   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍť   ł   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍť   \  ş');
 writeln('ş/     ş               ş   ł   ş               ş   ł   ş               ş     \ş');
 writeln('ş      ş               ş   ł   ş               ş   ł   ş               ş      ş');
 writeln('ş      ČÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍź   ł   ČÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍź   ł   ČÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍź      ş');
 writeln('ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĹÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĹÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄś');
 writeln('ş -O-VLADACI PANEL         ł  PALUBNY -D-ENNIK     ł ß ß ß ß    Ű  Ý ß ß ß ß  ş');
 writeln('ş NASTAVENIE -R-YCHLOSTI   ł  NADVIAZAT KON-T-AKT  ł ß ß ß ß         ß ß ß ß  ş');
 writeln('ş VESMIRNA -M-APA          ł  OSETRO-V-NA          ł ß ß ß ß    Ű  Ý ß ß ß ß  ş');
 writeln('ş STAV MOTO-R-OV           ĂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ß ß ß ß         ß ß ß ß  ş');
 writeln('ş STANDART OR-B-IT         ł RYCHLOST:0            ł ß ß ß ß    Ű  Ý ß ß ß ß  ş');
 writeln('ş NASTAVENIE -K-URSU       ł STAV STITOV:        % ł ß ß ß ß         ß ß ß ß  ş');
 writeln('ČÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍĎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍĎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍź');
 gotoxy(44,23);
end;
 
procedure Mapa;
begin
 clrscr;
 textcolor(14);
 writeln('ÉÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍŃÍÍÍÍÍÍÍť');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ÇÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄÄś');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ÇÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄÄś');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ÇÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄÄś');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ÇÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄÄś');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ÇÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄÄś');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ÇÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄÄś');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ÇÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄĹÄÄÄÄÄÄÄś');
 writeln('ş      ł      ł      ł      ł      ł      ł      ł      ł      ł      ł       ş');
 writeln('ČÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍĎÍÍÍÍÍÍÍź');
end;
 
procedure Demo3;
begin
 clrscr;
 textcolor(3);
 textbackground(0);
 clrscr;
 gotoxy(30,12);write('DIMOVsoft. present');
 delay(3000);
 clrscr;
 textcolor(9);
 sound(150);
 
 for i:=1 to 6 do writeln;
 writeln('             ŢŰŰŰŰŰŰ   Ű                  ŰŰŰŰŰŰŰ            Ű   ');
 writeln('             Ű       ŰŰŰŰŰ                   Ű               Ű   ');
 writeln('             Ű         Ű     ŢŰŰŰŰÝ    ŰŢŰ   Ű  ŰŢŰ  ŢŰŰŰŰÝ  Ű ŢŰ');
 writeln('             ŢŰŰŰŰŰŰÝ  Ű     ŰÝ  ŢŰ    Ű     Ű  Ű    Ű    Ű  ŰŢŰ ');
 writeln('                    Ű  Ű     Ű    Ű    Ű     Ű  Ű    ŰŰŰŰŰÝ  ŰŰÝ ');
 writeln('                    Ű  Ű  Ű  ŰÝ  ŢŰ    Ű     Ű  Ű    Ű       ŰŢŰ ');
 writeln('              ŰŰŰŰŰŰÝ  ŢŰŰÝ  ŢŰŰŰŰ ŰÝ  Ű     Ű  Ű    ŢŰŰŰŰÝ  Ű ŢŰ');
 writeln;
 writeln('                              THE NEXT GENERATION                            ');
 writeln;
 
 delay(1000);
 nosound;
 sound(200);
 gotoxy(35,23);write('LOADING...');
 delay(2000);
 nosound;
 clrscr;
 demo;
 delay(3000);
 clrscr;
 textcolor(8);
 
 for i:=1 to 40 do begin
     gotoxy(i, 8);write('                         ÜŰŰŰŰŰÜ         ');
     gotoxy(i, 9);write('                   ŢŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰ  ');
     gotoxy(i,10);write(' ąąŰŰŰŰŰŰ          ŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰ ');
     gotoxy(i,11);write('       ŢŰŰ            ßŰŰŰŰŰŰŰŰŰß        ');
     gotoxy(i,12);write('        ŰŰŰÜ         ÜŰŰŰß               ');
     gotoxy(i,13);write('    ßŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰß                 ');
     gotoxy(i,14);write('     ßŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰß                   ');
     delay(100);
    end;
end;
 
BEGIN
 Demo3;
 delay(2000);
 Menu;
 if (mm=1) then begin
    Kokpit;
    Pause;
    Guns;
    Pause;
    clrscr;
    Mapa;
    Pause;
   end;
 clrscr;
 GameOver;
 Pause;
END.