PROGRAM PlanspielBoerse;
CONST Lenght  = 80;

TYPE String80 = STRING[80];
     Aktien       = ARRAY[1..3] OF 0..37000;    {* 1 = Kurs / 2 = im Besitz / 3 = auf dem Markt *}

VAR F                   : TEXT;
    Tag,Wahl,Guthaben   : INTEGER;
    SpielerName         : STRING;
    AEG,BASF,Bertelsmann,BMW,BP,Continental,DresdnerBank,Hoechst,IBM,Karstadt,KruppAG,Mercedes,Phoenix,Porsche,Siemens,Sony,Springer,Thyssen,Varta,VEW : Aktien;
    AltAEG,AltBASF,AltBertelsmann,AltBMW,AltBP,AltContinental,AltDresdnerBank,AltHoechst,AltIBM,AltKarstadt,AltKruppAG,AltMercedes,AltPhoenix,AltPorsche,AltSiemens,AltSony,AltSpringer,AltThyssen,AltVarta,AltVEW : INTEGER;

PROCEDURE Nothing;
BEGIN
END;

PROCEDURE Coord(x,y:INTEGER);
BEGIN
  WRITE(F,chr($9b),y,';',x,'H');
END;

PROCEDURE Voreinstellungen;
BEGIN
  {* Börsenkurs vom 22.11.1993 *}
  AEG[1]          := 163; AEG[2]          := 0; AEG[3]          := 10;
  BASF[1]         := 272; BASF[2]         := 0; BASF[3]         := 10;
  Bertelsmann[1]  := 218; Bertelsmann[2]  := 0; Bertelsmann[3]  := 10;
  BMW[1]          := 636; BMW[2]          := 0; BMW[3]          := 10;
  BP[1]           := 118; BP[2]           := 0; BP[3]           := 10;
  Continental[1]  := 253; Continental[2]  := 0; Continental[3]  := 10;
  DresdnerBank[1] := 439; DresdnerBank[2] := 0; DresdnerBank[3] := 10;
  Hoechst[1]      := 278; Hoechst[2]      := 0; Hoechst[3]      := 10;
  IBM[1]          := 189; IBM[2]          := 0; IBM[3]          := 10;
  Karstadt[1]     := 613; Karstadt[2]     := 0; Karstadt[3]     := 10;
  KruppAG[1]      := 146; KruppAG[2]      := 0; KruppAG[3]      := 10;
  Mercedes[1]     := 725; Mercedes[2]     := 0; Mercedes[3]     := 10;
  Phoenix[1]      := 243; Phoenix[2]      := 0; Phoenix[3]      := 10;
  Porsche[1]      := 760; Porsche[2]      := 0; Porsche[3]      := 10;
  Siemens[1]      := 730; Siemens[2]      := 0; Siemens[3]      := 10;
  Sony[1]         := 176; Sony[2]         := 0; Sony[3]         := 10;
  Springer[1]     := 670; Springer[2]     := 0; Springer[3]     := 10;
  Thyssen[1]      := 237; Thyssen[2]      := 0; Thyssen[3]      := 10;
  Varta[1]        := 331; Varta[2]        := 0; Varta[3]        := 10;
  VEW[1]          := 315; VEW[2]          := 0; VEW[3]          := 10;

  AltAEG          := 0;
  AltBASF         := 0;
  AltBertelsmann  := 0;
  AltBMW          := 0;
  AltBP           := 0;
  AltContinental  := 0;
  AltDresdnerBank := 0;
  AltHoechst      := 0;
  AltIBM          := 0;
  AltKarstadt     := 0;
  AltKruppAG      := 0;
  AltMercedes     := 0;
  AltPhoenix      := 0;
  AltPorsche      := 0;
  AltSiemens      := 0;
  AltSony         := 0;
  AltSpringer     := 0;
  AltThyssen      := 0;
  AltVarta        := 0;
  AltVEW          := 0;
END;

PROCEDURE AEGKaufen;
BEGIN
  Guthaben := Guthaben - AEG[1];
  AEG[2] := AEG[2] + 1;
  AEG[3] := AEG[3] - 1;
END;

PROCEDURE BASFKaufen;
BEGIN
  Guthaben := Guthaben - BASF[1];
  BASF[2] := BASF[2] + 1;
  BASF[3] := BASF[3] - 1;
END;

PROCEDURE BertelsmannKaufen;
BEGIN
  Guthaben := Guthaben - Bertelsmann[1];
  Bertelsmann[2] := Bertelsmann[2] + 1;
  Bertelsmann[3] := Bertelsmann[3] - 1;
END;

PROCEDURE BMWKaufen;
BEGIN
  Guthaben := Guthaben - BMW[1];
  BMW[2] := BMW[2] + 1;
  BMW[3] := BMW[3] - 1;
END;

PROCEDURE BPKaufen;
BEGIN
  Guthaben := Guthaben - BP[1];
  BP[2] := BP[2] + 1;
  BP[3] := BP[3] - 1;
END;

PROCEDURE ContinentalKaufen;
BEGIN
  Guthaben := Guthaben - Continental[1];
  Continental[2] := Continental[2] + 1;
  Continental[3] := Continental[3] - 1;
