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