ページ 11

1upの方法について

Posted: 2014年2月22日(土) 18:43
by らお
件名どうりですが、スコアが(例えば)1000点以上で1upするにはどうやってかけばいいんでしょうか?

余り(%)を使って挑戦してみましたが、ぴったり1000点にならないと1upしませんでした・・

1000点の倍数になる毎に1回のみ実行させるにはどのように書けばいいんでしょうか・・・?

Re: 1upの方法について

Posted: 2014年2月22日(土) 18:56
by Poco
次に1upするスコアを変数として持たせておけば宜しいのでは?

Re: 1upの方法について

Posted: 2014年2月22日(土) 18:58
by みけCAT
擬似コードです。

コード:

var next1up=1000; // 次に1UPするのに必要なスコア

if(score>=next1up) { // 今のスコアが必要なスコア以上だったら
    do_1up(); // 1upする
    next1up=1000*floor((score+1000)/1000); // 次に必要なスコアを計算する。floorは小数点以下を切り捨てて整数にする関数
}

Re: 1upの方法について

Posted: 2014年2月22日(土) 19:10
by らお
なるほど。 ありがとうございました!

Re: 1upの方法について

Posted: 2014年2月22日(土) 22:55
by ISLe
市販のゲームでも一気に得点が増えると1回しか1UPしないバグってけっこうありますよね。