program pong;
	uses
		Getclick;

	const
		X0 = 5;
		X1 = 500;
		Y0 = 5;
		Y1 = 300;
		C = 5;                                     {le rayon de la balle}
	var
		x, y: integer;
		dx, dy: integer;
		r, s, f: Rect;
		p: Point;
		i: integer;

begin

	SetRect(f, 40, 40, 600, 400);    {fenetre}
	SetDrawingRect(f);
	ShowDrawing;
	SetRect(s, X0, Y0, X1, Y1);         {rectangle de jeu}
	FrameRect(s);

	GetClick(p);
	x := p.h;
	y := p.v;                                    {On note les coordonne'es du pointeur}
	dx := 1;                                     {La vitesse initiale}
	dy := 1;                                     {de la balle}

	while (not Button) do
		begin
			SetRect(r, x - C, y - C, x + C, y + C);
			PaintOval(r);                         {On dessine la balle en (x,y)}
			x := x + dx;
			if (x - C <= X0 + 1) or (x + C >= X1 - 1) then
				dx := -dx;
			y := y + dy;
			if (y - C <= Y0 + 1) or (y + C >= Y1 - 1) then
				dy := -dy;
			for i := 1 to 5000 do
				i := i + 1;                            {On temporise}
			InvertOval(r);                        {On efface la balle}
		end

end.