変数 のバックアップ差分(No.8)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
 変数とは、不確定要素を擬似的・暫定的に記号・抽象化したもの。不確定要素が計算出来るようになる。対語は定数、類語は不定元・未知数など。

//恐らく質問スレで一番多い質問だと思いますので編集の協力をお願いします。

*目次 [#x27591ca]
 目次
#contents

*変数について [#w461d65a]
**算数・数学における変数 [#f3963b5a]
一般的な計算問題の答え。算数では空白部分、数学ではx,yやa,bなど。&br;
**ウディタにおける変数 [#f3963b5a]
* 変数ってなんぞ? [#w461d65a]
** 算数・数学における変数 [#f3963b5a]
-学校教育における計算問題の答えだと思って下さい。
--算数では空白部分
--数学ではx,yやa,bなど

エディター中では、すべての変数が変更可能&br;
** 一般社会における変数 [#f97d7a04]
-電子分野ではなくてはならないものです。

ゲーム中では、一部の変数のみ変動させること(書き込み)が可能&br;
** ウディタにおける変数 [#f3963b5a]
-ウディタではイベントを組むには避けては通れないモノです。
-二つの使い方があります。
 数字の大きさを変えられること
 数字を読み取ってイベント分岐させられること
-例えば
 ダメージを受けたらHPが減る、HPが0だったら倒れる
-HPやExp、恋愛ゲームの好感度といったパラメータは勿論、装備している武器なんかもIDで管理された変数です。
-ゲームを開始してから経過した時間や、主人公がマップのどの辺りにいるかも変数として記録されています。
-気づいてなかっただけで、実はゲームというのは変数のかたまりです。
-聞きなれない言葉かも知れませんが、難しく考えずにステップアップしてください。

■ゲーム中変動変数&br;
・可変データベース(cdb)&br;
・システムデータベース(sdb)&br;
4:文字変数名&br;
5:システム文字列&br;
6:システム変数名&br;
14〜24:通常変数、予備変数&br;
・各セルフ変数&br;
■ゲーム中不動変数&br;
・ユーザーデータベース(udb)&br;
・システムデータベース(sdb)&br;
0:マップ設定&br;
1:BGMリスト&br;
2:BGSリスト&br;
3:SEリスト&br;
7:位置設定リスト&br;
8:キャラクター画像&br;
9:キャラ影グラフィック名&br;
10:ウィンドウ画像&br;
11:トラジションタイプ&br;
12:文字色&br;
13:遠景画像&br;
24:顔グラフィック名&br;
*** 各変数の意味 [#o53aa1ff]
 セルフ変数:そのイベント固有の変数
 通常変数:ゲーム全体に影響を与えることができる変数
 システム変数:ゲームのシステムとして役割が決まっている変数

ゲーム中は変数の書き込み・読み込み(呼び出し)・判定が行われている&br;
*質問スレから [#l2feb7c0]
**Re: 何でも質問スレッド [ No.40 ] [#g66e6128]
-変数は、文字通り変化する数。
ウディタでイベントを組むには避けては通れないモノですね。
変数を詳しく説明すると、初心者の方は混乱するかもしれませんので、簡単に使い方の例を。

例えば、「話しかけるとアイテムがもらえる人物」というイベントを作るとします。
話しかければアイテムが増えますが、変数を使わないと、話しかけるたびに永遠とアイテムが手に入ってしまいます。
それを防止するのに変数を利用します。
そのイベントにページを二つ作り
1ページ目にはアイテムをもらえるイベントを
2ぺージ目には適当な会話のイベントを組みます。
2ページ目の起動条件の下のところの
□[Self][変]セルフ変数0が(ry
↑にチェックし、「セルフ変数0が1と同じ」にします
そして、1ページのアイテムをもらうイベントのところに、変数操作で
変数操作:このEvのセルフ変数0 = 1 + 0
とすると、一度アイテムをもらったら、話しかけても2ページ目のイベントが発動し、1ページ目のイベントが起こらなくなり、アイテム無限増殖を防げます。
またアイテムをもらえるようにしたければ、別のイベントでセルフ変数を0に戻せば、1ページ目が発動するようになります。
つまり、要約すると
「そのイベントのセルフ変数が0のときはアイテムがもらえて、1になるともらえない」ってことですね。
*** 書き込み可能の変数 [#z8e4b77b]
-可変データベース(cdb)
-システムデータベース(sdb)
--4:文字変数名
--14〜24:通常変数、予備変数
-各セルフ変数

他にも、変数は様々な利用法があります。これはほんの一例です。
*** 読み取り専用の変数 [#kbbe819d]
-ユーザーデータベース(udb)
-システムデータベース(sdb)
--0:マップ設定
--1:BGMリスト
--2:BGSリスト
--3:SEリスト
--5:システム文字列
--6:システム変数名
--7:位置設定リスト
--8:キャラクター画像
--9:キャラ影グラフィック名
--10:ウィンドウ画像
--11:トラジションタイプ
--12:文字色
--13:遠景画像
--24:顔グラフィック名

まぁ、こんなこと言ったら身も蓋もないですが
ウディタは上級者向けエディターとして、開発された物ですから、ゲーム制作をしたこともないような人は、まずはツクールシリーズでもやって、慣れたほうがいいと想いますよ^^;

長文失礼いたしました。



//ゲーム中は変数の書き込み・読み込み(呼び出し)・判定が行われている&br;
//*質問スレから [#l2feb7c0]
//**Re: 何でも質問スレッド [ No.40 ] [#g66e6128]
// ※FAQは以下のフォーマットで書いてください。
//*問題のジャンル
//**質問の内容
//-それに対する回答
*変数に名前をつける [#w461d65a]

* 変数に名前をつける [#w461d65a]
-新版[[ウディタ講座>http://dl.dropbox.com/u/3665826/tutorial/index.html]]で説明されているのでそちらを参考にして下さい。

*使い道 [#ueaceaf3]
* 使い道 [#ueaceaf3]
** 手順 [#h4f561b8]
*** 1、アイディアのアルゴリズム(プロット)化 [#v6f89ecd]
-仕様書の段階です。
--どういう手順を経て
--どういう結果が導き出されるのか
-を文書化します。

*** 2、アルゴリズムのフローチャート(UML)化 [#m41453bd]
-設計図の段階です。
-ウディタに適したUMLは検討中です。
-ウディタに適したUMLは検討中です。&br;
例えばサンプルゲームの流れをマップ化した場合以下の通りになります。&br;
&ref(ScreenShot_outline.png);
+ゴブリンと戦ってLvを10以上にする。
+エディを仲間にする。
+コックからパンを買う。
+夕一を仲間にして、後ろの宝箱から鍵を手に入れる。
+ダンジョンのドラゴンを倒して、ウディタを手に入れる。

-関係ツールは以下を参照して下さい。
--[[ドローソフト - Wikipedia>http://ja.wikipedia.org/wiki/%E3%83%89%E3%83%AD%E3%83%BC%E3%82%BD%E3%83%95%E3%83%88]]
--[[アウトラインプロセッサ - Wikipedia>http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5]]


*** 3、フローチャートのコマンド(ソース)化 [#ke464da6]
-ここからようやくツールや言語(ウディタ)の出番で、つまり1と2の作業は紙媒体(チラシの裏)でも十分できるということです。

-オープンソースという暗号化されてないゲームの場合、見れるのがこの部分だと思って下さい。
-また、配布コモンもこの状態です。

** 種類 [#rf7d9f6b]
-ツクールや基本システムを使用した場合、システムはほとんどいじる必要はありませんが、仕様がどういうものか理解する必要があります。
-シナリオやキャラクターは自分で作る必要があるというわけです。

*** システム [#s1854ce6]
-文章表示や選択肢などの基礎的なシステムはウディタ本体に標準装備されています。
-戦闘やメニュー等は基本システムとしてフルパッケージに用意されてます。
-配布コモンには基本システム改造用コモンや独立した大規模コモン、汎用なテストプレイコモン等があります。

*** シナリオ [#x20cecaf]
-マップイベントとコモンイベントの両方から通常変数で管理する事になります。
-フラグという概念が一般的です。

*** キャラクター [#kb96b2be]
-NPCはマップイベントで管理することになります。
-AI戦闘はコモンイベントのシステムとして管理することになります。

*外部リンク [#qaaef0e9]

* FAQ [#j381db19]
*** 変数を増やしたいのですが [#q018c0ea]
 「システムデータベース」 → 「14:通常変数名」 のデータ数を弄りましょう。

*** 変数を増やしたのにイベントコマンド入力時に項目が増えていないのですが [#w19342dd]
 条件(変数)の所の注釈に書いてあるように、変数の種類選択ボタン→([Self][変][Sys])を押す事で更新出来ます。


*** 乱数、ランダムの作り方 [#e1c40bba]
-いくつか方法があります。
 1.変数操作で、 左辺=右辺A〜右辺B とする。
 2.変数呼び出し値の、 8000000+X を利用する。(0〜Xまでの範囲がランダムで返る)
 3.システム変数30と変数操作の%を組み合わせる。(例えば100で割った余りを求めた場合、0〜99の範囲が返る)

-乱数でアイテムを入手できるイベントを作成したのですがデータをロードして始めると、毎回同じアイテムを同じ順番で入手します。
 1番2番目のようなウディタの乱数は、いわゆる擬似乱数と呼ばれるもので、そういう状況に陥るのだと思います。
 3番目のような方法を試すか、キー入力監視などの並列(常時)内部にセルフ変数=0〜0のような乱数を噛ませる事で回避できます。



* 検索語 [#a2c08ab5]
-変数
-代入

* 関連項目 [#va9501ca]



* 外部リンク [#qaaef0e9]
-[[それでもゲーム業界に就職したいあなたへ…>http://www.purplemoon.jp/game/]]
-[[UML入門 - IT専科>http://www.itsenka.com/contents/development/uml/]]
-[[アルゴリズムとフローチャート>http://www.ee.fukui-nct.ac.jp/~yoneda/text/other/algorithm/]]
-[[ドローソフト - Wikipedia>http://ja.wikipedia.org/wiki/%E3%83%89%E3%83%AD%E3%83%BC%E3%82%BD%E3%83%95%E3%83%88]]
-[[アウトラインプロセッサ - Wikipedia>http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5]]


* このページに関するコメント [#f825b42a]
このページに関するコメントがございましたらこちらへどうぞ。&br;
:|【注意!】&br;
:|疑問・質問・相談・要望などへの回答は期待しないでください。&br;
:|また、コメントへの回答・指摘される方は冷静に余裕を持ってお願いします。&br;
#comment