home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 07 / awari / awarinit.inc < prev    next >
Encoding:
Text File  |  1987-06-10  |  3.7 KB  |  90 lines

  1. (***************************************************************************)
  2. (*                         AWARINIT.INC                                    *)
  3. (*    DIESE INCLUDE-DATEI ENTHAELT DIE INIT. DES SPIELES UND SCREENS       *)
  4. (***************************************************************************)
  5.  
  6. PROCEDURE  screen_init;
  7.  
  8.    VAR  index                   : INTEGER;
  9.         oben,  mitte,  unten    : STRING [5];
  10.         hoben,  hmitte,  hunten : STRING [6];
  11.  
  12.    BEGIN
  13.      (*   Die Strings fuer den Bildschirmaufbau werden initialisiert:  *)
  14.      oben   := '+---+';
  15.      mitte  := '! 3 !';
  16.      unten  := '+---+';
  17.      hoben  := '+----+';
  18.      hmitte := '!  0 !';
  19.      hunten := '+----+';
  20.      (*   Der Bildschirm wird aufgebaut:  *)
  21.      ClrScr;  GotoXY(6,3);
  22.      Write('                       ');
  23.      Write('                       ');
  24.      Write('                       ');
  25.      GotoXY(6,4);
  26.      Write('              6       5');
  27.      Write('       4       3       ');
  28.      Write('2       1              ');
  29.      GotoXY(6,5);  Write('            ');
  30.      FOR  index := 1  TO  6  DO  Write(oben, '   ');
  31.      Write('         ');  GotoXY(6,6);  Write('            ');
  32.      FOR  index := 1  TO  6  DO  Write(mitte, '   ');
  33.      Write('         ');  GotoXY(6,7);  Write('            ');
  34.      FOR  index := 1  TO  6  DO  Write(unten, '   ');
  35.      Write('         ');  GotoXY(6,8);  Write('   ', hoben);
  36.      Write('                                                   ');
  37.      Write(hoben, '   ');   GotoXY(6,9);   Write('   ', hmitte);
  38.      Write('                                                   ');
  39.      Write(hmitte, '   ');  GotoXY(6,10);  Write('   ', hunten);
  40.      Write('                                                   ');
  41.      Write(hunten, '   ');  GotoXY(6,11);  Write('            ');
  42.      FOR  index := 1  TO  6  DO  Write(oben, '   ');
  43.      Write('         ');    GotoXY(6,12);  Write('            ');
  44.      FOR  index := 1  TO  6  DO  Write(mitte, '   ');
  45.      Write('         ');    GotoXY(6,13);  Write('            ');
  46.      FOR  index := 1  TO  6  DO  Write(unten, '   ');
  47.      Write('         ');
  48.      GotoXY(6, 14);
  49.      Write('              1       2');
  50.      Write('       3       4       ');
  51.      Write('5       6              ');
  52.      GotoXY(6, 15);
  53.      Write('                       ');
  54.      Write('                       ');
  55.      Write('                       ');
  56.    END;
  57.  
  58. (*-------------------------------------------------------------------------*)
  59.  
  60. PROCEDURE  initialisieren;
  61.  
  62.    VAR  index  : INTEGER;
  63.         help   :    CHAR;
  64.  
  65.    BEGIN
  66.      (*   Initialisierung der den Spielablauf kontrollierenden Variablen   *)
  67.      weiter := TRUE;  fertig := FALSE;
  68.      nummer := 0;     zahl   := 100 + 12 * max;
  69.      (*   Das Spielfeld wird initialisiert   *)
  70.      FOR  index := 1  TO  13  DO  spiel[index] := max;
  71.      spiel[0] := 100;  spiel[7] := 0;
  72.      (*   Festlegungen ueber Spielbeginn und Spielstaerke werden getroffen *)
  73.      screen_init;
  74.      GotoXY(20,18);  Write('Wer macht den ersten Zug?  ( M / C )  ');
  75.      REPEAT
  76.        Read(Kbd, anfang);  anfang := UpCase(anfang)
  77.      UNTIL  anfang  IN  ['M','C'];
  78.      GotoXY(13,18);
  79.      Write('Mit welcher Spielstaerke soll ich spielen?  ( 1 / 2 )  ');
  80.      REPEAT  Read(Kbd, help)  UNTIL  help  IN  ['1','2'];
  81.      GotoXY(13,18);
  82.      Write('                                                       ');
  83.      GotoXY(18,18);
  84.      IF  anfang = 'M'  THEN  stark := 2 * (Ord(help) - Ord('0')) + 1
  85.                        ELSE  stark := 2 * (Ord(help) - Ord('0'))
  86.    END;
  87.  
  88. (* ----------------------------------------------------------------------- *)
  89. (*                         Ende von AWARINIT.INC                           *)
  90.