uses crt,graph; const kursor:array[1..7,1..7]of byte=((0,0,1,1,1,0,0),(0,0,0,1,0,0,0), (1,0,0,1,0,0,1),(1,1,1,0,1,1,1),(1,0,0,1,0,0,1),(0,0,0,1,0,0,0),(0,0,1,1,1,0,0)); {kursora bitu karte} var backup:array[1..7,1..7]of integer; q:char; i,j:integer; x,y,xx,yy:longint; begin writeln('Programma ziimee rinka liinijas.'); writeln('Lai uzstadiitu rinka liinijas centru, nospiezh Enter.'); writeln('Lai uzziimeetu rinka liiniju, nospiezh Space.'); writeln('Lai izietu, nospiediet Escape.'); writeln; writeln('Lai saaktu darbu, nospiediet Enter.'); readln; initgraph(i,j,''); {ielade grafikas unit} SetColor(2); Rectangle(0,0,639,479); {uzzime uz ekrana rami} x:=320; {uzstada sakotnejas kursora koordinaatas} y:=240; xx:=x; yy:=y; repeat for i:=1 to 7 do for j:=1 to 7 do begin backup[i,j]:=GetPixel(x+i,y+j); {saglabaa atminjaa atteelu zem kursora} if kursor[i,j]=1 then putpixel(x+i,y+j,4); {ziimee kursoru} end; q:=readkey; {nolasa nospiesto taustinju} for i:=1 to 7 do for j:=1 to 7 do putpixel(x+i,y+j,backup[i,j]); {atjauno attelu zem kursora} case ord(q) of 72:if y>4 then y:=y-5; 75:if x>4 then x:=x-5; 77:if x<630 then x:=x+5; 80:if y<470 then y:=y+5; {virza kursoru} 13:begin xx:=x+4;yy:=y+4; PutPixel(xx,yy,15); {atziimee rinka linijas centru} end; 32:begin setcolor(5); circle(xx,yy,round(sqrt((xx-x-4)*(xx-x-4)+(yy-y-4)*(yy-y-4)))); end; {ziimee rinka liiniju} end; until q=#27; closegraph; end.