Hra StarTrek a jeho podoba v textovom re¾ime

Delphi & Pascal (èeská wiki)
Pøejít na: navigace, hledání
Kategórie: KMP (Programy mladých programátorù)

Autor: Ivan Dimov
Program: Star.pas
Soubor 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.