【StoneStoryRPG/Stonescript】2.スクリプトの基礎知識

スクリプトの基礎知識です。
プログラミングの本の最初の第1章に載ってる感じの内容です。

※スクリプト例の中に未解説の記号などが含まれますが、今は深く気にせずいきましょう。そのうち分かるようになります。



? (もし~ならば/if)


「条件に当てはまる時は○○をしてほしい」という場合に使います。
「?」に続いて条件式を入力します。条件式がtrue(真)の場合は、次行のインデント(字下げ)された指示を実行します。
プログラミングの「if」などに相当します。

?loc = caves
  loadout 1

もしloc(ステージ)がcaves(洞窟)なら?
 ┗ loadout(装備編成)の1番目にする

※loc:ステージ基本情報

: (そうでないなら/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

この記事が気に入ったらサポートをしてみませんか?