本職プログラマの方々からしたら「いきなり型かよ!」っていう感じでしょう。
そんなツッコミは無視します。
まずは「型」。かた。
C#でプログラムを組むにあたって、「型」の概念はとっても重要です。
極端なはなし、
C# イコール 「型」の集まり
です。
だったらまずは、「型だろう!」ということで、やります。「型」
そして「値」。あたい。
型とすごく密接な関係にあるものです。
これも、プログラミングするにあたって切っても切り離せないものです。
どちらも、C#特有のものではなく、一般的なプログラミング言語によくある概念です。
ですがまあ、他の言語のことを気にしても仕方ないので、違いとか細かい話はスルーします。
では、型と値について、まずは具体例を出しましょう。
余り深く考えず、ざっとでいいので見てみてください。
型 | 値 |
---|---|
アイテム | 薬草、毒消しの粉、謎のカギ、王様からの手紙、高そうな石 |
装備 | 鎧、靴、髪飾り、ネコ耳 |
武器 | こんぼう、エクスカリバー、マシンガン、バールのようなもの |
性別 | 男、女 |
色 | 赤、緑、青、黒、白 |
ゲーム機 | 3DS、PS VITA、PlayStation3、Xbox360、iPhone |
DCCツール | Maya、XSI、3dsMax、MotionBuilder、Lightwave、六角大王 |
整数 | -20, -3000, 0, 32, 1024 |
座標 | ( 0, 0, 0 )、( 20.32, 432.1, 9.0 )、( -34.0, 0.02, -0.621 ) |
プレイヤーの状態 | 待機、歩き、走り、攻撃、防御、ジャンプ |
光源の種類 | 平行光源、点光源、スポット光源 |
Windowsのコントロール(UI) | ボタン、チェックボックス、スクロールバー、テキストボックス |
・・・とまあ、本当に適当に書きました。
どうでしょう、なんとなくわかるでしょうか。
この表から、型と値の関係性が見えてきたでしょうか。
型は・・・、いわゆる雛形とか、テンプレートとか、種類とか、そういう概念で・・・
値は・・・、具体的な物とか、形とか、バリエーションとか、そういう概念で・・・
というような、そんあニュアンスで捉えられていれば、ひとまずクリアです。
型は、どれもバラバラで多種多様です。
性別のように、(普通は)男か女の2種類しかないもの、
整数のように、無限にあるもの、
プレイヤーの状態のように、"物"ではなく"事"を表すものなどなど、
たくさんありますが、どれも型です。
そして値は、型の具体的な存在を表すモノです。
逆に考えてみてもいいでしょう。
「 【男】という値 」 は 「 【性別】という型 」 に 属している
「 【エクスカリバー】という値 」 は 「 【武器】という型 」 に 属している
「 【ジャンプ】という値 」 は 「 【プレイヤーの状態】という型 」 に 属している
ちなみに、「アイテム型」「性別型」「整数型」のように、型の場合は「○○型」とよく表現します。
そう書かれていない場合は、値を意味します。
なので、以下のような言い回しになります。
「アイテム型の薬草(という値)」
「性別型の女(という値)」
「整数型の256(という値)」
どうでしょう。
型と値の、すごく大雑把な概念を説明しました。
基本的にはこれだけです。これだけで、ゲームの大枠は説明できます。
たとえば、典型的なRPGを考えましょう。
プレイヤーとその仲間達は、【キャラクター型の値】です。
フィールドにうじゃうじゃいるスライムは、【敵型の値】です。
旅の途中で手に入る薬草や扉の鍵は、【アイテム型の値】です。
プログラマは、型をまず作り、それを元に値を作ります。
その値をいろいろ制御して、ゲームを動かすのです。
RPGの例で言えば、まずは【アイテム型】を作って、次に、それを元に【薬草(という値)】を作ります。
さらに細かい話で言うと、レベル1とかレベル30などの、この「1」とか「30」は、
整数(数字)という型の値であり、その値を使うためには、
まずは【整数】という概念(つまり型)を最初に用意する必要があります。
さぁ、型と値が、どれだけ重要なのかがわかったでしょうか。
いきなり詰め込みすぎた感はありますが、それだけ重要ということです。
理解できたかどうか、自信がないなら、是非最初から読み直してください。
すごく大切で、この概念を理解したことを前提で、次に進みます。
今日はここまで。
まだまだ序盤ですよー。
0 件のコメント:
コメントを投稿