1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| type
TKaro = -1 .. 1;
TFeld = Array [1 .. 3] of Array [1 .. 3] of TKaro;
TSpiel = class private AnzahlZuge: Integer; FFeld : TFeld; public constructor Create; procedure Zug(AKaroTyp: TKaro; AFeld: TPoint); procedure Zeichnen(AMemo: TMemo); function Spielende: Boolean; function Gewinn: Integer; end;
const Kreuz = TKaro(-1); Frei = TKaro(0); Kreis = TKaro(1);
type TReihe = Array [1..3] of ^TPoint;
const Horizontal_I : TReihe = [@TFeld[1,1],@TFeld[2,1],@TFeld[3,1]]; Horizontal_II : TReihe = [@TFeld[1,2],@TFeld[2,2],@TFeld[3,2]]; Horizontal_III : TReihe = [@TFeld[1,3],@TFeld[2,3],@TFeld[3,3]]; Vertikal_I : TReihe = [@TFeld[1,1],@TFeld[1,2],@TFeld[1,3]]; Vertikal_II : TReihe = [@TFeld[2,1],@TFeld[2,2],@TFeld[2,3]]; Vertikal_III : TReihe = [@TFeld[3,1],@TFeld[3,1],@TFeld[3,3]]; Diagonal_I : TReihe = [@TFeld[1,1],@TFeld[2,2],@TFeld[3,3]]; Diagonal_II : TReihe = [@TFeld[1,3],@TFeld[2,2],@TFeld[3,1]]; Reihe : Array [1..8] of TReihe = [Horizontal_I,Horizontal_II,Horizontal_III, Vertikal_I,Vertikal_II,Vertikal_II, Diagonal_I,Diagonal_II]; |