home *** CD-ROM | disk | FTP | other *** search
/ CD Direkt 1995 #1 / Image.iso / cdd / direkt / fingb / glueck.lzh / SAMMLUNG.ZIP / DEMO3.PAS < prev    next >
Pascal/Delphi Source File  |  1994-08-03  |  11KB  |  367 lines

  1. PROGRAM Spiel;
  2.  
  3. USES CRT, MOUSE, GRAPH, APP, DOS, DRIVERS, OBJECTS;
  4.  
  5. VAR x, y, x2, y2                  : INTEGER;
  6.     Ch                            :    CHAR;
  7.     Player1, Player2, Frage, Wahl :  STRING;
  8.  
  9. PROCEDURE Anleitung;
  10.   begin
  11.     gotoxy (35,2);
  12.     write ('SPIELREGELN');
  13.     gotoxy (35,3);
  14.     write ('===========');
  15.     gotoxy (15,5);
  16.     write ('Dieses Spiel kann nur mit 2 Spielern gespielt werden.');
  17.     gotoxy (15,7);
  18.     write ('Der Jäger muß versuchen, den Hasen zu schnappen. Der');
  19.     gotoxy (15,9);
  20.     write ('Hase muß versuchen, so lange wie möglich zu überleben.');
  21.     gotoxy (9,11);
  22.     write ('TIP : Es kann z.B. einer den Hasen spielen und die Zeit stoppen,');
  23.     gotoxy (15,13);
  24.     write ('wie lange er überlebt hat und anschließend spielt der andere');
  25.     gotoxy (15,15);
  26.     write ('den Hasen und versucht, Die Zeit zu überbieten.');
  27.     gotoxy (29,20);
  28.     write ('Und nun VIEL SPASS !!!');
  29.     gotoxy (30,24);
  30.     write ('Weiter mit bel. Taste');
  31.     Ch := ReadKey;
  32.   end;
  33.  
  34. BEGIN
  35.  clrscr;
  36.  TextColor (White);
  37.    REPEAT
  38.      clrscr;
  39.      gotoxy (19,13);
  40.      write ('(S)piel starten / (R)egeln ?  (S/R) : ');
  41.      readln(Wahl);
  42.        IF ( Wahl = 'r' ) OR ( Wahl = 'R' )
  43.          THEN
  44.            begin
  45.              Anleitung;
  46.            end;
  47.    UNTIL ( Wahl = 's' ) OR ( Wahl = 'S');
  48.   REPEAT
  49.     clrscr;
  50.     TextColor (White);
  51.     gotoxy (25,12);
  52.     write ('Name Player 1 : ');
  53.     readln(Player1);
  54.     clrscr;
  55.     gotoxy (25,13);
  56.     writeln ('Du bist der Hase ( # ).');
  57.     delay (1500);
  58.     clrscr;
  59.     gotoxy (25,14);
  60.     write ('Name Player 2 : ');
  61.     readln(Player2);
  62.     clrscr;
  63.     gotoxy (25,13);
  64.     write ('Du bist der Jäger ( o ).');
  65.     delay (1500);
  66.   clrscr;
  67.   gotoxy (25,2);
  68.   write ('TASTENKOMBINATIONEN FÜR PLAYER 1');
  69.   gotoxy (25,3);
  70.   write ('════════════════════════════════');
  71.   gotoxy (35,7);
  72.   write ('Du bist : ');
  73.   TextColor (Yellow);
  74.   write ('#');
  75.   TextColor (White);
  76.   gotoxy (22,9);
  77.   write ('Nach Links  =>   " Pfeil nach Links  "');
  78.   gotoxy (22,11);
  79.   write ('Nach Rechts =>   " Pfeil nach Rechts "');
  80.   gotoxy (22,13);
  81.   write ('Nach Oben   =>   " Pfeil nach Oben   "');
  82.   gotoxy (22,15);
  83.   write ('Nach Unten  =>   " Pfeil nach Unten  "');
  84.   gotoxy (30,24);
  85.   write ('Weiter mit  " RETURN"');
  86.     REPEAT
  87.       Ch := ReadKey;
  88.     UNTIL Ch = #13;
  89.   clrscr;
  90.   TextColor (White);
  91.   gotoxy (25,2);
  92.   write ('TASTENKOMBINATIONEN FÜR PLAYER 2');
  93.   gotoxy (25,3);
  94.   write ('════════════════════════════════');
  95.   gotoxy (35,7);
  96.   write ('Du bist : ');
  97.   TextColor (Yellow);
  98.   write ('o');
  99.   TextColor (White);
  100.   gotoxy (29,9);
  101.   write ('Nach Links  =>   " Y "');
  102.   gotoxy (29,11);
  103.   write ('Nach Rechts =>   " X "');
  104.   gotoxy (29,13);
  105.   write ('Nach Oben   =>   " Q "');
  106.   gotoxy (29,15);
  107.   write ('Nach Unten  =>   " A "');
  108.   gotoxy (30,24);
  109.   write ('Weiter mit  " RETURN"');
  110.     REPEAT
  111.       Ch := ReadKey;
  112.     UNTIL Ch = #13;
  113.     DefineTextCursor(hardwaretextcursor,0,0);
  114.     clrscr;
  115.     TextColor (Red);
  116.       FOR x := 1 TO 80 DO
  117.         begin
  118.           gotoxy (x,1);
  119.           write (CHR(219));
  120.         end;
  121.       FOR y := 1 TO 24 DO
  122.         begin
  123.           gotoxy (80,y);
  124.           write (CHR(219));
  125.         end;
  126.       FOR x := 79 DOWNTO 1 DO
  127.         begin
  128.           gotoxy (x,24);
  129.           write (CHR(219));
  130.         end;
  131.       FOR y := 24 DOWNTO 2 DO
  132.         begin
  133.           gotoxy (1,y);
  134.           write (CHR(219));
  135.         end;
  136.     TextColor (Green);
  137.       FOR y := 5 TO 19 DO
  138.         begin
  139.           gotoxy (16,y);
  140.           write (CHR(219));
  141.         end;
  142.       FOR y := 5 TO 19 DO
  143.         begin
  144.           gotoxy (64,y);
  145.           write (CHR(219));
  146.         end;
  147.     TextColor (Yellow);
  148.     gotoxy (40,22);
  149.     write ('#');
  150.     gotoxy (40,3);
  151.     write ('o');
  152.     TextColor (Black);
  153.     x := 40;
  154.     y := 22;
  155.     x2 := 40;
  156.     y2 := 3;
  157.       REPEAT
  158.         Ch := ReadKey;
  159.           IF Ch = #72
  160.             THEN
  161.               begin
  162.                 x := x;
  163.                 y := y-1;
  164.                 gotoxy (x,y);
  165.                 TextColor (Yellow);
  166.                 write ('#');
  167.                 x := x;
  168.                 y := y+1;
  169.                 gotoxy (x,y);
  170.                 TextColor (Black);
  171.                 write (' ');
  172.                 x := x;
  173.                 y := y-1;
  174.               end;
  175.           IF Ch = #75
  176.             THEN
  177.               begin
  178.                 x := x-1;
  179.                 y := y;
  180.                 gotoxy (x,y);
  181.                 TextColor (Yellow);
  182.                 write ('#');
  183.                 x := x+1;
  184.                 y := y;
  185.                 gotoxy (x,y);
  186.                 TextColor (Black);
  187.                 write (' ');
  188.                 x := x-1;
  189.                 y := y;
  190.               end;
  191.           IF Ch = #77
  192.             THEN
  193.               begin
  194.                 x := x+1;
  195.                 y := y;
  196.                 gotoxy (x,y);
  197.                 TextColor (Yellow);
  198.                 write ('#');
  199.                 x := x-1;
  200.                 y := y;
  201.                 gotoxy (x,y);
  202.                 TextColor (Black);
  203.                 write (' ');
  204.                 x := x+1;
  205.                 y := y;
  206.               end;
  207.           IF Ch = #80
  208.             THEN
  209.               begin
  210.                 x := x;
  211.                 y := y+1;
  212.                 gotoxy (x,y);
  213.                 TextColor (Yellow);
  214.                 write ('#');
  215.                 x := x;
  216.                 y := y-1;
  217.                 gotoxy (x,y);
  218.                 TextColor (Black);
  219.                 write (' ');
  220.                 x := x;
  221.                 y := y+1;
  222.               end;
  223.           IF Ch = #113 THEN
  224.       begin
  225.         x2 := x2;
  226.         y2 := y2-1;
  227.         gotoxy (x2,y2);
  228.         TextColor (Yellow);
  229.         write ('o');
  230.         x2 := x2;
  231.         y2 := y2+1;
  232.         gotoxy (x2,y2);
  233.         TextColor (Black);
  234.         write (' ');
  235.         x2 := x2;
  236.         y2 := y2-1;
  237.       end;
  238.     IF Ch = #121 THEN
  239.       begin
  240.         x2 := x2-1;
  241.         y2 := y2;
  242.         gotoxy (x2,y2);
  243.         TextColor (Yellow);
  244.         write ('o');
  245.         x2 := x2+1;
  246.         y2 := y2;
  247.         gotoxy (x2,y2);
  248.         TextColor (Black);
  249.         write (' ');
  250.         x2 := x2-1;
  251.         y2 := y2;
  252.       end;
  253.     IF Ch = #120 THEN
  254.       begin
  255.         x2 := x2+1;
  256.         y2 := y2;
  257.         gotoxy (x2,y2);
  258.         TextColor (Yellow);
  259.         write ('o');
  260.         x2 := x2-1;
  261.         y2 := y2;
  262.         gotoxy (x2,y2);
  263.         TextColor (Black);
  264.         write (' ');
  265.         x2 := x2+1;
  266.         y2 := y2;
  267.       end;
  268.     IF Ch = #97 THEN
  269.       begin
  270.         x2 := x2;
  271.         y2 := y2+1;
  272.         gotoxy (x2,y2);
  273.         TextColor (Yellow);
  274.         write ('o');
  275.         x2 := x2;
  276.         y2 := y2-1;
  277.         gotoxy (x2,y2);
  278.         TextColor (Black);
  279.         write (' ');
  280.         x2 := x2;
  281.         y2 := y2+1;
  282.       end;
  283.    UNTIL (( x > 0 ) AND ( y = 1 )) OR (( x = 80 ) AND ( y > 0 )) OR
  284.          (( x < 81 ) AND ( y = 24 )) OR (( x = 1 ) AND ( y < 24 )) OR
  285.          (( x = 16 ) AND ( y > 4 ) AND ( y < 20 )) OR (( x = 64 ) AND
  286.          ( y > 4 ) AND ( y < 20 )) OR
  287.          (( x2 > 0 ) AND ( y2 = 1 )) OR (( x2 = 80 ) AND ( y2 > 0 )) OR
  288.          (( x2 < 81 ) AND ( y2 = 25 )) OR (( x2 = 1 ) AND ( y2 < 24 )) OR
  289.          (( x2 = 16 ) AND ( y2 > 4 ) AND ( y2 < 20 )) OR (( x2 = 64 ) AND
  290.          ( y2 > 4 ) AND ( y2 < 20 )) OR (( x = x2 ) AND ( y = y2 ));
  291.    IF (( x > 0 ) AND ( y = 1 )) OR (( x = 80 ) AND ( y > 0 )) OR
  292.       (( x < 81 ) AND ( y = 24 )) OR (( x = 1 ) AND ( y < 24 )) OR
  293.       (( x = 16 ) AND ( y > 4 ) AND ( y < 20 )) OR (( x = 64 ) AND
  294.       ( y > 4 ) AND ( y < 20 )) OR (( x = x2 ) AND ( y = y2 ))
  295.      THEN
  296.        begin
  297.          clrscr;
  298.          TextColor (Cyan + Blink);
  299.          gotoxy (7,11);
  300.          writeln('#####   #####   #   #   #####       #####   #     #   #####   #####');
  301.          gotoxy (7,12);
  302.          writeln('#       #   #   # # #   #           #   #    #   #    #       #   #');
  303.          gotoxy (7,13);
  304.          writeln('# ###   ##