| TOP | 解説その1 | 解説その2 | 解説その4 | リンク | ご意見板 |


98Like!別館
スクリプト解説のページその3
98Like!本館はコチラ


↑BLACK DIAMONDで作成したゲームです♪


ココでは、私の作成した『マンスリーハウス』を例にあげて説明をして行きたいと思います。まだお持ちでない方は、今すぐにDLですよ (^_^;)
ここで紹介するスクリプトは、私の独断と偏見で作成した物ですので、本来の使い方とは異なる使い方も有るかも知れません。また、より効果的な使い方も有るかも知れません。あくまでも、一つの方法だとご理解下さい。
では『BLACK DIAMOND』を使って、早速ゲームを作ってみましょう。

まず基本事項ですが
*
(アスタリスク)で始まる物が命令コマンドになります。
>』で始まる物が入力を受付けるコマンドになります。
#』で始まる物はコメントとしてスクリプト上では無視されます。


#_/_/_/_/_/_/_/_/_/_/ ROOM1 /_/_/_/_/_/_/_/_/_/_/

*SCENE ROOM1n
*PICTURE room1-n
   n
w + e
   s


>open door
*IF F(1)=0
*F(1)=1
OK.
*PICTURE room1-n2
*ELSE
もう開いてるでしょ!
*ENDIF

>n
*IF F(1)=1 
OK.
*F(1)=0
*GOTO ROOM4n
*ELSE
NO!!
*ENDIF

>e
OK.
*F(1)=0
*GOTO ROOM1e

>s
OK.
*F(1)=0
*GOTO ROOM1s

>w
OK.
*F(1)=0
*GOTO ROOM1w

>u
OK.
*F(1)=0
*GOTO 2FROOM1e

>NOMATCH
NO!!

*SCENEEND

 


さて、いよいよゲームの本質に入りますよ♪
ここでは、上図のようなマップ構成を元に、まずはROOM1(STARTからドアを入ってすぐの部屋)を作成します。
スクリプト的には特に難しいことはやっていないので、説明の必要は無いですよね!

このゲームの場合、注意する点は移動コマンドの入力毎に、同じROOM1内でプレイヤーの向いている向きが変わると言う事です。普通のADVゲームでは移動コマンドを入力すれば次のシーンに移動できますよね・・・
当然、向いている方向が違えば見える物・受付けるコマンド等が違いますので、今回このゲームではROOM1を一つのシーンでかたずけるのでは無く、ROOM1のそれぞれの方向(ROOM1n・ROOM1e・ROOM1s・ROOM1w)全てをそれぞれのシーンとして扱っています。・・・だからどうしてもスクリプトが長くなっちゃう!



こんな感じで各々を一つのシーンとしています

ROOM1n

ROOM1e

ROOM1s

ROOM1w




これがROOM1の全てです!
↓こんな感じでROOM1の各々の方向を全て別々のシーンとして作る事で、初めてROOM1が完成するのです。この調子で、ROOM2〜ROOM6を作って行けば1階部分は完成になります♪


#_/_/_/_/_/_/_/_/_/_/ ROOM1 /_/_/_/_/_/_/_/_/_/_/

*SCENE ROOM1n
*PICTURE room1-n
   n
w + e
   s

>open door
*IF F(1)=0
*F(1)=1
OK.
*PICTURE room1-n2
*ELSE
もう開いてるでしょ!
*ENDIF

>n
*IF F(1)=1 
OK.
*F(1)=0
*GOTO ROOM4n
*ELSE
NO!!
*ENDIF

>e
OK.
*F(1)=0
*GOTO ROOM1e

>s
OK.
*F(1)=0
*GOTO ROOM1s

>w
OK.
*F(1)=0
*GOTO ROOM1w

>u
OK.
*F(1)=0
*GOTO 2FROOM1e

>NOMATCH
NO!!

*SCENEEND

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
*SCENE ROOM1e
*PICTURE room1-e
  e
n + s
  w

>open door
*IF F(2)=0
*F(2)=1
OK.
*PICTURE room1-e2
*ELSE
もう開いてるでしょ!
*ENDIF

>e
*IF F(2)=1
OK.
*F(2)=0
*GOTO ROOM6e
*ELSE
NO!!
*ENDIF

>n
OK.
*F(2)=0
*GOTO ROOM1n

>s
OK.
*F(2)=0
*GOTO ROOM1s

>w
OK.
*F(2)=0
*GOTO ROOM1w

>u
OK.
*F(2)=0
*GOTO 2FROOM1e

>NOMATCH
NO!!

*SCENEEND

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
*SCENE ROOM1s
*PICTURE room1-sw
   s
e + w
   n

>open door
*IF F(3)=0
*F(3)=1
OK.
*PICTURE room1-s2
*ELSE
もう開いてるでしょ!
*ENDIF

>s
*IF F(3)=0 NOT_OPEN
*IF I(ブラックダイヤモンド)=0
*GOTO GAMEOVER1
*ELSE
*GOTO CONGRATULATIONS
*ENDIF
*END

*LABEL NOT_OPEN
NO!!

>n
OK.
*F(3)=0
*GOTO ROOM1n

>e
OK.
*F(3)=0
*GOTO ROOM1e

>w
OK.
*F(3)=0
*GOTO ROOM1w

>NOMATCH
NO!!

*SCENEEND

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
*SCENE ROOM1w
*PICTURE room1-sw
  w
s + n
  e

>open door
*IF F(4)=0
*F(4)=1
OK.
*PICTURE room1-w2
*ELSE
もう開いてるでしょ!
*ENDIF

>w
*IF F(4)=1
OK.
*F(4)=0
*GOTO ROOM2w
*ELSE
NO!!
*ENDIF

>n
OK.
*F(4)=0
*GOTO ROOM1n

>e
OK.
*F(4)=0
*GOTO ROOM1e

>s
OK.
*F(4)=0
*GOTO ROOM1s

>NOMATCH
NO!!

*SCENEEND


これで、各々のシーンの描画・コマンド・移動等の方法はお分かりですね♪
上手く出来たら、次に進みましょう --->


管理人 : よっしー