Напишите программу, решающую следующую . в верхнем правом углу стандартного графического окна, линиями рисуется квадратное игровое поле размером 10x10 ячеек. размер квадратной ячейки задается в программе константой и имеет размер 30x30 пикселей (см. рисунок ниже). компьютер, используя датчик случайных чисел, загадывает два числа в диапазоне от 1 до 10. первое число — номер горизонтали игрового поля, второе — номер вертикали игрового поля. таким образом, компьютер загадывает ячейку, которая располагается на пресечении горизонтали и вертикали. пользователь с 10 попыток должен отыскать загаданную компьютером ячейку. для этого он вводит с клавиатуры два целых числа номер по горизонтали и номер по вертикали ячейки. если номера горизонталей и номера вертикалей не , то в ячейке, указанной пользователем, рисуется перечеркнутый квадрат (см. рисунок ниже). если номера горизонталей или номера вертикалей , то в ячейке, указанной пользователем, рисуется синий квадрат (см. рисунок ниже). если номера горизонталей и номера вертикалей , то в ячейке, указанной пользователем, рисуется красный квадрат (см. рисунок ниже), выводится сообщение: «ты выиграл! », и на этом программа завершается. если же пользователю не удается с 10 попыток определить положение загаданной компьютером ячейки, то выводится сообщение: «ты проиграл! », в ячейке, загаданной компьютером, рисуется красный квадрат, и на этом программа завершается.
GraphABC;
const
a=30;
var
xt,yt,x,y,i,j,t,xl,yl:integer;
procedure cross(x,y,a:integer);
begin;
setpencolor(clred);
line(x,y,x-a,y+a);
line(x-a,y,x,y+a);
setpencolor(clblack);
end;
begin;
randomize;
x:=windowwidth-300;
y:=0;
for i:=1 to 10 do
begin;
for j:=1 to 10 do
begin;
rectangle(x,y,x+a,y+a);
x+=a;
end;
y+=a;
x:=windowwidth-300;
end;
x:=random(1,10);
y:=random(1,10);
t:=0;
while t<>10 do
begin;
readln(xt);
readln(yt);
if (xt<>x) and (yt<>y) then
begin;
xl:=windowwidth+xt*30-300;
yl:=300-yt*30;
cross(xl,yl,a);
inc(t);
end;
if (xt=x) or (yt=y) then
begin;
xl:=windowwidth+xt*30-305;
yl:=300-yt*30+4;
floodfill(xl,yl,clBlue);
inc(t);
end;
if (xt=x) and (yt=y) then
begin;
xl:=windowwidth+xt*30-305;
yl:=300-yt*30+4;
floodfill(xl,yl,clRed);
writeln('Ты выиграл!');
break;
end;
end;
if t=10 then
begin;
writeln('Ты проиграл!');
xl:=windowwidth+x*30-305;
yl:=300-y*30+4;
floodfill(xl,yl,clRed);
end;
end.