END;

PROCEDURE DresdnerBankKaufen;
BEGIN
  Guthaben := Guthaben - DresdnerBank[1];
  DresdnerBank[2] := DresdnerBank[2] + 1;
  DresdnerBank[3] := DresdnerBank[3] - 1;
END;

PROCEDURE HoechstKaufen;
BEGIN
  Guthaben := Guthaben - Hoechst[1];
  Hoechst[2] := Hoechst[2] + 1;
  Hoechst[3] := Hoechst[3] - 1;
END;

PROCEDURE IBMKaufen;
BEGIN
  Guthaben := Guthaben - IBM[1];
  IBM[2] := IBM[2] + 1;
  IBM[3] := IBM[3] - 1;
END;

PROCEDURE KarstadtKaufen;
BEGIN
  Guthaben := Guthaben - Karstadt[1];
  Karstadt[2] := Karstadt[2] + 1;
  Karstadt[3] := Karstadt[3] - 1;
END;

PROCEDURE KruppAGKaufen;
BEGIN
  Guthaben := Guthaben - KruppAG[1];
  KruppAG[2] := KruppAG[2] + 1;
  KruppAG[3] := KruppAG[3] - 1;
END;

PROCEDURE MercedesKaufen;
BEGIN
  Guthaben := Guthaben - Mercedes[1];
  Mercedes[2] := Mercedes[2] + 1;
  Mercedes[3] := Mercedes[3] - 1;
END;

PROCEDURE PhoenixKaufen;
BEGIN
  Guthaben := Guthaben - Phoenix[1];
  Phoenix[2] := Phoenix[2] + 1;
  Phoenix[3] := Phoenix[3] - 1;
END;

PROCEDURE PorscheKaufen;
BEGIN
  Guthaben := Guthaben - Porsche[1];
  Porsche[2] := Porsche[2] + 1;
  Porsche[3] := Porsche[3] - 1;
END;

PROCEDURE SiemensKaufen;
BEGIN
  Guthaben := Guthaben - Siemens[1];
  Siemens[2] := Siemens[2] + 1;
  Siemens[3] := Siemens[3] - 1;
END;

PROCEDURE SonyKaufen;
BEGIN
  Guthaben := Guthaben - Sony[1];
  Sony[2] := Sony[2] + 1;
  Sony[3] := Sony[3] - 1;
END;

PROCEDURE SpringerKaufen;
BEGIN
  Guthaben := Guthaben - Springer[1];
  Springer[2] := Springer[2] + 1;
  Springer[3] := Springer[3] - 1;
END;

PROCEDURE ThyssenKaufen;
BEGIN
  Guthaben := Guthaben - Thyssen[1];
  Thyssen[2] := Thyssen[2] + 1;
  Thyssen[3] := Thyssen[3] - 1;
END;

PROCEDURE VartaKaufen;
BEGIN
  Guthaben := Guthaben - Varta[1];
  Varta[2] := Varta[2] + 1;
  Varta[3] := Varta[3] - 1;
END;

PROCEDURE VEWKaufen;
BEGIN
  Guthaben := Guthaben - VEW[1];
  VEW[2] := VEW[2] + 1;
  VEW[3] := VEW[3] - 1;
END;

PROCEDURE VEWVerkaufen;
BEGIN
  Guthaben := Guthaben + VEW[1];
  VEW[2] := VEW[2] - 1;
  VEW[3] := VEW[3] + 1;
END;

PROCEDURE AEGVerkaufen;
BEGIN
  Guthaben := Guthaben + AEG[1];
  AEG[2] := AEG[2] - 1;
  AEG[3] := AEG[3] + 1;
END;

PROCEDURE BASFVerkaufen;
BEGIN
  Guthaben := Guthaben + BASF[1];
  BASF[2] := BASF[2] - 1;
  BASF[3] := BASF[3] + 1;
END;

PROCEDURE BertelsmannVerkaufen;
BEGIN
  Guthaben := Guthaben + Bertelsmann[1];
  Bertelsmann[2] := Bertelsmann[2] - 1;
  Bertelsmann[3] := Bertelsmann[3] + 1;
END;

PROCEDURE BMWVerkaufen;
BEGIN
  Guthaben := Guthaben + BMW[1];
  BMW[2] := BMW[2] - 1;
  BMW[3] := BMW[3] + 1;
END;

PROCEDURE BPVerkaufen;
BEGIN
  Guthaben := Guthaben + BP[1];
  BP[2] := BP[2] - 1;
  BP[3] := BP[3] + 1;
END;

PROCEDURE ContinentalVerkaufen;
BEGIN
  Guthaben := Guthaben + Continental[1];
  Continental[2] := Continental[2] - 1;
  Continental[3] := Continental[3] + 1;
END;

PROCEDURE DresdnerBankVerkaufen;
BEGIN
  Guthaben := Guthaben + DresdnerBank[1];
  DresdnerBank[2] := DresdnerBank[2] - 1;
  DresdnerBank[3] := DresdnerBank[3] + 1;
