0
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.

2次元配列のXY座標に物事を割り当てることができるこの単純なコードがあります。readln にもかかわらず、コードはコンパイルされ、すぐに閉じます。底に。最高のアラン。

4

1 に答える 1

2

開発中は常に範囲チェック {$R+} を有効にします。1 から始まる配列がありますが、最初に読み取るときは x と y の値がゼロです。

于 2012-12-10T18:07:24.923 に答える