{ (c) 1998 CREEQ <creeq@web.de> }
program Fang_Mich;
uses Crt;
var x, y      : byte;
    c         : string;
    a, b      : byte;
    g, h      : byte;
    win, lose : byte;
    done      : boolean;
    zeit      : integer;
    speed     : word;

procedure quit(o,p:byte);
begin
  clrscr;
  writeln('Gewonnene Spiele: ',o);
  writeln('Verlorene Spiele: ',p);
  readkey;
  textcolor(lightgray);
  clrscr;
  halt(0);
end;

procedure game;
begin
  if speed = 5000 then quit(win,lose);
  clrscr;
  zeit := 0;
  randomize;
  x := random(79)+1;
  y := random(23)+1;
  a := random(79)+1;
  b := random(23)+1;
  g := random(79)+1;
  h := random(23)+1;
  repeat
    textcolor(lightgray);
    if x = 80 then dec(x);
    if x = 0 then inc(x);
    if y = 24 then dec(y);
    if y = 0 then inc(y);
    gotoxy(a,b);
    write(#1);
    gotoxy(g,h);
    write(#15);
    gotoxy(x,y);
    write(#2);
    if keypressed then
    begin
      c := readkey;
      if c = #27 then quit(win,lose);
      if c = #52 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        dec(x);
      end;
      if c = #54 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        inc(x);
      end;
      if c = #56 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        dec(y);
      end;
      if c = #50 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        inc(y);
      end;
      if c = #49 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        dec(x);
        inc(y);
      end;
      if c = #51 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        inc(x);
        inc(y);
      end;
      if c = #55 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        dec(y);
        dec(x);
      end;
      if c = #57 then
      begin
        gotoxy(x,y);
        textcolor(black);
        write(#1);
        inc(x);
        dec(y);
      end;
    end;
    if a = x then if b = y then begin inc(lose); game; end;
    if x = g then if y = h then begin inc(win); game; dec(speed,100); end;
    if zeit = speed then
    begin
    done := false;
    if done = false then if x < a then if y < b then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      dec(a);
      dec(b);
      done := true;
    end;
    if done = false then if x > a then if y > b then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      inc(a);
      inc(b);
      done := true;
    end;
    if done = false then if x < a then if y > b then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      dec(a);
      inc(b);
      done := true;
    end;
    if done = false then if x > a then if y < b then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      inc(a);
      dec(b);
      done := true;
    end;
    if done = false then if x > a then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      inc(a);
      done := true;
    end;
    if done = false then if x < a then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      dec(a);
      done := true;
    end;
    if done = false then if y > b then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      inc(b);
      done := true;
    end;
    if done = false then if y < b then
    begin
      gotoxy(a,b);
      textcolor(black);
      write(#1);
      dec(b);
      done := true;
    end;
    zeit := 0;
    end;
    inc(zeit);
  until false;
end;

begin
  win := 0;
  lose := 0;
  speed := 10000;
  game;
end.