END;

PROCEDURE HoechstVerkaufen;
BEGIN
  Guthaben := Guthaben + Hoechst[1];
  Hoechst[2] := Hoechst[2] - 1;
  Hoechst[3] := Hoechst[3] + 1;
END;

PROCEDURE IBMVerkaufen;
BEGIN
  Guthaben := Guthaben + IBM[1];
  IBM[2] := IBM[2] - 1;
  IBM[3] := IBM[3] + 1;
END;

PROCEDURE KarstadtVerkaufen;
BEGIN
  Guthaben := Guthaben + Karstadt[1];
  Karstadt[2] := Karstadt[2] - 1;
  Karstadt[3] := Karstadt[3] + 1;
END;

PROCEDURE KruppAGVerkaufen;
BEGIN
  Guthaben := Guthaben + KruppAG[1];
  KruppAG[2] := KruppAG[2] - 1;
  KruppAG[3] := KruppAG[3] + 1;
END;

PROCEDURE MercedesVerkaufen;
BEGIN
  Guthaben := Guthaben + Mercedes[1];
  Mercedes[2] := Mercedes[2] - 1;
  Mercedes[3] := Mercedes[3] + 1;
END;

PROCEDURE PhoenixVerkaufen;
BEGIN
  Guthaben := Guthaben + Phoenix[1];
  Phoenix[2] := Phoenix[2] - 1;
  Phoenix[3] := Phoenix[3] + 1;
END;

PROCEDURE PorscheVerkaufen;
BEGIN
  Guthaben := Guthaben + Porsche[1];
  Porsche[2] := Porsche[2] - 1;
  Porsche[3] := Porsche[3] + 1;
END;

PROCEDURE SiemensVerkaufen;
BEGIN
  Guthaben := Guthaben + Siemens[1];
  Siemens[2] := Siemens[2] - 1;
  Siemens[3] := Siemens[3] + 1;
END;

PROCEDURE SonyVerkaufen;
BEGIN
  Guthaben := Guthaben + Sony[1];
  Sony[2] := Sony[2] - 1;
  Sony[3] := Sony[3] + 1;
END;

PROCEDURE SpringerVerkaufen;
BEGIN
  Guthaben := Guthaben + Springer[1];
  Springer[2] := Springer[2] - 1;
  Springer[3] := Springer[3] + 1;
END;

PROCEDURE ThyssenVerkaufen;
BEGIN
  Guthaben := Guthaben + Thyssen[1];
  Thyssen[2] := Thyssen[2] - 1;
  Thyssen[3] := Thyssen[3] + 1;
END;

PROCEDURE VartaVerkaufen;
BEGIN
  Guthaben := Guthaben + Varta[1];
  Varta[2] := Varta[2] - 1;
  Varta[3] := Varta[3] + 1;
END;

