home *** CD-ROM | disk | FTP | other *** search
- (********************************************************)
- (* *)
- (* Modul: DEF.INC *)
- (* Projekt: CHESS *)
- (* Autor: Michael Thielscher *)
- (* erstellt am: 17.04.89 *)
- (* *)
- (********************************************************)
-
- CONST max_Zuege = 120;
-
- TYPE FeldTyp = 0..119;
- FigurenTyp = (Leer, W_Bauer, W_Springer, W_Laeufer, W_Turm, W_Dame, W_Koenig,
- S_Bauer, S_Springer, S_Laeufer, S_Turm, S_Dame, S_Koenig, Illegal);
- BrettTyp = ARRAY [FeldTyp] OF FigurenTyp;
- RochadenTyp = ARRAY [1..4] OF BOOLEAN;
- StellungsTyp = RECORD
- Brett : BrettTyp;
- en_pass : 0..8;
- Rochaden : RochadenTyp;
- am_Zug : BOOLEAN
- END; (* record *)
- ZugTyp = RECORD
- von, nach : FeldTyp;
- NeueFigur : FigurenTyp;
- CASE Schlagzug : BOOLEAN OF
- FALSE: (Rochade : 0..4);
- TRUE : (hit: FigurenTyp; ep: 0..8)
- END; (* record *)
- ZuglistenTyp = ARRAY [1..max_Zuege] OF ZugTyp;
- AufgabenTyp = (Matt, Patt, Hilfsmatt, Hilfspatt, Selbstmatt, Selbstpatt);
-
- CONST FigurenZeichen : ARRAY [FigurenTyp] OF CHAR = (' ', 'B', 'S', 'L', 'T', 'D', 'K',
- 'b', 's', 'l', 't', 'd', 'k', ' ');
-
- K_Weite : ARRAY [1..8] OF INTEGER = (-10, -1, +1, +10, -11, -9, +9, +11);
- S_Weite : ARRAY [1..8] OF INTEGER = (-21, -19, -12, -8, +8, +12, +19, +21);
-
- GrundStellung : StellungsTyp =
- (Brett : (Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal,
- Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal,
- Illegal, W_Turm, W_Springer, W_Laeufer, W_Dame, W_Koenig, W_Laeufer, W_Springer, W_Turm, Illegal,
- Illegal, W_Bauer, W_Bauer, W_Bauer, W_Bauer, W_Bauer, W_Bauer, W_Bauer, W_Bauer, Illegal,
- Illegal, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Illegal,
- Illegal, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Illegal,
- Illegal, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Illegal,
- Illegal, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Leer, Illegal,
- Illegal, S_Bauer, S_Bauer, S_Bauer, S_Bauer, S_Bauer, S_Bauer, S_Bauer, S_Bauer, Illegal,
- Illegal, S_Turm, S_Springer, S_Laeufer, S_Dame, S_Koenig, S_Laeufer, S_Springer, S_Turm, Illegal,
- Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal,
- Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal, Illegal);
- en_pass : 0;
- Rochaden: (TRUE, TRUE, TRUE, TRUE);
- am_Zug : TRUE);