【StoneStoryRPG/Stonescript】2.スクリプトの基礎知識
スクリプトの基礎知識です。
プログラミングの本の最初の第1章に載ってる感じの内容です。
※スクリプト例の中に未解説の記号などが含まれますが、今は深く気にせずいきましょう。そのうち分かるようになります。
? (もし~ならば/if)
「条件に当てはまる時は○○をしてほしい」という場合に使います。
「?」に続いて条件式を入力します。条件式がtrue(真)の場合は、次行のインデント(字下げ)された指示を実行します。
プログラミングの「if」などに相当します。
?loc = caves
loadout 1
もしloc(ステージ)がcaves(洞窟)なら?
┗ loadout(装備編成)の1番目にする
: (そうでないなら/else)
「?」に続く条件式がfalse(偽)の場合は、次行のインデントされた指示は行わず、「:」の次行のインデントされた指示を実行します。プログラミングの「else」などに相当します。
?loc = caves
loadout 1
:
loadout 2
もしlocがcavesなら?
┗ loadoutの1番目にする
そうでないなら?
┗ loadoutの2番目にする
:? (そうでない場合、もし~ならば/else if)
「?」に続く条件式がfalseの場合に、続けて別の条件をつける場合は、?ではなく:?を使います。「?」に続く条件式がtrueの場合には無視されます。プログラミングの「else if」などに相当します。
?loc = caves
loadout 1
:?loc = deadwood
loadout 2
:
loadout 3
もしlocがcavesなら?
┗ loadoutの1番目にする
そうでない場合、もしlocがdeadwood(渓谷)なら?
┗ loadoutの2番目にする
そうでないなら?
┗ loadoutの3番目にする
// (コメントアウト)
「//」から始まる行は、プログラミングに影響しません。例のように、注釈をつけたり、一時的にその行を無効化する時に使います。
//恐怖の洞窟では装備編成2を使う
?loc = caves
// loadout 1
loadout 2
(恐怖の洞窟では装備編成2を使う)
もしlocがcavesなら?
┗loadoutの1番目にする
┗ loadoutの2番目にする
/**/ (複数行コメントアウト)
「/*」と「*/」で挟まれた部分は、プログラミングに影響しません。//の複数行版です。
//すべて無効化されているので、何も起こりません。
/*
?loc = caves
loadout 1
*/
(すべて無効化されているので、何も起こりません。)
もしlocがcavesなら?
┗ loadoutの1番目にする
^ (複数行を1行とみなす)
^をつけると、前の行が改行されていても、1行として見なされます。1行が入力欄の幅以上になる場合に使います。また、条件式が複数条件で構成されている時などは、^を使うと見やすくなります。
?loc=caves |
^loc = mine
equip repeating
もしlocがcavesなら?または、
もしlocがmine(鉱山)なら?
┗ repeating(連射クロスボウ)をequip(装備)する
【補足】
//や^を使うのは、スクリプトを見やすく・読みやすくするためです。
ミスを減らせたり、後でスクリプトを見直しやすくできます。積極的に活用しましょう!
^を使わずに書くと以下のようになります。意味はどちらでも同じです。
?loc=caves|loc=mine
equip repeating