program test(input, output); uses gralib; label 99; const accel = 20; var x, y, xd, yd, i: integer; procedure wait; var er: evtrec; { event record } begin repeat event(input, er) until (er.etype = etframe) or (er.etype = etterm); if er.etype = etterm then goto 99 end; begin auto(output, false); curvis(output, false); fcolor(output, white); fxor(output); x := 1; y := 1; xd := +1; yd := +1; frame(output, true); while true do begin for i := 1 to accel do begin setpixel(output, x, y); x := x+xd; y := y+yd; if (x = 1) or (x = maxxg(output)) then xd := -xd; if (y = 1) or (y = maxyg(output)) then yd := -yd end; wait end; 99: auto(output, true); curvis(output, true) end.