home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 08 / schach / def.inc < prev    next >
Encoding:
Text File  |  1989-04-19  |  3.5 KB  |  55 lines

  1. (********************************************************)
  2. (*                                                      *)
  3. (*   Modul:         DEF.INC                             *)
  4. (*   Projekt:       CHESS                               *)
  5. (*   Autor:         Michael Thielscher                  *)
  6. (*   erstellt am:   17.04.89                            *)
  7. (*                                                      *)
  8. (********************************************************)
  9.  
  10. CONST  max_Zuege = 120;
  11.  
  12. TYPE  FeldTyp      = 0..119;
  13.       FigurenTyp   = (Leer, W_Bauer, W_Springer, W_Laeufer, W_Turm, W_Dame, W_Koenig,
  14.                             S_Bauer, S_Springer, S_Laeufer, S_Turm, S_Dame, S_Koenig, Illegal);
  15.       BrettTyp     = ARRAY [FeldTyp] OF FigurenTyp;
  16.       RochadenTyp  = ARRAY [1..4] OF BOOLEAN;
  17.       StellungsTyp = RECORD
  18.                        Brett    : BrettTyp;
  19.                        en_pass  : 0..8;
  20.                        Rochaden : RochadenTyp;
  21.                        am_Zug   : BOOLEAN
  22.                      END; (* record *)
  23.       ZugTyp       = RECORD
  24.                        von, nach : FeldTyp;
  25.                        NeueFigur : FigurenTyp;
  26.                        CASE Schlagzug : BOOLEAN OF
  27.                          FALSE: (Rochade : 0..4);
  28.                          TRUE : (hit: FigurenTyp; ep: 0..8)
  29.                      END; (* record *)
  30.       ZuglistenTyp = ARRAY [1..max_Zuege] OF ZugTyp;
  31.       AufgabenTyp  = (Matt, Patt, Hilfsmatt, Hilfspatt, Selbstmatt, Selbstpatt);
  32.  
  33. CONST  FigurenZeichen : ARRAY [FigurenTyp] OF CHAR = (' ', 'B', 'S', 'L', 'T', 'D', 'K',
  34.                                                            'b', 's', 'l', 't', 'd', 'k', ' ');
  35.  
  36.        K_Weite : ARRAY [1..8] OF INTEGER = (-10, -1, +1, +10, -11, -9, +9, +11);
  37.        S_Weite : ARRAY [1..8] OF INTEGER = (-21, -19, -12, -8, +8, +12, +19, +21);
  38.  
  39.        GrundStellung : StellungsTyp =
  40.             (Brett  : (Illegal, Illegal,    Illegal,   Illegal, Illegal,  Illegal,   Illegal,    Illegal, Illegal, Illegal,
  41.                        Illegal, Illegal,    Illegal,   Illegal, Illegal,  Illegal,   Illegal,    Illegal, Illegal, Illegal,
  42.                        Illegal,  W_Turm, W_Springer, W_Laeufer,  W_Dame, W_Koenig, W_Laeufer, W_Springer,  W_Turm, Illegal,
  43.                        Illegal, W_Bauer,    W_Bauer,   W_Bauer, W_Bauer,  W_Bauer,   W_Bauer,    W_Bauer, W_Bauer, Illegal,
  44.                        Illegal,    Leer,       Leer,      Leer,    Leer,     Leer,      Leer,       Leer,    Leer, Illegal,
  45.                        Illegal,    Leer,       Leer,      Leer,    Leer,     Leer,      Leer,       Leer,    Leer, Illegal,
  46.                        Illegal,    Leer,       Leer,      Leer,    Leer,     Leer,      Leer,       Leer,    Leer, Illegal,
  47.                        Illegal,    Leer,       Leer,      Leer,    Leer,     Leer,      Leer,       Leer,    Leer, Illegal,
  48.                        Illegal, S_Bauer,    S_Bauer,   S_Bauer, S_Bauer,  S_Bauer,   S_Bauer,    S_Bauer, S_Bauer, Illegal,
  49.                        Illegal,  S_Turm, S_Springer, S_Laeufer,  S_Dame, S_Koenig, S_Laeufer, S_Springer,  S_Turm, Illegal,
  50.                        Illegal, Illegal,    Illegal,   Illegal, Illegal,  Illegal,   Illegal,    Illegal, Illegal, Illegal,
  51.                        Illegal, Illegal,    Illegal,   Illegal, Illegal,  Illegal,   Illegal,    Illegal, Illegal, Illegal);
  52.              en_pass : 0;
  53.              Rochaden: (TRUE, TRUE, TRUE, TRUE);
  54.              am_Zug  : TRUE);
  55.