TMapBlocks = Class(TObject)
private
public
//変数定義
Blocks:Array[0..19,0..9] of Boolean;
end;
と書き換えてください。
Blocks変数を定義しました。
いえ、実は変数じゃないです。
配列です。
しかも、ただの配列じゃありません。
「 二 次 元 配 列 」
です。
こりゃ、しっかり説明しなきゃなりませんね。
まず、配列とは何か、ですが、
文字列リストの仕組みを覚えていますか?
文字列リストの実装は、文字列の配列でした。
そう、配列というのは、
同じ型の変数を、番号をつけて大量に並べたもの
です。
アクセスするときは、
配列名[要素番号]とするんでしたね。
さて、では、二次元配列ってなんでしょう?
アニメキャラが入ってる配列じゃないっす。
悪いけど俺アニメは全然見ないし。
二次元 が 配列 なんじゃなくて
配列 が 二次元なんです。
つまり、番号をつけてまっすぐに並べる方法を進化させて、
●●-○○ という番号をつけて、
マス目状に並べるのです!
アクセスするときは、
配列名[一次元目の要素番号,二次元目の要素番号]
というように書きます。
二次元配列がわかったら
定義のルールです。普通の配列の定義は
配列名:Array[最小値..最大値] of 型
と書きます。
二次元になると、
配列名:Array[最小値..最大値,最小値..最大値] of 型
となります。
さて、これで、
Blocks:Array[0..19,0..9] of Boolean;
が、
1次元目、0-19,二次元目0-9の、ブーリアン型の配列、ブロックスを定義せよ
だということになります。
ブーリアン型、今まで説明してませんでしたが、
論理型の事です。 真/偽 しか持ちません。
ということは、
Blocksというのは、
縦に20*横に10 の、合計200本のフラグ
ということなんです。
これ、ブロックのつもり状態を定義するのに完璧だと思いません?w
けど、配列の、範囲外にアクセスすると、エラーが出るんです。
当たり前、っていえば当たり前ですが、
そうすると、
「はみ出るかどうか判定」
したいときに困ります。
次のページで、
[-1,5] つまり、0がフィールドの一番左の列ですから、
フィールドの外を調べても問題ない機能を作ります。
コンテンツ
最新の12件
2023-06-12
2021-02-15
2013-06-19
2012-07-14
2012-02-04
2012-01-06
2011-03-31
2010-08-26
2010-03-15
2009-10-21
2009-02-12
2008-11-18
メニュー編集
- counter: 985
- today: 1
- yesterday: 0
- online: 1