home *** CD-ROM | disk | FTP | other *** search
- unit slavekal;
-
- interface
- uses crt,constkal;
-
-
- type
-
- inoutfeld = record
- x0,y0 : integer;
- hoehe,breite : integer;
- end;
-
- tbrett = record
- x0,y0,hoehe,breite,xabstand,yabstand : integer;
- kalaha1,kalaha2 : array[1..2] of integer;
- feld1 : array[1..feldlen,1..2] of integer;
- feld2 : array[1..feldlen,1..2] of integer;
- infofeld : inoutfeld;
- computerinfo : inoutfeld;
- end;
-
- var
- brett : tbrett;
-
- procedure kasten(xpos,ypos,xlen,ylen : integer);
- procedure beschreibung;
- procedure spielbrettaufbau;
- procedure infoausgabe(str : string);
- procedure cinfoausgabe(str : string);
-
-
- implementation
-
- procedure kasten(xpos,ypos,xlen,ylen : integer);
- var i : integer;
- begin
- gotoxy(xpos,ypos);
- write(chr(201));
- for i:=1 to xlen - 2 do write(chr(205));
- write(chr(187));
- for i:=1 to ylen - 2 do
- begin
- gotoxy(xpos,ypos+i);
- write(chr(186));
- end;
- gotoxy(xpos,ypos+ylen-1);
- write(chr(200));
- for i:=1 to xlen - 2 do write(chr(205));
- for i:=1 to ylen - 2 do
- begin
- gotoxy(xpos+xlen-1,ypos+i);
- write(chr(186));
- end;
- gotoxy(xpos+xlen-1,ypos+ylen-1);
- write(chr(188));
- end;
-
- procedure Beschreibung;
- var fp : text;
- c : char;
- begin
- assign(fp,hilfedatei);
- reset(fp);
- clrscr;
- writeln;
- while not eof(fp) do
- begin
- read(fp,c);
- write(c);
- end;
- close(fp);
- kasten(1,1,79,23);gotoxy(2,2);
- gotoxy(1,24);Write('Drücke CR um weiter zu machen ... ');
- c := readkey;
- end;
-
- procedure spielbrettaufbau;
- var i : integer;
- begin
- clrscr;
- with brett do begin
- kasten(kalaha1[1],kalaha1[2],2*breite+xabstand,hoehe);
- kasten(kalaha2[1],kalaha2[2],2*breite+xabstand,hoehe);
- for i:=1 to feldlen do
- begin
- kasten(feld1[i,1],feld1[i,2],breite,hoehe);
- gotoxy(feld1[i,1]-1,feld1[i,2]+1);write(i:1);
- kasten(feld2[i,1],feld2[i,2],breite,hoehe);
- gotoxy(feld2[i,1]+breite,feld2[i,2]+1);write(feldlen+1-i:1);
- end;
- with infofeld do begin
- kasten(x0,y0,breite,hoehe);
- end;
- with computerinfo do begin
- kasten(x0,y0,breite,hoehe);
- end;
- end;
- gotoxy(45,25);write(copywrite);
- end;
-
- procedure infoausgabe(str : string);
- procedure clearinfofeld;
- var i : integer;
- begin
- gotoxy(brett.infofeld.x0+1,brett.infofeld.y0+1);
- for i := 1 to brett.infofeld.breite-2 do write(' ');
- end;
-
- begin
- clearinfofeld;
- gotoxy(brett.infofeld.x0+2,brett.infofeld.y0+1);
- write(str);
- end;
-
- procedure cinfoausgabe(str : string);
- procedure clearcinfofeld;
- var i : integer;
- begin
- gotoxy(brett.computerinfo.x0+1,brett.computerinfo.y0+1);
- for i := 1 to brett.computerinfo.breite-2 do write(' ');
- end;
-
- begin
- clearcinfofeld;
- gotoxy(brett.computerinfo.x0+2,brett.computerinfo.y0+1);
- write(str);
- end;
-
- end.
-
-