処理(データ処理)とデータ |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
でもね、
今はこのコードでいいの。
まだ勉強中なんだから、
段階ってものがあるんだってば。
今回のテストで、制御文の
基本的な使い方やコードの
ボリュームに少し慣れたはずだ。
自分で作ることにもね。
それで十分。
今回は今までのまとめなんだ
からね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
格闘技の
初心者が
戦車壊せる
わけないだろ?
それと同じ。 |
|
あのー・・・
例えが
おかしくない? |
 |
|
|
|
本物の格闘家は、
戦車の
1000両や2000両、
軽く壊すからね。
サムライマン
で楽勝。
俺様最強・・・
ククク |
 |
|
 |
だめだ・・・
この子、
ゲームの
やりすぎ。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それに、いいところに
気付いたって言っただろ。
実は、クイズゲームと
今回のゲームにはね、
・処理(データ処理)
・データ
と言う、プログラムの
基本構造が含まれてるんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
こほん |
スチャラカ
ファイター
やったこと
ある? |
 |
|
 |
ゲームの
話は後でー |
|
|
|
重要!
また後で
やるけどね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
プログラムの構造は、
大きく見ると
「処理(プログラム)」と、
「データ」に分けることが
出来るんだ。
「データ」を「処理」して
「結果」を出す。
これがプログラムの
大きな目的だ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
よく分かん
ないけど。 |
|
|
|
 |
|
 |
|
処理とデータ |
|
|
項目 |
内容 |
例 |
処理
(データ処理) |
データを操作・加工するプログラム |
プログラム |
データ |
情報。名前や年齢など、
それ自体は動作しない。
値(あたい)。 |
シナリオデータ、
キャラクターデータ、
マップデータ、
イベントデータなど |
プログラムは、処理(データ処理)とデータからできている |
|
|
|
|
 |
|
 |
|
|
 |
|
 |
|
プログラムの目的 |
|
|
|
 |
|
 |
|
|
プログラムは、「データ」を「処理」して、「結果(データ)」を出す |
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
今回のゲームを
「処理」と「データ」で考えてみよう。
今回の処理の基準は「部屋単位」
って言ってたよな。
実は「部屋」は「データ」なんだよ。
部屋内の情報を集めた
「部屋データ」って感じ。
そして、「処理」は、
現在の部屋番号の部屋データを
探してメッセージを表示させてるんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そうか!、
「部屋データ」なんだ。
見る対象やアイテム、
シナリオ・・・
それ自体は動作しない
情報だよね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
俺、サムライマン
が得意なんだ。
って、
聞いてる? |
 |
|
 |
部屋は
データ
なんだね。 |
|
|
|
 |
|
 |
|
今回のゲームの「処理」と「データ」 |
|
|
処理 |
現在の部屋番号の部屋データを探して処理。
結果を表示する。 |
|
|
データ |
部屋データ(部屋内のデータの集合体)
・シナリオ
・アイテム
・イベント
・・・ |
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
今回のゲームの
処理とデータの関係を
お前が得意な「料理」に
例えて説明するよ。
処理は「調理器」、
部屋データは「材料」ね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
俺、滅茶苦茶
上手いぜ。
って、
聞いてほしい
んだけど。 |
 |
|
 |
じっくり
読むね。 |
|
|
|
処理 |
 |
調理器 |
|
データ |
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
今のコードの状態は
こんな感じ。
「処理(プログラム)」と
「データ」が、コードの中で
結合してるんだ。
それで、部屋を増やすと
「移動」「見る」「使う」のif文の
処理が増えて、コードが大きく
なっちゃうんだよ。
これを明確に
分離する必要があるんだ。
そうすることで、
すっきりした拡張しやすい
構造に出来るんだよ。
|
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
なんとなくで
いいから
イメージしてね。 |
|
ぽんちょ
大変。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
調理器が材料ごとに
専用なんだ。
つまり、部屋ごとに
専用の処理を
作っちゃってるって
ことなんだね。
同じような処理は
全部の部屋で
共通に使えれば
いいのにね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
ゆっくり
イメージしてね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
これを「処理」と「データ」
で分離するとこんな感じになる。
調理器(プログラム)に
食材(部屋データ)を
順番に流し込む。
「データの箱」にデータを入れて
棚みたいに区切っておいて、
実行する「処理」に1つづつ渡す
イメージ。
これなら
部屋のデータが増えても
処理の部分の大きさは
変わらないだろ。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
「現在の部屋」データ
だけを選んで、
処理に渡すんだね。
これならたくさんif文を
書かないですむんだ。
100部屋作っても
大丈夫かも! |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
すごーい!
いいね! |
|
|
|