The Star Trek game and its version in the text mode
Delphi & Pascal (èeská wiki)
Category: KMP (Club of young programmers)
Author: Ivan Dimov
Program: Star.pas
File exe: Star.exe
Author: Ivan Dimov
Program: Star.pas
File exe: Star.exe
The Star Trek game and its version in the text mode.
{ 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.