Я новичок, пытаюсь изучать MidletPascal. Сейчас я умею немногое, поскольку сам паскаль я изучил только до массивов. В интернете на одном сайте дошел до урока по созданию игры "Сапер", но к сожалению, автор рассказал все только наполовину, второй части урока я так и не нашел. В ней должно было быть рассказано, как будут находится клетки с минами. Поскольку мне не хочется останавливаться на полпути, я попытался дальше написать код, какой могу. Но он у меня не работает (возможно потому что я еще плохо знаком с двумерными массивами). Так как из-за этого я не могу продвинуться дальше в написании мидлета, то надеюсь, вы мне сможете помочь и подсказать, что не так. вот код (красным выделена та часть, которую я сам написал, она правда очень корявая)
var i,k,j,key,xcursor,ycursor: integer;
mine: array[1..6,1..6] of boolean;
begin
j:=0;
xcursor:=6;
ycursor:=6;
for i:=1 to 6 do mine[random(5)+1,random(5)+1]:=true;
repeat
repeat
key:=getkeyclicked;
if j=0 then
begin
SetColor (255,255,255);
FillRect (0,0,128,128);
SetColor(0,0,0);
end;
if KeyToAction(key)=Ga_left then xcursor:=xcursor-20;
if KeyToAction(key)=Ga_right then xcursor:=xcursor+20;
if KeyToaction(key)=Ga_up then ycursor:=ycursor-20;
if keytoaction(key)=ga_down then ycursor:=ycursor+20;
if xcursor<6 then xcursor:=106
if xcursor>106 then xcursor:=6;
if ycursor<6 then ycursor:=106;
if ycursor>106 then ycursor:=6;
drawrect(xcursor,ycursor,16,16);
if j=0 then
begin
for i:=0 to 6 do
DrawLine(4,(i*20)+4,124,(i*20)+4);
for k:=0 to 6 do
DrawLine((k*20)+4,4,(k*20)+4,124)
end;
repaint;
until keytoaction(key)=GA_FIRE;
for i:=1 to 6 do
for k:=1 to 6 do
begin
if mine[i,k]=true then
begin
if (i=(ycursor-6)/2+1) and (k=(xcursor-6)/2+1) then
begin
SetColor(255,0,0);
FillRect(xcursor,ycursor,16,16);
repaint;
j:=j+1;
end;
end;
end;
until false;
end.