PROCEDURE Kaufen;
BEGIN
  REPEAT;
  REPEAT;
  CLRSCR(f);
  COORD(1,1); WRITELN(f,Spielername,' --- Guthaben: ',Guthaben,' --- Tag: ',Tag);
  COORD(1,3); WRITELN(f,'Nr. |Firma           |  Kurs  | im Besitz | auf dem Markt ');
  COORD(1,4); WRITELN(f,'----+----------------+--------+-----------+---------------');
  COORD(1,5); WRITELN(f,' 1  | AEG            | ',AEG[1]:5,'  | ',AEG[2]:9,' | ',AEG[3]);
  COORD(1,6); WRITELN(f,' 2  | BASF           | ',BASF[1]:5,'  | ',BASF[2]:9,' | ',BASF[3]);
  COORD(1,7); WRITELN(f,' 3  | Bertelsmann    | ',Bertelsmann[1]:5,'  | ',Bertelsmann[2]:9,' | ',Bertelsmann[3]);
  COORD(1,8); WRITELN(f,' 4  | BMW            | ',BMW[1]:5,'  | ',BMW[2]:9,' | ',BMW[3]);
  COORD(1,9); WRITELN(f,' 5  | BP             | ',BP[1]:5,'  | ',BP[2]:9,' | ',BP[3]);
  COORD(1,10);WRITELN(f,' 6  | Continental    | ',Continental[1]:5,'  | ',Continental[2]:9,' | ',Continental[3]);
  COORD(1,11);WRITELN(f,' 7  | Dresdner Bank  | ',DresdnerBank[1]:5,'  | ',DresdnerBank[2]:9,' | ',DresdnerBank[3]);
  COORD(1,12);WRITELN(f,' 8  | Hoechst        | ',Hoechst[1]:5,'  | ',Hoechst[2]:9,' | ',Hoechst[3]);
  COORD(1,13);WRITELN(f,' 9  | IBM            | ',IBM[1]:5,'  | ',IBM[2]:9,' | ',IBM[3]);
  COORD(1,14);WRITELN(f,' 10 | Karstadt       | ',Karstadt[1]:5,'  | ',Karstadt[2]:9,' | ',Karstadt[3]);
  COORD(1,15);WRITELN(f,' 11 | Krupp AG       | ',KruppAG[1]:5,'  | ',KruppAG[2]:9,' | ',KruppAG[3]);
  COORD(1,16);WRITELN(f,' 12 | Mercedes       | ',Mercedes[1]:5,'  | ',Mercedes[2]:9,' | ',Mercedes[3]);
  COORD(1,17);WRITELN(f,' 13 | Phoenix        | ',Phoenix[1]:5,'  | ',Phoenix[2]:9,' | ',Phoenix[3]);
  COORD(1,18);WRITELN(f,' 14 | Porsche        | ',Porsche[1]:5,'  | ',Porsche[2]:9,' | ',Porsche[3]);
  COORD(1,19);WRITELN(f,' 15 | Siemens        | ',Siemens[1]:5,'  | ',Siemens[2]:9,' | ',Siemens[3]);
  COORD(1,20);WRITELN(f,' 16 | Sony           | ',Sony[1]:5,'  | ',Sony[2]:9,' | ',Sony[3]);
  COORD(1,21);WRITELN(f,' 17 | Springer       | ',Springer[1]:5,'  | ',Springer[2]:9,' | ',Springer[3]);
  COORD(1,22);WRITELN(f,' 18 | Thyssen        | ',Thyssen[1]:5,'  | ',Thyssen[2]:9,' | ',Thyssen[3]);
  COORD(1,23);WRITELN(f,' 19 | Varta          | ',Varta[1]:5,'  | ',Varta[2]:9,' | ',Varta[3]);
  COORD(1,24);WRITELN(f,' 20 | VEW            | ',VEW[1]:5,'  | ',VEW[2]:9,' | ',VEW[3]);
  COORD(1,26);WRITE(f,' Welche Aktie wollen Sie kaufen (0 = Exit)? Nr.: '); READLN(f,Wahl);
  UNTIL (Wahl > -1) AND (Wahl < 21);
  CASE Wahl OF
  0 : Nothing
  1 : IF AEG[3] = 0 THEN Nothing
                    ELSE AEGKaufen;
  2 : IF BASF[3] = 0 THEN Nothing
                     ELSE BASFKaufen;
  3 : IF Bertelsmann[3] = 0 THEN Nothing
                            ELSE Bertelsmannkaufen
  4 : IF BMW[3] = 0 THEN Nothing
                    ELSE BMWKaufen;
  5 : IF BP[3] = 0 THEN Nothing
                   ELSE BPKaufen;
  6 : IF Continental[3] = 0 THEN Nothing
                            ELSE ContinentalKaufen;
  7 : IF DresdnerBank[3] = 0 THEN Nothing
                             ELSE DresdnerBankKaufen;
  8 : IF Hoechst[3] = 0 THEN Nothing
                        ELSE HoechstKaufen;
  9 : IF IBM[3] = 0 THEN Nothing
                    ELSE IBMKaufen;
  10: IF Karstadt[3] = 0 THEN Nothing
                      ELSE KarstadtKaufen;
  11: IF KruppAG[3] = 0 THEN Nothing
                     ELSE KruppAGKaufen;
  12: IF Mercedes[3] = 0 THEN Nothing
                         ELSE MercedesKaufen;
  13: IF Phoenix[3] = 0 THEN Nothing
                        ELSE PhoenixKaufen;
  14: IF Porsche[3] = 0 THEN Nothing
                        ELSE PorscheKaufen;
  15: IF Siemens[3] = 0 THEN Nothing
                        ELSE Siemenskaufen;
  16: IF Sony[3] = 0 THEN Nothing
                     ELSE Sonykaufen;
  17: IF Springer[3] = 0 THEN Nothing
                         ELSE Springerkaufen;
  18: IF Thyssen[3] = 0 THEN Nothing
                        ELSE Thyssenkaufen;
  19: IF Varta[3] = 0 THEN Nothing
                      ELSE Vartakaufen;
  20: IF VEW[3] = 0 THEN Nothing
                    ELSE VEWKaufen;
 END;
 UNTIL Wahl = 0;
END;

