変数でクリア(質問掲示板

投稿: Aaaaaaa mini sakatagin 投稿:2009/12/14 19:23:14(最新:2009/12/18 14:45:18)
設定した変数が0になるとゲームオーバーになる

と、いうのはできるのですか? 

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Aaaaaaa mini sakatagin(投稿日:2009/12/18 14:45, 履歴)
ありがとうございました!

よく分かりました!!
      mini shirosaboten(投稿日:2009/12/17 21:39, 履歴)
sakataginさんの「イカクエスト」では武器屋のイベントがありますよね。
あれは商品を選択した際にgoldをその商品の値段分持ってるか否か、が判定されています。
スクリプト/コツ/お店の作り方の引用です。

# itemId: アイテムのID
# itemName: アイテム名
# price: アイテムの値段
def buyItem(itemId, itemName, price)
if getVariable("Gold") < price
speak("Goldが足りません・・・")
else
if giveItem(itemId)
setVariable("Gold",
getVariable("Gold") - price)
speak(itemName + "を買った")
else
speak("アイテムを持ちきれません・・・")
end
end
end

変数が0か否かはこれを応用すれば出来ます。
キモはif文ですよ!
if文の作り方についてはスクリプト言語のマニュアルに載ってます。
覚えればいろんなものに応用が利くので是非この機会にみにつけてください^^
Aaaaaaa mini sakatagin(投稿日:2009/12/17 18:41, 履歴)
変数が0か否かの判定するには、どのようなスクリプトを入力すればよいのですか。。
      mini shirosaboten(投稿日:2009/12/17 18:17, 履歴)
「設定した変数が0になるとゲームオーバーになる」
のイベントを作るのだとしたら、
当然のことながら設定した変数を0にするイベント(もしくは減点していくイベント)を用意なさるはずだと思います。

変数変動とはそういうことです。変数を変動(0に設定もしくは減点する)

つまり、変数変動するイベントと、変数が0ならゲームオーバーのイベントを別々に用意しなくても、
変数変動イベント内で変数が0か否かの判定もし、それぞれの場合についてゲームオーバー、もしくは無視を設定すればいいのではないでしょうか?ということです。

変数変動は別に特別な言葉じゃないので混乱させてしまったようでしたらすいません^^;
Aaaaaaa mini sakatagin(投稿日:2009/12/17 15:40, 履歴)
変数変動のスクリプト上で判定を行ってしまえばいいのでは?

と、ありますが、変数変動とは一体何ですか?

教えてください。
      mini shirosaboten(投稿日:2009/12/16 21:12, 履歴)
横レス失礼します。
goBadEnding()がありますよ。
これは強制的にゲームオーバーさせる関数のようですので、ノベルのときはこっちですね。

そして開始条件がないとのことですが、変数変動のスクリプト上で判定を行ってしまえばいいのでは?と思います。
Aaaaaaa mini sakatagin(投稿日:2009/12/16 20:46, 履歴)
Aaaaaaa mini sakatagin(投稿日:2009/12/16 18:45, 履歴)
ありがとうございます。

しかしノベルゲームの場合は、イベントの開始条件が無いので、どうすれば良いか分かりません。

ノベルゲームの場合は設定した変数が0になるとゲームオーバーになる

と、いうのはどうやってするのですか?
Material 6858 mini akasata(投稿日:2009/12/14 23:54, 履歴)
Rmakeのご利用ありがとうございます!

以下の手順でできると思います。

  • イベントを自動的に開始するようにする
  • イベントの開始条件にgetVariable("変数名")==0を設定する
  • イベントの実行内容でsubPlayerHP関数でHPを減らす

この種の質問をする場合は、以下のことを書くともっと
反応が返りやすくなると思います^^

  • やりたいことを実現するために何を調べたのか
  • やりたいことを実現するために何を試してみたのか
  • 何ができなかったのか

ぜひいろいろ工夫するようにしてみてください。
よろしくお願いします!