HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0807
〆rainbowシュミレーションゲームにて4解決


〆rainbow

リンク

2012/8/7(Tue) 10:34:46|NO.48218

x=100 //敵の体力を100とする
*a
button "攻撃",*aaa
stop

*aaa
if x <= 0 : mes "敵を倒した" : wait 200 : goto *bbb
x=x-50
goto *a

*bbb
mes "敵を倒した"
wait 100
end

というソースなのですが
理想ではボタンを二回押したら
mes 敵を倒した
としたいのですが
実行すると
3回ボタンを押さないと敵が倒せません><
どこが間違ってるのでしょうか?



この記事に返信する


あり

リンク

2012/8/7(Tue) 10:48:57|NO.48219

ダメージ計算は死亡判定の先に行わないと一回無駄になります。

x = 100 //敵の体力を100とする *a button "攻撃",*aaa stop *aaa x = x-50 if x <= 0 : mes "敵を倒した" : wait 200 stop



〆rainbow

リンク

2012/8/7(Tue) 10:55:14|NO.48220

ありがとうございます^^
出来ました^^



mamo

リンク

2012/8/7(Tue) 11:02:55|NO.48221

ボタンをクリックした後が
if x <= 0 : mes "敵を倒した" : wait 200 : goto *bbb
 この時点では条件の判定だけなので x は 100 のまま。
次の行に移動して
x=x-50
 ここでダメージとして -50 される。

1回目は判定の時点でx=100、その後にx=50
2回目は判定の時点でx=50、その後にx=0
3回目の判定時にやっとx=0の条件が合う事になっている。

ダメージを受けた後の体力を判定するのだから、ダメージ計算と判定の順番がおかしいよね。

ボタンが増えてしまっているけど、そこは理解してのこと?



〆rainbow

リンク

2012/8/7(Tue) 11:23:08|NO.48223

ちょっといまぱぱっと作っただけなので
実際は理解しているから大丈夫です

ご回答ありがとうございます



ONION software Copyright 1997-2018(c) All rights reserved.