PROCEDURE Verkaufen;
BEGIN
  REPEAT;
  REPEAT;
  CLRSCR(f);
  COORD(1,1); WRITELN(f,Spielername,' --- Guthaben: ',Guthaben:8,' --- Tag: ',Tag);
  COORD(1,3); WRITELN(f,'Nr. |Firma           |  Kurs  | im Besitz | auf dem Markt ');
  COORD(1,4); WRITELN(f,'----+----------------+--------+-----------+---------------');
  IF AEG[2] = 0 THEN Nothing
                ELSE WRITELN(f,' 1  | AEG            | ',AEG[1]:5,'  | ',AEG[2]:9,' | ',AEG[3]);
  IF BASF[2] = 0 THEN Nothing
                 ELSE WRITELN(f,' 2  | BASF           | ',BASF[1]:5,'  | ',BASF[2]:9,' | ',BASF[3]);
  IF Bertelsmann[2] = 0 THEN Nothing
                        ELSE WRITELN(f,' 3  | Bertelsmann    | ',Bertelsmann[1]:5,'  | ',Bertelsmann[2]:9,' | ',Bertelsmann[3]);
  IF BMW[2] = 0 THEN Nothing
                ELSE WRITELN(f,' 4  | BMW            | ',BMW[1]:5,'  | ',BMW[2]:9,' | ',BMW[3]);
  IF BP[2] = 0 THEN Nothing
               ELSE WRITELN(f,' 5  | BP             | ',BP[1]:5,'  | ',BP[2]:9,' | ',BP[3]);
  IF Continental[2] = 0 THEN Nothing
                        ELSE WRITELN(f,' 6  | Continental    | ',Continental[1]:5,'  | ',Continental[2]:9,' | ',Continental[3]);
  IF DresdnerBank[2] = 0 THEN Nothing
                         ELSE WRITELN(f,' 7  | Dresdner Bank  | ',DresdnerBank[1]:5,'  | ',DresdnerBank[2]:9,' | ',DresdnerBank[3]);
  IF Hoechst[2] = 0 THEN Nothing
                    ELSE WRITELN(f,' 8  | Hoechst        | ',Hoechst[1]:5,'  | ',Hoechst[2]:9,' | ',Hoechst[3]);
  IF IBM[2] = 0 THEN Nothing
                ELSE WRITELN(f,' 9  | IBM            | ',IBM[1]:5,'  | ',IBM[2]:9,' | ',IBM[3]);
  IF Karstadt[2] = 0 THEN Nothing
                     ELSE WRITELN(f,' 10 | Karstadt       | ',Karstadt[1]:5,'  | ',Karstadt[2]:9,' | ',Karstadt[3]);
  IF KruppAG[2] = 0 THEN Nothing
                    ELSE WRITELN(f,' 11 | Krupp AG       | ',KruppAG[1]:5,'  | ',KruppAG[2]:9,' | ',KruppAG[3]);
  IF Mercedes[2] = 0 THEN Nothing
                     ELSE WRITELN(f,' 12 | Mercedes       | ',Mercedes[1]:5,'  | ',Mercedes[2]:9,' | ',Mercedes[3]);
  IF Phoenix[2] = 0 THEN Nothing
                    ELSE WRITELN(f,' 13 | Phoenix        | ',Phoenix[1]:5,'  | ',Phoenix[2]:9,' | ',Phoenix[3]);
  IF Porsche[2] = 0 THEN Nothing
                    ELSE WRITELN(f,' 14 | Porsche        | ',Porsche[1]:5,'  | ',Porsche[2]:9,' | ',Porsche[3]);
  IF Siemens[2] = 0 THEN Nothing
                    ELSE WRITELN(f,' 15 | Siemens        | ',Siemens[1]:5,'  | ',Siemens[2]:9,' | ',Siemens[3]);
  IF Sony[2] = 0 THEN Nothing
                 ELSE WRITELN(f,' 16 | Sony           | ',Sony[1]:5,'  | ',Sony[2]:9,' | ',Sony[3]);
  IF Springer[2] = 0 THEN Nothing
                     ELSE WRITELN(f,' 17 | Springer       | ',Springer[1]:5,'  | ',Springer[2]:9,' | ',Springer[3]);
  IF Thyssen[2] = 0 THEN Nothing
                    ELSE WRITELN(f,' 18 | Thyssen        | ',Thyssen[1]:5,'  | ',Thyssen[2]:9,' | ',Thyssen[3]);
  IF Varta[2] = 0 THEN Nothing
                  ELSE WRITELN(f,' 19 | Varta          | ',Varta[1]:5,'  | ',Varta[2]:9,' | ',Varta[3]);
  IF VEW[2] = 0 THEN Nothing
                ELSE WRITELN(f,' 20 | VEW            | ',VEW[1]:5,'  | ',VEW[2]:9,' | ',VEW[3]);
  COORD(1,26); WRITE(f,'Welche Aktie wollen Sie verkaufen (0 = Exit)? Nr.: '); READLN(f,Wahl);
  UNTIL (Wahl > -1) AND (Wahl < 21);
  CASE Wahl OF
  0 : Nothing;
  1 : IF AEG[2] = 0 THEN Nothing
                    ELSE AEGVerkaufen;
  2 : IF BASF[2] = 0 THEN Nothing
                     ELSE BASFVerkaufen;
  3 : IF Bertelsmann[2] = 0 THEN Nothing
                             ELSE BertelsmannVerkaufen;
  4 : IF BMW[2] = 0 THEN Nothing
                    ELSE BMWVerkaufen;
  5 : IF BP[2] = 0 THEN Nothing
                   ELSE BPVerkaufen;
  6 : IF Continental[2] = 0 THEN Nothing
                            ELSE ContinentalVerkaufen;
  7 : IF DresdnerBank[2] = 0 THEN Nothing
                             ELSE DresdnerBankVerkaufen;
  8 : IF Hoechst[2] = 0 THEN Nothing
                        ELSE HoechstVerkaufen;
  9 : IF IBM[2] = 0 THEN Nothing
                    ELSE IBMVerkaufen;
  10: IF Karstadt[2] = 0 THEN Nothing
                         ELSE KarstadtVerkaufen;
  11: IF KruppAG[2] = 0 THEN Nothing
                        ELSE KruppAGVerkaufen;
  12: IF Mercedes[2] = 0 THEN Nothing
                         ELSE MercedesVerkaufen;
  13: IF Phoenix[2] = 0 THEN Nothing
                        ELSE PhoenixVerkaufen;
  14: IF Porsche[2] = 0 THEN Nothing
                        ELSE PorscheVerkaufen;
  15: IF Siemens[2] = 0 THEN Nothing
                        ELSE SiemensVerkaufen;
  16: IF Sony[2] = 0 THEN Nothing
                     ELSE SonyVerkaufen;
  17: IF Springer[2] = 0 THEN Nothing
                         ELSE SpringerVerkaufen;
  18: IF Thyssen[2] = 0 THEN Nothing
                        ELSE ThyssenVerkaufen;
  19: IF Varta[2] = 0 THEN Nothing
                      ELSE VartaVerkaufen;
  20: IF VEW[2] = 0 THEN Nothing
                    ELSE VEWVerkaufen;
  END;
 UNTIL Wahl = 0;
