home *** CD-ROM | disk | FTP | other *** search
/ CD Direkt 1995 #1 / Image.iso / cdd / direkt / fingb / ballern.pas < prev    next >
Pascal/Delphi Source File  |  1994-08-03  |  16KB  |  546 lines

  1. PROGRAM Ballern;
  2.  
  3. USES CRT, GRAPH, DOS, MOUSE;
  4.  
  5. VAR x, y, x1, y1                  :    INTEGER;
  6.     Ch                            :       CHAR;
  7.     Frage, Player1, Player2, 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 ('Es hat am Ende der Spieler gewonnen, der den anderen');
  19.     gotoxy (15,9);
  20.     write ('zuerst abgeschossen hat. Jeder Spieler hat eine ');
  21.     gotoxy (15,11);
  22.     write ('Schützung, in der er nicht vom anderen Spieler getroffen');
  23.     gotoxy (15,13);
  24.     write ('werden kann, von der aus aber auch er nicht seinen Gegner');
  25.     gotoxy (15,15);
  26.     write ('treffen kann. Die 4 türkisfarbenen Wände an den 4 Eckpunk-');
  27.     gotoxy (15,17);
  28.     write ('ten darf man als Spieler nicht berühren, da dann der Gegner');
  29.     gotoxy (15,19);
  30.     write ('gewonnen hat.');
  31.     gotoxy (41,20);
  32.     write ('Und nun VIEL SPASS !!!');
  33.     gotoxy (30,24);
  34.     write ('Weiter mit bel. Taste');
  35.     Ch := ReadKey;
  36.   end;
  37.  
  38. BEGIN
  39.   clrscr;
  40.  REPEAT
  41.    clrscr;
  42.    gotoxy (19,13);
  43.    write ('(S)piel starten / (R)egeln ?  (S/R) : ');
  44.    readln(Wahl);
  45.      IF ( Wahl = 'r' ) OR ( Wahl = 'R' )
  46.        THEN
  47.          begin
  48.            Anleitung;
  49.          end;
  50.  UNTIL ( Wahl = 's' ) OR ( Wahl = 'S');
  51.  REPEAT
  52.   clrscr;
  53.   TextColor (White);
  54.   gotoxy (25,12);
  55.   write ('Name Player 1 : ');
  56.   readln(Player1);
  57.   gotoxy (25,14);
  58.   write ('Name Player 2 : ');
  59.   readln(Player2);
  60.   gotoxy (30,24);
  61.   write ('Weiter mit  " RETURN"');
  62.     REPEAT
  63.       Ch := ReadKey;
  64.     UNTIL Ch = #13;
  65.   clrscr;
  66.   gotoxy (25,2);
  67.   write ('TASTENKOMBINATIONEN FÜR PLAYER 1');
  68.   gotoxy (25,3);
  69.   write ('════════════════════════════════');
  70.   gotoxy (35,7);
  71.   write ('Du bist : ');
  72.   TextColor (Green);
  73.   write ('');
  74.   TextColor (White);
  75.   gotoxy (29,9);
  76.   write ('Nach Links  =>   " <- "');
  77.   gotoxy (29,11);
  78.   write ('Nach Rechts =>   " -> "');
  79.   gotoxy (31,13);
  80.   write ('Ende mit " CTRL-C "');
  81.   gotoxy (31,15);
  82.   write ('Schießen =>  " <┘ "');
  83.   gotoxy (30,24);
  84.   write ('Weiter mit  " RETURN"');
  85.     REPEAT
  86.       Ch := ReadKey;
  87.     UNTIL Ch = #13;
  88.   clrscr;
  89.   TextColor (White);
  90.   gotoxy (25,2);
  91.   write ('TASTENKOMBINATIONEN FÜR PLAYER 2');
  92.   gotoxy (25,3);
  93.   write ('════════════════════════════════');
  94.   gotoxy (35,7);
  95.   write ('Du bist : ');
  96.   TextColor (Magenta);
  97.   write ('');
  98.   TextColor (White);
  99.   gotoxy (29,9);
  100.   write ('Nach Links  =>   " Y "');
  101.   gotoxy (29,11);
  102.   write ('Nach Rechts =>   " X "');
  103.   gotoxy (31,13);
  104.   write ('Ende mit " CTRL-C "');
  105.   gotoxy (31,15);
  106.   write ('Schießen =>  " ESC "');
  107.   gotoxy (30,24);
  108.   write ('Weiter mit  " RETURN"');
  109.     REPEAT
  110.       Ch := ReadKey;
  111.     UNTIL Ch = #13;
  112.   DefineTextCursor (hardwaretextcursor,0,0);
  113.   clrscr;
  114.   TextColor (Cyan);
  115.   gotoxy (1,24);
  116.   write ('|');
  117.   gotoxy (80,24);
  118.   write ('|');
  119.   gotoxy (1,1);
  120.   write ('|');
  121.   gotoxy (80,1);
  122.   write ('|');
  123.   TextColor (Green);
  124.   gotoxy (70,24);
  125.   write ('');
  126.   TextColor (Magenta);
  127.   gotoxy (10,1);
  128.   write ('');
  129.   TextColor (Brown);
  130.   gotoxy (2,23);
  131.   write ('┌');
  132.   gotoxy (3,23);
  133.   write ('─');
  134.   gotoxy (4,23);
  135.   write ('─');
  136.   gotoxy (5,23);
  137.   write ('─');
  138.   gotoxy (6,23);
  139.   write ('─');
  140.   gotoxy (7,23);
  141.   write ('┐');
  142.   gotoxy (74,2);
  143.   write ('└');
  144.   gotoxy (75,2);
  145.   write ('─');
  146.   gotoxy (76,2);
  147.   write ('─');
  148.   gotoxy (77,2);
  149.   write ('─');
  150.   gotoxy (78,2);
  151.   write ('─');
  152.   gotoxy (79,2);
  153.   write ('┘');
  154.   x := 70;
  155.   y := 24;
  156.   x1 := 10;
  157.   y1 := 1;
  158.     REPEAT
  159.       Ch := ReadKey;
  160.         IF Ch = #75
  161.           THEN
  162.             begin
  163.               x := x-1;
  164.               y := y;
  165.               gotoxy (x,y);
  166.               TextColor (Green);
  167.               write ('');
  168.               x := x+1;
  169.               y := y;
  170.               gotoxy (x,y);
  171.               TextColor (Black);
  172.               write (' ');
  173.               x := x-1;
  174.               y := y;
  175.               gotoxy (x,y);
  176.               TextColor (Green);
  177.             end;
  178.         IF Ch = #77
  179.           THEN
  180.             begin
  181.               x := x+1;
  182.               y := y;
  183.               gotoxy (x,y);
  184.               TextColor (Green);
  185.               write ('');
  186.               x := x-1;
  187.               y := y;
  188.               gotoxy (x,y);
  189.               TextColor (Black);
  190.               write (' ');
  191.               x := x+1;
  192.               y := y;
  193.               gotoxy (x,y);
  194.               TextColor (Green);
  195.             end;
  196.         IF Ch = #13
  197.           THEN
  198.             begin
  199.               FOR y := 23 DOWNTO 2 DO
  200.                 begin
  201.                   x := x;
  202.                   y := y-1;
  203.                   gotoxy (x,y);
  204.                   TextColor (Yellow);
  205.                   write ('║');
  206.                   x := x;
  207.                   y := y+1;
  208.                   gotoxy (x,y);
  209.                   TextColor (Black);
  210.                   write (' ');
  211.                   delay (5);
  212.                 end;
  213.                   x := x;
  214.                   y := 1;
  215.                   gotoxy (x,y);
  216.                   TextColor (Black);
  217.                   write (' ');
  218.                      IF ( x = 74 ) OR ( x = 75 ) OR ( x = 76 ) OR ( x = 77 ) OR ( x = 78 ) OR ( x = 79 ) OR
  219.                         ( x = 2 ) OR ( x = 3 ) OR ( x = 4 ) OR ( x = 5 ) OR ( x = 6 ) OR ( x = 7 )
  220.                        THEN
  221.                          begin
  222.                            TextColor (Brown);
  223.                            gotoxy (2,23);
  224.                            write ('┌');
  225.                            gotoxy (3,23);
  226.                            write ('─');
  227.                            gotoxy (4,23);
  228.                            write ('─');
  229.                            gotoxy (5,23);
  230.                            write ('─');
  231.                            gotoxy (6,23);
  232.                            write ('─');
  233.                            gotoxy (7,23);
  234.                            write ('┐');
  235.                            gotoxy (74,2);
  236.                            write ('└');
  237.                            gotoxy (75,2);
  238.                            write ('─');
  239.                            gotoxy (76,2);
  240.                            write ('─');
  241.                            gotoxy (77,2);
  242.                            write ('─');
  243.                            gotoxy (78,2);
  244.                            write ('─');
  245.                            gotoxy (79,2);
  246.                            write ('┘');
  247.                            x1 := x1;
  248.                            y1 := y1;
  249.                            gotoxy (x1,y1);
  250.                            TextColor (Magenta);
  251.                            write ('');
  252.                          end;
  253.                   x := x;
  254.                   y := 24;
  255.                   gotoxy (x,y);
  256.                   TextColor (Green);
  257.                   write ('');
  258.             end;
  259.         IF Ch = #121
  260.           THEN
  261.             begin
  262.               x1 := x1-1;
  263.               y1 := y1;
  264.               gotoxy (x1,y1);
  265.               TextColor (Magenta);
  266.               write ('');
  267.               x1 := x1+1;
  268.               y1 := y1;
  269.               gotoxy (x1,y1);
  270.               TextColor (Black);
  271.               write (' ');
  272.               x1 := x1-1;
  273.               y1 := y1;
  274.               gotoxy (x1,y1);
  275.               TextColor (Magenta);
  276.             end;
  277.         IF Ch = #120
  278.           THEN
  279.             begin
  280.               x1 := x1+1;
  281.               y1 := y1;
  282.               gotoxy (x1,y1);
  283.               TextColor (Magenta);
  284.               write ('');
  285.               x1 := x1-1;
  286.               y1 := y1;
  287.               gotoxy (x1,y1);
  288.               TextColor (Black);
  289.               write (' ');
  290.               x1 := x1+1;
  291.               y1 := y1;
  292.               gotoxy (x1,y1);
  293.               TextColor (Magenta);
  294.             end;
  295.         IF Ch = #27
  296.           THEN
  297.             begin
  298.               FOR y1 := 2 TO 24 DO
  299.                 begin
  300.                   x1 := x1;
  301.