簡単 NScripterの使い方  2010/01/24更新
 ■開発室   ■ダウンロード   ■マニュアル   ■ご意見・ご要望・デバッグ   ■Q&A   ■リンク   ■関連企画 
 □目次  □準備編  □基礎編  □制作編  □グラフィック編  □音楽編

基礎編/第9章

■ 変数の制御 ■
 前章では、変数の宣言方法と内容の確認方法を説明しました。
 ここからは、さらに踏み込んで、変数に様々な値を代入したり、演算によって値を変化させる方法を、説明していきます。


■ 値を代入する ■
 宣言直後の変数には、必ず0が入っています。
 ですが、実際にはそこにゲームの内容に応じた、値を設定していかなくてはなりません。
 早速、宣言した変数に任意の値を代入していきましょう。

 まず、定義ブロックで3つの変数を宣言します。


*define
numalias money,0
numalias price,1
numalias count,2


 ここでは、主人公の所持金という設定で「money」、アイテムの価格という設定で「price」、アイテムの所持個数という設定で「count」という、3つの変数を宣言しました。

 次に、主人公の所持金額という意味で「money」に、1000という数値を代入します。
 ここで使用するのは、「mov命令」です。
 実行ブロックを開いてください。


game
*start

mov %money,1000

現在の所持金額は%money円です。\

end


 「mov 命令」の後ろに半角をあけ、変数名を指定、さらにコンマを置き、その後ろに代入する整数の値を記述します。この時、前章で説明したように変数を指定する時は、変数名の冒頭に % を入れる事を忘れないでください。
 また、変数に文字を代入する事は出来ないので、単位の円は文章で記述しておく必要があります。

 それでは、実際にこのスクリプトを実行してみましょう。



 %moneyに1000が代入されている事が、確認できます。


■ 変数の演算 ■
 これで変数に値を代入する事が、出来るようになりました。
 ここからは引き続き、加減算によって変数の値を変化させる命令を説明していきます。

加算命令:add
add %money,1000
変数%moneyの値に1000を加算します。

減算命令:sub
sub %money,1000
変数%moneyの値から1000を減算します。

 また、これら演算は変数同士の間でも可能です。
 具体的なスクリプトで見ていきましょう。


*define

numalias money,0
numalias price,1
numalias count,2



game
*start

1日目@
1000円の収入がありました。@
mov %money,1000
;mov命令を使い、%moneyに1000を代入
現在の所持金は%money円です。\

2日目@
1000円の収入がありました。@
add %money,1000
;add命令を使い、%moneyにさらに1000を加算
現在の所持金は%money円です。\

3日目@
500円のパンを見つけました。@
mov %price,500
;mov命令を使い、%priceに500を代入
パンを1個買いました。@
sub %money,%price
;sub命令を使い、%moneyから%priceを減算
add %count,1
;add命令を使い、%countに1を加算
現在の所持金は%money円です。@
パンの所持個数は%count個です。\

4日目@
パンは100円に値下がりしていました。@
mov %price,100
;mov命令を使い、%priceに100を代入
そこでパンを5個買いました。@
sub %money,%price
sub %money,%price
sub %money,%price
sub %money,%price
sub %money,%price
;パンを5個買ったので、減算処理を5回実行
add %count,5
;パンを5個買ったので、%countに5を加算
現在の所持金は%money円です。@
パンの所持個数は%count個です。\

5日目@
買ってきたパン%count個をまとめて食べました。@
sub %count,%count
;これまでカウントしたパンの数を全て減算
現在の所持金は%money円です。@
パンの所持個数は%count個です。\

6日目@
お腹を壊しました。@
おしまい\

end


 長いスクリプトですが、行っている処理そのものは単純です。
 実際に動かして、内容を確認してみてください。

第8章に戻ります 第10章に進みます