END;

PROCEDURE Kurs;
VAR Return : STRING;
BEGIN
  CLRSCR(f);
  COORD(1,1); WRITELN(f,Spielername,' --- Guthaben: ',Guthaben:8,' --- Tag: ',Tag);
  COORD(1,3); WRITELN(f,'Nr. |Firma           |  Kurs  | alter Kurs');
  COORD(1,4); WRITELN(f,'----+----------------+--------+------------');
  COORD(1,5); WRITELN(f,' 1  | AEG            | ',AEG[1]:5,'  | ',AltAEG:5);
  COORD(1,6); WRITELN(f,' 2  | BASF           | ',BASF[1]:5,'  | ',AltBASF:5);
  COORD(1,7); WRITELN(f,' 3  | Bertelsmann    | ',Bertelsmann[1]:5,'  | ',AltBertelsmann:5);
  COORD(1,8); WRITELN(f,' 4  | BMW            | ',BMW[1]:5,'  | ',AltBMW:5);
  COORD(1,9); WRITELN(f,' 5  | BP             | ',BP[1]:5,'  | ',AltBP:5);
  COORD(1,10);WRITELN(f,' 6  | Continental    | ',Continental[1]:5,'  | ',AltContinental:5);
  COORD(1,11);WRITELN(f,' 7  | DresdnerBank   | ',DresdnerBank[1]:5,'  | ',AltDresdnerBank:5);
  COORD(1,12);WRITELN(f,' 8  | Hoechst        | ',Hoechst[1]:5,'  | ',AltHoechst:5);
  COORD(1,13);WRITELN(f,' 9  | IBM            | ',IBM[1]:5,'  | ',AltIBM:5);
  COORD(1,14);WRITELN(f,'10  | Karstadt       | ',Karstadt[1]:5,'  | ',AltKarstadt:5);
  COORD(1,15);WRITELN(f,'11  | Krupp AG       | ',KruppAG[1]:5,'  | ',AltKruppAG:5);
  COORD(1,16);WRITELN(f,'12  | Mercedes       | ',Mercedes[1]:5,'  | ',AltMercedes:5);
  COORD(1,17);WRITELN(f,'13  | Phoenix        | ',Phoenix[1]:5,'  | ',AltPhoenix:5);
  COORD(1,18);WRITELN(f,'14  | Porsche        | ',Porsche[1]:5,'  | ',AltPorsche:5);
  COORD(1,19);WRITELN(f,'15  | Siemens        | ',Siemens[1]:5,'  | ',AltSiemens:5);
  COORD(1,20);WRITELN(f,'16  | Sony           | ',Sony[1]:5,'  | ',AltSony:5);
  COORD(1,21);WRITELN(f,'17  | Springer       | ',Springer[1]:5,'  | ',AltSpringer:5);
  COORD(1,22);WRITELN(f,'18  | Thyssen        | ',Thyssen[1]:5,'  | ',AltThyssen:5);
  COORD(1,23);WRITELN(f,'19  | Varta          | ',Varta[1]:5,'  | ',AltVarta:5);
  COORD(1,24);WRITELN(f,'20  | VEW            | ',VEW[1]:5,'  | ',AltVEW:5);
  COORD(1,26); READLN(f,Return);
END;

PROCEDURE Spielmenu;
BEGIN
  REPEAT;
  CLRSCR(f);
  COORD(1,1);  WRITELN(f,Spielername,' --- Guthaben: ',Guthaben:8,' --- Tag: ',Tag);
  COORD(15,3); WRITELN(f,'       »» Menü ««');
  COORD(15,5); WRITELN(f,'[1] ... Aktien kaufen');
  COORD(15,6); WRITELN(f,'[2] ... Aktien verkaufen');
  COORD(15,7); WRITELN(f,'[3] ... Aktienkurs ansehen');
  COORD(15,8); WRITELN(f,'[4] ... Zug beendet!');
  COORD(15,9); WRITELN(f,'[5] ... Spiel beenden');
  COORD(13,11);WRITE(f,'> '); READLN(f,Wahl);
  UNTIL (Wahl > 0) AND (Wahl < 6);
