unit table; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TBoard = class(TForm) s1: TShape; s2: TShape; s3: TShape; procedure s1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure s2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure shuffle; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Board: TBoard; implementation {$R *.DFM} procedure TBoard.s1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin showmessage('You Win!'); shuffle end; procedure TBoard.s2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Showmessage('Try Again'); shuffle end; procedure TBoard.shuffle; begin s1.top := random(clientheight-s1.height)+1; s1.left := random(clientwidth-s1.width)+1; s2.top := random(clientheight-s2.height)+1; s2.left := random(clientwidth-s2.width)+1; s3.top := random(clientheight-s3.height)+1; s3.left := random(clientwidth-s3.width)+1; end; procedure TBoard.FormCreate(Sender: TObject); begin shuffle end; end.