Помогите пожалуйста решить проблему с мерцанием объекта. При каждой итерации цикла объект перемещается и при этом мерцает. Как это устранить?
код:
program a1111; uses crt,graph; var gd,gm:integer; i,j:integer;c:char; xw1,yw1, a:integer; k:char; size:integer; p:pointer; begin; randomize; gd:=ega; gm:=egahi; initgraph(gd,gm,'D:\Program files\Turbo Pascal\BGI\'); xw1:=15; yw1:=15; {monstr1} setfillstyle(solidfill,cyan); setcolor(cyan); ellipse(xw1,yw1+6,0,180,7,14); line(xw1-7,yw1+6,xw1+7,yw1+6); setfillstyle(solidfill,cyan); floodfill(xw1,yw1+5,cyan); {rot} setcolor(black); line(xw1-4,yw1+3,xw1+4,yw1+3); {rot} {nogi} setcolor(cyan); line(xw1-7,yw1+6,xw1-6,yw1+8); line(xw1-5,yw1+6,xw1-6,yw1+8); floodfill(xw1-6,yw1+7,cyan); line(xw1-4,yw1+6,xw1-3,yw1+8); line(xw1-4,yw1+6,xw1-3,yw1+8); floodfill(xw1-3,yw1+7,cyan); line(xw1+2,yw1+6,xw1+3,yw1+8); line(xw1+4,yw1+6,xw1+3,yw1+8); floodfill(xw1+3,yw1+7,cyan); line(xw1+5,yw1+6,xw1+6,yw1+8); line(xw1+7,yw1+6,xw1+6,yw1+8); floodfill(xw1+6,yw1+7,cyan); {nogi} {glasa} setcolor(white); circle(xw1-3,yw1-3,2); circle(xw1+3,yw1-3,2); setfillstyle(solidfill,white); floodfill(xw1-3,yw1-2,white); floodfill(xw1+3,yw1-2,white); setcolor(black); circle(xw1-3,yw1-3,1); circle(xw1+3,yw1-3,1); setfillstyle(solidfill,black); floodfill(xw1-3,yw1-3,black); floodfill(xw1+3,yw1-3,black); {glasa} {monstr1} size:=imagesize(xw1-10,yw1-10,xw1+10,yw1+10); getmem(p,size); getimage(xw1+10,yw1+10,xw1-10,yw1-10,p^); setcolor(white); line(0,0,100,0); line(100,0,100,100); line(100,100,0,100); line(0,100,0,0); repeat putimage(xw1+10,yw1+10,p^,xorput); delay(12); putimage(xw1+10,yw1+10,p^,xorput); a:=random(10)+1; if (a=1)and(xw1>20) then begin xw1:=xw1-5; end; if (a=2)and(xw1<70) then begin xw1:=xw1+5; end; if (a=3)and(yw1>60) then begin yw1:=yw1-5; end; if (a=4)and(yw1<70) then begin yw1:=yw1+5; end; {monstr1} setfillstyle(solidfill,cyan); setcolor(cyan); ellipse(xw1,yw1+6,0,180,7,14); line(xw1-7,yw1+6,xw1+7,yw1+6); setfillstyle(solidfill,cyan); floodfill(xw1,yw1+5,cyan); {rot} setcolor(black); line(xw1-4,yw1+3,xw1+4,yw1+3); {rot} {nogi} setcolor(cyan); line(xw1-7,yw1+6,xw1-6,yw1+8); line(xw1-5,yw1+6,xw1-6,yw1+8); floodfill(xw1-6,yw1+7,cyan); line(xw1-4,yw1+6,xw1-3,yw1+8); line(xw1-4,yw1+6,xw1-3,yw1+8); floodfill(xw1-3,yw1+7,cyan); line(xw1+2,yw1+6,xw1+3,yw1+8); line(xw1+4,yw1+6,xw1+3,yw1+8); floodfill(xw1+3,yw1+7,cyan); line(xw1+5,yw1+6,xw1+6,yw1+8); line(xw1+7,yw1+6,xw1+6,yw1+8); floodfill(xw1+6,yw1+7,cyan); {nogi} {glasa} setcolor(white); circle(xw1-3,yw1-3,2); circle(xw1+3,yw1-3,2); setfillstyle(solidfill,white); floodfill(xw1-3,yw1-2,white); floodfill(xw1+3,yw1-2,white); setcolor(black); circle(xw1-3,yw1-3,1); circle(xw1+3,yw1-3,1); setfillstyle(solidfill,black); floodfill(xw1-3,yw1-3,black); floodfill(xw1+3,yw1-3,black); {glasa} {monstr1} setfillstyle(solidfill,black); floodfill(xw1,yw1,black); until keypressed; freemem(p,size); closegraph; readkey end.