END;

PROCEDURE Kursberechnung;
VAR ZuffiZiffer,Zuffiziffer2 : INTEGER;
BEGIN
  Tag := Tag + 1;
  AltAEG          := AEG[1];
  AltBASF         := BASF[1];
  AltBertelsmann  := Bertelsmann[1];
  AltBMW          := BMW[1];
  AltBP           := BP[1];
  AltContinental  := Continental[1];
  AltDresdnerBank := DresdnerBank[1];
  AltHoechst      := Hoechst[1];
  AltIBM          := IBM[1];
  AltKarstadt     := Karstadt[1];
  AltKruppAG      := KruppAG[1];
  AltMercedes     := Mercedes[1];
  AltPhoenix      := Phoenix[1];
  AltPorsche      := Porsche[1];
  AltSiemens      := Siemens[1];
  AltSony         := Sony[1];
  AltSpringer     := Springer[1];
  AltThyssen      := Thyssen[1];
  AltVarta        := Varta[1];
  AltVEW          := VEW[1];

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN AEG[1] := AEG[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                    AEG[1] := (AEG[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     AEG[1] := AEG[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN BASF[1] := BASF[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   BASF[1] := (BASF[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     BASF[1] := BASF[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Bertelsmann[1] := Bertelsmann[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Bertelsmann[1] := (Bertelsmann[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Bertelsmann[1] := Bertelsmann[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN BMW[1] := BMW[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   BMW[1] := (BMW[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     BMW[1] := BMW[1] + 2 + Zuffiziffer;
                                   END;
  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN BP[1] := BP[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   BP[1] := (BP[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     BP[1] := BP[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Continental[1] := Continental[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Continental[1] := (Continental[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Continental[1] := Continental[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN DresdnerBank[1] := DresdnerBank[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   DresdnerBank[1] := (DresdnerBank[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     DresdnerBank[1] := DresdnerBank[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Hoechst[1] := Hoechst[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Hoechst[1] := (Hoechst[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Hoechst[1] := Hoechst[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN IBM[1] := IBM[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   IBM[1] := (IBM[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     IBM[1] := IBM[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Karstadt[1] := Karstadt[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Karstadt[1] := (Karstadt[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Karstadt[1] := Karstadt[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN KruppAG[1] := KruppAG[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   KruppAG[1] := (KruppAG[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     KruppAG[1] := KruppAG[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Mercedes[1] := Mercedes[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Mercedes[1] := (BASF[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Mercedes[1] := Mercedes[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Phoenix[1] := Phoenix[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Phoenix[1] := (Phoenix[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Phoenix[1] := Phoenix[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Porsche[1] := Porsche[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Porsche[1] := (Porsche[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Porsche[1] := Porsche[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Siemens[1] := Siemens[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Siemens[1] := (Siemens[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Siemens[1] := Siemens[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Sony[1] := Sony[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Sony[1] := (Sony[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     SOny[1] := Sony[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Springer[1] := Springer[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Springer[1] := (Springer[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Springer[1] := Springer[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Thyssen[1] := Thyssen[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Thyssen[1] := (Thyssen[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Thyssen[1] := Thyssen[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN Varta[1] := Varta[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   Varta[1] := (Varta[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     Varta[1] := Varta[1] + 2 + Zuffiziffer;
                                   END;

  ZuffiZiffer := RANDOM(30);
  IF Zuffiziffer <= 0 THEN VEW[1] := VEW[1];
  IF ODD(Zuffiziffer)  = TRUE THEN BEGIN              {* Zahl ungerade -> Kurs fällt *}
                                    ZuffiZiffer2 := RANDOM(5+Zuffiziffer);
                                   VEW[1] := (VEW[1] - 25) + Zuffiziffer2;
                                  END;
  IF ODD(Zuffiziffer) = FALSE THEN BEGIN             {* Zahl gerade   -> Kurs steigt *}
                                     Zuffiziffer2 := RANDOM(5+Zuffiziffer*2);
                                     VEW[1] := VEW[1] + 2 + Zuffiziffer;
                                   END;
   IF AEG[1] < 0 THEN AEG[1] := 0;
   IF Bertelsmann[1] < 0 THEN Bertelsmann[1] := 0;
   IF BMW[1] < 0 THEN BMW[1] := 0;
   IF BP[1] < 0 THEN BP[1] := 0;
   IF Continental[1] < 0 THEN Continental[1] := 0;
   IF DresdnerBank[1] < 0 THEN DresdnerBank[1] := 0;
   IF Hoechst[1] < 0 THEN Hoechst[1] := 0;
   IF IBM[1] < 0 THEN IBM[1] := 0;
   IF Karstadt[1] < 0 THEN Karstadt[1] := 0;
   IF KruppAG[1] < 0 THEN KruppAG[1] := 0;
   IF Mercedes[1] < 0 THEN Mercedes[1] := 0;
   IF Phoenix[1] < 0 THEN Phoenix[1] := 0;
   IF Porsche[1] < 0 THEN Porsche[1] := 0;
   IF Siemens[1] < 0 THEN Siemens[1] := 0;
   IF Sony[1] < 0 THEN Siemens[1] := 0;
   IF Springer[1] < 0 THEN Springer[1] := 0;
   IF Thyssen[1] < 0 THEN Thyssen[1] := 0;
   IF Varta[1] < 0 THEN Varta[1] := 0;
   IF VEW[1] < 0 THEN VEW[1] := 0;
  Kurs;
END;

PROCEDURE Auswertung;
VAR Return : STRING;
BEGIN
  CLRSCR(f);
  IF AEG[2] > 0 THEN Guthaben := Guthaben + AEG[1] * AEG[2];
  IF BASF[2] > 0 THEN Guthaben := Guthaben + BASF[1] * BASF[2];
  IF Bertelsmann[2] > 0 THEN Guthaben := Guthaben + Bertelsmann[2] * Bertelsmann[1];
  IF BMW[2] > 0 THEN Guthaben := Guthaben + BMW[2] * BMW[1];
  IF BP[2] > 0 THEN Guthaben := Guthaben + BP[2] * BP[1];
  IF Continental[2] > 0 THEN Guthaben := Guthaben + Continental[1] * Continental[2];
  IF DresdnerBank[2] > 0 THEN Guthaben := Guthaben + DresdnerBank[1] * DresdnerBank[2];
  IF Hoechst[2] > 0 THEN Guthaben := Guthaben + Hoechst[2] * Hoechst[1];
  IF IBM[2] > 0 THEN Guthaben := Guthaben + IBM[2] * IBM[1];
  IF Karstadt[2] > 0 THEN Guthaben := Guthaben + Karstadt[1] * Karstadt[2];
  IF KruppAG[2] > 0 THEN Guthaben := Guthaben + KruppAG[2] * KruppAG[1];
  IF Mercedes[2] > 0 THEN Guthaben := Guthaben + Mercedes[2] * Mercedes[1];
  IF Phoenix[2] > 0 THEN Guthaben := Guthaben + Phoenix[2] * Phoenix[1];
  IF Porsche[2] > 0 THEN Guthaben := Guthaben + Porsche[2] * Porsche[1];
  IF Siemens[2] > 0 THEN Guthaben := Guthaben + Siemens[2] * Siemens[1];
  IF Sony[2] > 0 THEN Guthaben := Guthaben + Sony[2] * Sony[1];
  IF Springer[2] > 0 THEN Guthaben := Guthaben + Springer[2] * Springer[1];
  IF Thyssen[2] > 0 THEN Guthaben := Guthaben + Thyssen[2] * Thyssen[1];
  IF Varta[2] > 0 THEN Guthaben := Guthaben + Varta[2] * Varta[1];
  IF VEW[2] > 0 THEN Guthaben := Guthaben + VEW[2] * VEW[1];
  COORD(10,15);WRITELN(f,Spielername,', Sie haben ',Guthaben:8,' DM erwirtschaftet!');
  COORD(10,16);
  IF Guthaben < 10001 THEN WRITELN(f,'Aber leider ist das nicht genug... Sie haben verloren...');
  IF Guthaben > 10000 THEN WRITELN(f,'Sie haben Geschick bewiesen, denn Sie haben die 10000DM vermehrt...');
  COORD(18,17);WRITE(f,'[RETURN] ');READLN(f,Return);
  Guthaben := 10000;
  Tag := 1;
  Voreinstellungen;
END;

PROCEDURE AskName;
BEGIN
  CLRSCR(f);WRITELN(f);WRITELN(f);WRITE(f,'Bitte geben Sie Ihren Namen ein: '); READLN(f,SpielerName);
  CLRSCR(f);
END;

PROCEDURE Spiel;
BEGIN
  CLRSCR(f);
  AskName;
  Voreinstellungen;
  REPEAT;
  REPEAT;
  Spielmenu;
  IF Wahl = 1 THEN Kaufen;
  IF Wahl = 2 THEN Verkaufen;
  IF Wahl = 3 THEN Kurs;
  IF Wahl = 4 THEN Nothing;
  IF Wahl = 5 THEN EXIT;
  UNTIL Wahl = 4;
  Kursberechnung;
  UNTIL Tag = 46;
  Auswertung;
END;

BEGIN
  Guthaben := 10000;
  Tag      := 1;
  ASSIGN(f,'CON:0/0/640/256/Börse');
  RESET(f);
  IF EOF(f) THEN ERROR('Could not open game window...');
  REPEAT;
  REPEAT;
  CLRSCR(f);
  COORD(15,2); WRITELN(f,'»» P L A N S P I E L  B Ö R S E ««');
  COORD(15,4); WRITELN(f,'[1] ... Spiel beginnen');
  COORD(15,5); WRITELN(f,'[2] ... Programmende');
  COORD(13,7);WRITE(f,'> '); READLN(f,Wahl);
  UNTIL (Wahl > 0) AND (Wahl < 3);
  IF Wahl = 1 THEN Spiel;
  IF Wahl = 2 THEN Nothing;
  UNTIL Wahl = 2;
  Close(f);
END.






