program words;
uses crt;
type
T2DArray = array[1..100, 1..100] of string;
var
ch:char;
x,y:integer;
MapArray: T2DArray;
begin
x:=0;
y:=0;
repeat
MapArray[10, 10] := 'you are at a tree';
writeln(MapArray[x,y]);
write('current positon is ');
write(x);write(',');write(y);
ch:=ReadKey;
case ch of
#0 : begin
ch:=ReadKey; {Read ScanCode}
case ch of
'w' : y:=y+1;
'a' : x:=x-1;
's' : y:=y-1;
'd' : x:=x+1;
end;
end;
#27 : WriteLn('ESC');
end;
until ch=#27;
readln;
end.
我有这段简单的代码,可以让我把东西分配给2d数组的XY坐标。尽管有读取,代码仍可直接编译和关闭;在底部。 所有最好的雅兰。
答案 0 :(得分:2)
始终在开发期间启用范围检查{$ R +}。您有一个基于1的数组,但是第一次读取它时x和y值为零。