Hra - nieŔo ako krÝżenec DOOMa a Diggera

Delphi & Pascal (Ŕeskß wiki)
P°ejÝt na: navigace, hledßnÝ
Kategˇria:
x-files.pngAutor: Alexej Ostrouchov
Program: X-files.pas
S˙bor exe: X-files.exe

Hra - nieŔo ako krÝżenec DOOMa a Diggera. Celß urobenß v textovom reżime s dobrřmi a vtipnřmi nßpadmi.
{ X-FILES.PAS                                                       }
{ Author: Alexej Ostrouchov                                         }
{ Date  : 15.02.1997                           http://www.trsek.com }
 
uses crt,dos;
var  x,y,score,energy,i,xstrasidlo,strasidlo,kopia,key:integer;
     ch:char;
     f:text;
     s:string;
     Label 1;
     Label 2;
 
Procedure GameOver;
 Begin
  Clrscr;
   TextColor(4);
Gotoxy(1,10);Write('  ██▄▄██                                   ▄▀▀██▀▄                           ');
Gotoxy(1,11);Write(' █▀  █▀ █                                 ██  ▀  ██                          ');
Gotoxy(1,12);Write('██▄  ▀  ▀    ▄██▄█      ██   ██  █▀▀▀█   █ ▀     ▀ █ █      █  █▀▀▀█  █▀▀██  ');
Gotoxy(1,13);Write(' ██▀  ▄▄▄   █▀ █▀ █    ██ █▄█ █ █▀       ▀█       █▀ ▀█    █▀ █▀      █    █ ');
Gotoxy(1,14);Write('▄ ██    █  ▀ █     █    █  █  █  █▀▀      ██     ██  ▀ █  █    █▀▀    █▀███  ');
Gotoxy(1,15);Write(' ▀ █▄▄█▀█ ▀ ▀  ▀██▀ ▀▀            ██▀▀      ██▀▀█ █     ██      ██▀▀  █ ▀  █ ');
 Repeat Until KeyPressed;
 End;
 
 
Procedure Blood;
 Begin
      TextColor(1);
     Gotoxy(38,21);Write('█');
     Gotoxy(42,21);Write('█');
 
 End;
 
Procedure EnergyDPic1;
 Begin
 
  TextColor(2);
   Gotoxy(35,20);Write('  ▄▄▄▄▄▄▄');
   Gotoxy(35,21);Write(' █████████');
   Gotoxy(35,22);Write(' ████ ████');
   Gotoxy(35,23);Write(' █████████');
   Gotoxy(35,24);Write(' ██     ██');
   Gotoxy(35,25);Write('  ▀▀▀▀▀▀▀');
   Blood;
 
 End;
 
Procedure EnergyDPic2;
  Begin
 
   EnergyDPic1;
    TextColor(4);
     Gotoxy(40,25);Write('▀█▀');
  End;
 
Procedure EnergyDPic3;
 Begin
 
  EnergyDPic2;
   TextColor(4);
    Gotoxy(40,22);Write('▄█');
    Gotoxy(40,23);Write('█');
 
 End;
 
Procedure EnergyDPic4;
 Begin
 
  EnergyDPic3;
   TextColor(4);
    Gotoxy(39,23);Write('█');
    Gotoxy(39,24);Write('▀');
    Gotoxy(38,25);Write('██');
 
 End;
 
Procedure EnergyDPic5;
 Begin
 
  EnergyDPic4;
   TextColor(4);
    Gotoxy(37,24);Write('█');
    Gotoxy(37,22);Write('██');
    Gotoxy(37,23);Write('█');
    Gotoxy(42,23);Write('██');
    Gotoxy(43,24);Write('█');
 
 End;
 
Procedure Pich;
 Begin
  Write(chr(30));Write(chr(30));
 End;
 
Procedure PDPic1;
 Begin
 TextColor(2);
  Gotoxy(10,10);Write('▄▄▄██▀█');
  Gotoxy(10,11);Write('     ████');
  Gotoxy(10,12);Write('    ██████');
  Gotoxy(10,13);Write('     █████');
  Gotoxy(10,14);Write('▀▀▀▀▀▀██████');
 TextColor(7);
  Gotoxy(10,11);Write('');
  Gotoxy(10,13);Pich;Pich;Write(chr(30));
 End;
 
Procedure Ns;
 Begin
  Nosound;
 End;
 
Procedure PDPic2;
 Begin
  TextColor(2);
  Gotoxy(10,10);Write('▄▄▄██▀█');
  Gotoxy(10,11);Write('     ████');
  Gotoxy(10,12);Write('     ██████');
  Gotoxy(10,13);Write('▀▀▀▀▀█████');
  Gotoxy(10,14);Write('      █████');
 TextColor(4);
  Gotoxy(10,11);Write('');
  Gotoxy(10,12);Write('');
 End;
 
Procedure PriseraDeath;
 Begin
  Clrscr;
  PDPic1;Delay(600);
  Sound(30);Delay(100);Ns;
  PDPic2;Delay(500);
  PDPic1;
   TextColor(4);
  Gotoxy(10,11);Write('');
  Gotoxy(10,13);Write('');
  Gotoxy(12,12);Write(' ');
   Delay(1000);
    PDPic1;
    TextColor(4);
  Gotoxy(10,11);Write('');
  Gotoxy(10,12);Write('     ');
  Gotoxy(10,13);Write('');
  Gotoxy(12,12);Write(' ');
   Delay(400);
   Delay(3000);
   GameOver;
 
 End;
 
Procedure Door;
 Begin
  TextColor(3);
  Gotoxy(20,13);Write('▓▓▓▓▓▓▓▓▓▓▓▓');
  Gotoxy(20,14);Write('▓▓▓▓▓▓▓▓▓▓▓▓');
  Gotoxy(20,15);Write('▓▓▓▓▓▓▓▓▓▓▓▓');
  Gotoxy(20,16);Write('▓▓▓▓▓▓▓▓▓▓▓▓');
  Gotoxy(20,17);Write('▓▓▓▓▓▓▓▓▓▓▓▓');
  Gotoxy(20,18);Write('▓▓▓▓▓▓▓▓▓▓▓▓');
  Gotoxy(20,19);Write('▓▓▓▓▓▓▓▓▓▓▓▓');
End;
 
Procedure DoorDeath;
 Begin
  Clrscr;
    Door;
     TextColor(2);
     Gotoxy(9,14);Write(' ▄▄▄▄▄▄▄');
     Gotoxy(9,15);Write('█████████');
     Gotoxy(9,16);Write('████ ████');
     Gotoxy(9,17);Write('█████████');
     Gotoxy(9,18);Write('██     ██');
     Gotoxy(9,19);Write(' ▀▀▀▀▀▀▀');
        TextColor(1);
       Gotoxy(11,15);Write('█');
       Gotoxy(15,15);Write('█');
        Delay(800);
        TextColor(14);
         Gotoxy(1,16);Write('───────────────────');
 
    repeat until keypressed;
  End;
 
  Procedure Liv;
 Begin
  Write(chr(4));
  Sound(90);Delay(200);Nosound;
 End;
 
Procedure En;
 Begin
  TextColor(4);
   Write(chr(4));
 End;
 
 
 
Procedure Zac;
 Begin
  TextColor(1);
   Gotoxy(25,10);Write(chr(65));Write(' ');Write(chr(71));Write(chr(65));Write(chr(77));
   Gotoxy(30,10);Write(chr(69));Write(' ');Write(chr(66));Write(chr(89));
   Gotoxy(17,12 );Write(chr(65));Write(chr(76));Write(chr(69));Write(chr(88));Write(chr(69));Write(chr(74));
   Gotoxy(29,12);Write(chr(79));Write(chr(83));Write(chr(84));Write(chr(82));Write(chr(79));Write(chr(85));
   Gotoxy(35,12);Write(chr(67));Write(chr(72));Write(chr(79));Write(chr(86));
 
End;
Procedure Demo;
 Begin
   TextColor(4);
    Writeln('');
    Writeln('');
    Writeln('');
    Writeln('');
    Writeln('');
    Writeln('');
    Writeln('');
    Writeln('');
    Writeln('                    █▀▄▄█▀██       ▄ ▄██▀▄▄      ▀██▄▀    ');
    Writeln('                    █▀  ▀ ▀         █▀ ▀        ▀█  █ █   ');
    Writeln('                    █▀██▀           ██▀▄█▀      ▄██    ▀   ');
    Writeln('                    ██            █     █▄      ▀ █       ');
    Writeln('                    ██▀▀▄█▀█▄     ▄▀▀█▀█ ▀       █▀▀▄█▀   ');
    Writeln('                     ▀    ▀                          █    ');
TextColor(1);
    Writeln('                             Software present');
 End;
 
Procedure Demo2;
 Begin
  TextColor(4);
   Writeln('');
   Writeln('');
   Writeln('');
   Writeln('');
   Writeln('');
   Writeln('');
   Writeln('');
   Writeln('');
   Writeln('                                                            ');
   Writeln('        █▄       ▄█                                           ');
   Writeln('        ▀ █     ▀█          █▀▄▄█▀█    █                      ');
   Writeln('         █▀▄   █▀█          █▄  ▀      █    █▀▄▄█      ██▄▄   ');
   Writeln('          ▀██▄▀ ▄    ▀▀▀   ▀ ██▄▄   █  █     █▀  ▀    █    ▀  ');
   Writeln('          █▀  █▄             █   ▀  █  █      █▀     ▄ ▀▀█▄   ');
   Writeln('         █▀    ▀█            █▀     █  ▀▀▀▀  ▀ █▄█▄  ▀█▄▄█    ');
   Writeln('        █                                                     ');
  End;
 
Procedure We;
 Begin
      TextColor(2);
   Gotoxy(23,19);Write(' ▄▄▄▄▄▄▄');
   Gotoxy(23,20);Write('█████████');
   Gotoxy(23,21);Write('████ ████');
   Gotoxy(23,22);Write('█████████');
   Gotoxy(23,23);Write('██     ██');
   Gotoxy(23,24);Write(' ▀▀▀▀▀▀▀');
   TextColor(1);
   Gotoxy(25,20);Write('█');
   Gotoxy(29,20);Write('█');
 End;
 
Procedure DeathTeh;
 Begin
  Clrscr;
   TextColor(15);
    Gotoxy(20,10);Write('███████████████');
    Gotoxy(20,11);Write('███████████████');
    Gotoxy(20,12);Write('███████████████');
    Gotoxy(20,13);Write('███████████████');
    Gotoxy(20,14);Write('███████████████');
    Gotoxy(20,15);Write('███████████████');
    Gotoxy(20,16);Write('███████████████');
    We;
     Delay(300);
     Clrscr;
      TextColor(15);
      Gotoxy(20,12);Write('███████████████');
      Gotoxy(20,13);Write('███████████████');
      Gotoxy(20,14);Write('███████████████');
      Gotoxy(20,15);Write('███████████████');
      Gotoxy(20,16);Write('███████████████');
      Gotoxy(20,17);Write('███████████████');
      Gotoxy(20,18);Write('███████████████');
       Delay(200);
       Clrscr;
        TextColor(15);
         Gotoxy(20,15);Write('███████████████');
         Gotoxy(20,16);Write('███████████████');
         Gotoxy(20,17);Write('███████████████');
         Gotoxy(20,18);Write('███████████████');
         Gotoxy(20,19);Write('███████████████');
         Gotoxy(20,20);Write('███████████████');
         Gotoxy(20,21);Write('███████████████');
             TextColor(4);
Gotoxy(12,20);Write('▀█▄    ');
Gotoxy(12,21);Write('█  ▀  ▀');
Gotoxy(12,22);Write('  █ ▀▀ ');
 
Gotoxy(36,20);Write('█▄');
Gotoxy(36,21);Write('  ▄ ▀');
Gotoxy(36,22);Write('█   █▀');
TextColor(2);
             Gotoxy(23,22);Write('█████████');
             Gotoxy(23,23);Write('██     ██');
             Gotoxy(23,24);Write(' ▀▀▀▀▀▀▀');
 
         Sound(40);Delay(200);ns;
         Delay(500);
         Clrscr;
 
       TextColor(15);
        Gotoxy(20,16);Write('███████████████');
        Gotoxy(20,17);Write('███████████████');
        Gotoxy(20,18);Write('███████████████');
        Gotoxy(20,19);Write('███████████████');
        Gotoxy(20,20);Write('███████████████');
        Gotoxy(20,21);Write('███████████████');
        Gotoxy(20,22);Write('███████████████');
             TextColor(4);
Gotoxy(12,21);Write(' ▄    ');
Gotoxy(12,22);Write(' ▄ ▀  ▀');
Gotoxy(12,23);Write('█  █ ▀▀ ');
 
Gotoxy(36,21);Write('▄█ ');
Gotoxy(36,22);Write('  █ ▀');
Gotoxy(36,23);Write('█   ▀▀');
TextColor(2);
             Gotoxy(23,24);Write(' ▀▀▀▀▀▀▀');
 
            Delay(700);
         Clrscr;
 
       TextColor(15);
        Gotoxy(20,18);Write('███████████████');
        Gotoxy(20,19);Write('███████████████');
        Gotoxy(20,20);Write('███████████████');
        Gotoxy(20,21);Write('███████████████');
        Gotoxy(20,22);Write('███████████████');
        Gotoxy(20,23);Write('███████████████');
        Gotoxy(20,24);Write('███████████████');
             TextColor(4);
Gotoxy(12,21);Write(' ▄   ▀');
Gotoxy(12,23);Write('██▄█▄ ▀ ');
 
Gotoxy(36,22);Write('  █ ▄');
Gotoxy(36,24);Write('█▄▄▄▄▄  ▀▀');
 
 Delay(700);
Gotoxy(12,23);Write('██▄█▄ ▄ ');
 
Gotoxy(36,24);Write('█▄▄▄█▄  ▄▄');
GameOver;
 
  End;
 
Procedure PichD;
 Begin
  TextColor (4);
   y:=y+1;
    Sound(20);Delay(200);Nosound;
   Repeat
     Gotoxy(x,y);Write(chr(2));
   Until KeyPressed;
  End;
 
Procedure SoundD;
 Begin
  Sound(20);  Delay(500);Ns;Delay(100);
  Sound(200); Delay(500);Ns;Delay(100);
  Sound(300); Delay(500);Ns;Delay(100);
  Sound(20);  Delay(500);Ns;Delay(100);
  Sound(300); Delay(500);Ns;Delay(100);
  Sound(300); Delay(500);Ns;Delay(100);
  Sound(20);  Delay(500);Ns;Delay(100);
  Sound(300); Delay(500);Ns;Delay(100);
 End;
 
 
Procedure Her;
 Begin
  TextColor(14);
   Write(chr(3));
 End;
 
Procedure El;
 Begin
  TextColor(14+Blink);
  Write('█');
 End;
 
Procedure Elev;
 Begin
  TextColor(6);
   Write(chr(18));
 End;
 
Procedure Med;
 Begin
  Write('  ');
 End;
 
Procedure Prep;
 Begin
  Clrscr;
   For i:=1 to 20 do Writeln(chr(2));
 End;
 
Procedure C;
 Begin
  TextColor(1);
   Write('█');
 End;
 
 BEGIN  { Zaciatok Programu }
 
 Clrscr;
  TextColor(14);
  Writeln('1. Starts sound on');
  Writeln('2. Starts sound off');
  Writeln('3. Nostart');
  readln(s);
 
   If (s='3') Then Goto 1;
   If (s='1') Then Begin
     Clrscr;
     Demo;
     SoundD;
     Clrscr;
     Demo2;
     SoundD;
     Clrscr;
     Zac;
     SoundD;
      Goto 1;
    End;
 
   If (s='2') Then Begin
    Clrscr;
    Demo;
    Delay(2000);
    Clrscr;
    Demo2;
    Delay(2000);
    Goto 1;
   End;
 
1: ClrScr;
 
 
   EnergyDPic1;
 
   TextBackGround(0);
   TextColor(14);
   Gotoxy(15,23);Write('HEARDS');
                                          { Hearts print }
    Gotoxy(18,3);Her;Her;
    Gotoxy(30,5);Her;Her;
 
                                { Heards print end }
                      { Cesty Print }
      TextColor(1);
       Gotoxy(1,4);Write('███████████████████████████ ████████');
       Gotoxy(27,6);C;C;C;C;C;
       Gotoxy(40,7);C;C;C;C;C;C;C;
       Gotoxy(40,6);C;
       Gotoxy(44,8);C;
       Gotoxy(30,9);C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;
       Gotoxy(10,8);C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;
 
                      { Cesty Print End }
                      { Pichlace Print }
      TextColor(7);
       Gotoxy(4,4);Write(chr(30));Write(chr(30));
 
       Gotoxy(37,4);Pich;Pich;
 
       TextColor(7);
       Gotoxy(31,8);Write('');
 
                      { Pichlace Print end }
 
  strasidlo:=1;
  score:=0; energy:=100;
   x:=2; y:=3;
   key:=0;
 
  REPEAT
 
 
 
   ch:=readkey;
    TextColor(3);
     Gotoxy(28,24);Write(energy,'% ');
    TextColor(14);
     Gotoxy(27,23);Write('ENERGY');
                                     { Keys }
 
 
 
 
 
                                    { Srasidlo  Function }
    {1}
      If strasidlo = 1 Then Begin
 
             TextColor(2);
       Xstrasidlo:=Random(8);Gotoxy(32,8);Write('           ');
       Gotoxy(xstrasidlo+32,8);Write(chr(12));
 
              End;
 
       If strasidlo = 0 Then Begin
 
               TextColor(2);
       Xstrasidlo:=Random(8);Gotoxy(32,8);Write('           ');
        Gotoxy(xstrasidlo+32,8);Write(' ');
 
         End;
 
If (strasidlo = 1) and (y=8) and (x>=32) and (x<=37) Then
   Begin
    PriseraDeath;
    Delay(200);
    GameOver;
    Goto 1;
 End;
 
     If (strasidlo = 0) and (y=8) and (x=32) or (y=8) and (x=38) Then Begin
       TextColor(0);Gotoxy(74,1);Write('d');
      End;
 
 
 
                                { Strasidlo  Function end }
 
      TextColor(3);
      Gotoxy(20,7);Write('▓');
 
       If (key = 0) and (y=7) and (x=20) Then x:=x+1;
       If (key = 0) and (y=7) and (x<19) and (x>17) Then DoorDeath;
 
 
                               { Strasidlo Death }
 
 
 
        If (energy > 80) and (energy < 101) Then EnergyDPic1;
        If (energy > 60) and (energy < 80)  Then EnergyDPic2;
        If (energy > 40) and (energy < 60)  Then EnergyDPic3;
        If (energy > 20) and (energy < 40)  Then EnergyDPic4;
        If (energy > 1 ) and (energy < 20)  Then EnergyDPic5;
 
                                           { Tlacitko }
      TextColor(1);
       Gotoxy(25,3);Write('_');
       If (y=3) and (x=25) Then Begin
        DeathTeh;
        Goto 1;
      End;
 
        TextColor(1);
         Gotoxy(36,3);Write('_');
          If (y=3) and (x=36) Then strasidlo:= 0;
 
                           { Strasidlo }
 
 
                            { Strasidlo end }
                                            { Tlacitko End }
 
        TextColor(1);
         Gotoxy(36,3);Write('_');
          If (y=3) and (x=36) Then strasidlo:= 0;
 
                           { Strasidlo }
 
 
                            { Strasidlo end }
                                            { Tlacitko End }
   If energy < 0 Then Begin
 
    ClrScr;
      TextColor(2);
       Gotoxy(23,10);Write(' ▄▄▄▄▄▄▄');
       Gotoxy(23,11);Write('█████████');
       Gotoxy(23,12);Write('████ ████');
       Gotoxy(23,13);Write('█████████');
       Gotoxy(23,14);Write('██     ██');
       Gotoxy(23,15);Write(' ▀▀▀▀▀▀▀');
       TextColor(1);
        Gotoxy(25,11);Write('█');
        Gotoxy(29,11);Write('█');
        Delay(800);
        Clrscr;
      TextColor(4);
       Gotoxy(20,10);Write('█  /────────\');
       Gotoxy(20,11);Write('▄ █│       ██');
       Gotoxy(20,12);Write('  ▄█▄█    █ │▄▀');
       Gotoxy(20,13);Write('  █│█       █');
       Gotoxy(20,14);Write('  ▄│▀      ▀│█  █');
       Gotoxy(20,15);Write('█  \─█▀█▄───/ ▀');
      TextColor(7);
       Gotoxy(25,11);Write('▄    ▄');
       Gotoxy(27,13);Write('▀▀');
       Gotoxy(25,14);Write('||||||');
        Sound(40);Delay(200);Ns;Delay(100);
         Clrscr;
          TextColor(4);
           Gotoxy(20,10);Write('   /────────\');
           Gotoxy(20,11);Write('   │        █');
           Gotoxy(20,12);Write('█  ▄      █ │▄');
           Gotoxy(20,13);Write('▀ █│█ █    █ █ ▀');
           Gotoxy(20,14);Write(' ▀ │▀       ▀│  ');
           Gotoxy(20,15);Write(' █ \───█▄───/ █  █');
          TextColor(7);
           Gotoxy(25,11);Write('▄    ▄');
           Gotoxy(27,13);Write('▀▀');
           Gotoxy(25,14);Write('||||||');
             Delay(300);
             Clrscr;
             TextColor(4);
              Gotoxy(18,10);Write('     /────────\');
              Gotoxy(18,11);Write('     │        │');
              Gotoxy(18,12);Write('     │        │▄');
              Gotoxy(18,13);Write('    █│█      ███  ');
              Gotoxy(18,14);Write('     │▀       ▀│  ▀');
              Gotoxy(18,15);Write('█▄▄▄ \───██▄───/ ▄▄▄▄█');
             TextColor(7);
              Gotoxy(25,11);Write('▄    ▄');
              Gotoxy(27,13);Write('▀▀');
              Gotoxy(25,14);Write('||||||');
               Delay(300);
               Clrscr;
                TextColor(4);
                 Gotoxy(18,10);Write('     /────────\');
                 Gotoxy(18,11);Write('     │        │');
                 Gotoxy(18,12);Write('     │        │ ');
                 Gotoxy(18,13);Write('     │        │  ');
                 Gotoxy(18,14);Write('     │        │  ▄');
                 Gotoxy(18,15);Write('██▄▄ \█▄██▄───/█▄▄▄▄█');
                TextColor(7);
                 Gotoxy(25,11);Write('▄    ▄');
                 Gotoxy(27,13);Write('▀▀');
                 Gotoxy(25,14);Write('||||||');
                   Delay(300);
                   Clrscr;
                    TextColor(4);
                    Gotoxy(18,10);Write('              ');
                    Gotoxy(18,11);Write('  │ /│ │ │─\    │');
                    Gotoxy(18,12);Write('     │       ││ ');
                    Gotoxy(18,13);Write('   ─ │    │   │  ');
                    Gotoxy(18,14);Write('     │        ─  ▄');
                    Gotoxy(18,15);Write('██▄▄ \█▄██▄───/█▄▄▄▄█');
                    TextColor(7);
                    Gotoxy(25,12);Write('▄    ▀');
                    Gotoxy(27,14);Write('▀█');
                    Gotoxy(25,14);Write('||||  ');
                    Gotoxy(29,15);Write('-|');
                     Delay(300);
                     Clrscr;
                      TextColor(4);
                      Gotoxy(18,10);Write('               ');
                      Gotoxy(18,11);Write('        │      ');
                      Gotoxy(18,12);Write('  │ -  │   - │\   ');
                      Gotoxy(18,13);Write(' /  ─ ││    │  ││-  ');
                      Gotoxy(18,14);Write('     │        ─  ▄');
                      Gotoxy(18,15);Write('██▄▄ \█▄██▄───/█▄▄▄▄█');
                      TextColor(7);
                      Gotoxy(25,13);Write('▄    ▀');
                      Gotoxy(27,15);Write('▀█');
                      Gotoxy(25,15);Write('----  ');
                      Gotoxy(29,15);Write('--');
                       Delay(300);
                       Clrscr;
                        TextColor(4);
                        Gotoxy(18,14);Write(' - │ - │ --   ě  -▄');
                        Gotoxy(18,15);Write('██▄▄ \█▄██▄─││/█▄▄▄▄█');
                        TextColor(7);
                        Gotoxy(25,15);Write('▄    ▀');
                        Gotoxy(27,15);Write('▀█');
                        Gotoxy(25,15);Write('----  ');
                        Gotoxy(29,15);Write('--');
                        Delay(1000);
                          GameOver;
                           Goto 1;
 
 
        End;
 
 
                                 TextColor(2);
   Gotoxy(x,y);Write(' ');
    If (ch='K') Then x:=x-1;Sound(60);Delay(10);Nosound;
    If (ch='M') Then x:=x+1;Sound(60);Delay(10);Nosound;
    If (ch='I') Then Begin
      y:=y-1;Gotoxy(x,y);Write('');Delay(200);Gotoxy(x,y);Write(' ');
      x:=x+3;Gotoxy(x,y);Write('');Delay(200);Gotoxy(x,y);Write(' ');
      y:=y+1;Gotoxy(x,y);Write('');Delay(200);Gotoxy(x,y);Write(' ');
      Sound(400);Delay(10);Nosound;
     End;
    If (ch='G') Then Begin
      y:=y-1;Gotoxy(x,y);Write('');Delay(200);Gotoxy(x,y);Write(' ');
      x:=x-3;Gotoxy(x,y);Write('');Delay(200);Gotoxy(x,y);Write(' ');
      y:=y+1;Gotoxy(x,y);Write('');Delay(200);Gotoxy(x,y);Write(' ');
      Sound(400);Delay(10);Nosound;
     End;
 
       TextColor(14);
    If (ch=' ') Then Begin
     For i:= x to x+3 do Write('─');
     Sound(200);Delay(100);Ns;
     Gotoxy(x,y);
     For i:= x to x+4 do Write(' ');
        End;
 
     TextColor(2);
   Gotoxy(x,y);Write(chr(2));
                                 { Prepadliska }
                   If (y=3) and (x=28) Then Begin
                      y:=y+2; Gotoxy(28,3);Med;
                       Sound(300);Delay(250);Ns;
 
                    End;
 
                     If (y=5) and (x=33) and (y=5) and (x=37) Then Begin
                       y:=y+3;
                       Gotoxy(33,5);Write('   ');
 
                      End;
 
                       If (y=5) and (x>=32) and (x<=35) Then Begin
                                y:=y+3;
                          Gotoxy(31,5);Write('   ');
                       End;
 
                       If (y=5) and (x<=27) and (x>25) Then Begin
                         y:=y+2;
                         Gotoxy(25,5);Write('   ');
                        End;
 
                                       { Prepadliska end }
 
                         { Elektrina Print }
         TextColor(14);
           Gotoxy(12,3);El;El;
                      { Elektrina Print end }
 
                      { Elektrina Function }
          If (y=3) and (x=12) or (x=13) Then Begin
            energy:=energy-11;
 
           End;
 
                         { Elektrina Function end }
                                        { Elevator print }
      Gotoxy(35,3);Elev;
      Gotoxy(46,6);Elev;
      Gotoxy(41,6);En;
 
      If (y=6) and (x=41) Then Energy:=100;
 
                        { Pichlace Function }
    If (y=3) and (x=4) or (y=3) and (x=5) Then Begin
     TextColor(4);
      Gotoxy(4,3);Write('  ');
      Gotoxy(4,4);Pich;
      PichD;
     Goto 1;
    End;
 
      If (y=3) and (x=37) or (y=3) and (x=38) Then Begin
         TextColor(4);
          Gotoxy(37,4);Med;
          Gotoxy(38,4);Write(chr(30));
           PichD;
        Goto 1;
        End;
 
          If ((y=3) and (x=39)) or ((y=3) and (x=40)) Then Begin
            TextColor(4);
             Gotoxy(39,4);Med;
             Gotoxy(38,4);Pich;
              PichD;
            Goto 1;
           End;
 
            If (y=8) and (x=31) Then Begin
             TextColor(4);
              Gotoxy(x,y);Write(chr(2));
              Repeat Until Keypressed;
              Goto 1;
            End;
 
                        { Pichlace Function end }
                           { Heards Finction }
         If (y=3) and (x=18) Then Begin Gotoxy(15,24);Her; End;
         If (y=3) and (x=19) Then Begin Gotoxy(16,24);Her; End;
         If (y=5) and (x=30) Then Begin Gotoxy(17,24);Her; End;
         If (y=5) and (x=31) Then Begin Gotoxy(18,24);Her; End;
                             { Hearts Function End }
                          { El. Function }
 
           If (y=3) and (x=35) Then Begin
            x:=x+9;
            y:=y+3;
               Sound(100);Delay(100);
         Sound(200);Delay(100);
       Sound(300);Delay(150);
                     Sound(100);Delay(100);
         Sound(200);Delay(100);
       Sound(300);Delay(150);
 
         Ns;
 
           End;
 
        If (y=6) and (x=46) Then Begin
         y:=y-3;
         x:=x-12;
                    Sound(100);Delay(100);
         Sound(200);Delay(100);
       Sound(300);Delay(150);
                   Sound(100);Delay(100);
         Sound(200);Delay(100);
       Sound(300);Delay(150);
 
        Ns;
        End;
                              { El.Function end }
 
                                 { Steny }
         If (y=6) and (x=41) Then x:=x+1;
         If (y=8) and (x=43) Then x:=x-1;
 
                             { Steny end }
  UNTIL (ch=#27);
 
 
 END.