procedure TForm1.Timer1Timer(Sender: TObject); var i,j : integer; begin paintbox1.canvas.Pen.Color := clwhite; paintbox1.canvas.Rectangle(0,0,500,500); for i := 1 to 14 do for j := 1 to 8 do begin paintbox1.canvas.Pen.Color := clblack; paintbox1.canvas.Ellipse(j*25-1,i*25-1,j*25+1,i*25+1); if map2[i,j,1] = false then begin paintbox1.canvas.MoveTo(j*25,i*25); paintbox1.canvas.LineTo(j*25+25,i*25-25); end; if map2[i,j,2] = false then begin paintbox1.canvas.MoveTo(j*25,i*25); paintbox1.canvas.LineTo(j*25+25,i*25); end; if map2[i,j,3] = false then begin paintbox1.canvas.MoveTo(j*25,i*25); paintbox1.canvas.LineTo(j*25+25,i*25+25); end; if map2[i,j,4] = false then begin paintbox1.canvas.MoveTo(j*25,i*25); paintbox1.canvas.LineTo(j*25,i*25+25); end; end; end; procedure TForm1.FormCreate(Sender: TObject); var i,j,k : integer; begin form1.DoubleBuffered:=true; posY:= 8; posX := 5; for i := 2 to 13 do for j := 2 to 7 do for k := 1 to 4 do map2[i,j,k]:= true; for i := 1 to 13 do map2[i,2,4]:= false; for j := 1 to 8 do begin map2[1,j,1]:= true; map2[2,j,1]:= false; map2[2,j,2]:= false; map2[14,j,1]:= true; if (j <> 4)and (j <> 5) then begin for k := 1 to 4 do map2[2,j,k]:= false; map2[3,j,1]:= false; map2[3,j,2]:= false; map2[14,j,1]:= false; map2[13,j,3]:= false; map2[13,j,2]:= false; map2[13,j,4]:= false; map2[14,j,2]:= false; end; end; map2[2,4,4]:= false; map2[13,4,4]:= false; end;