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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0729
くりるrndの使い方?3解決


くりる

リンク

2018/7/29(Sun) 08:26:36|NO.84877

わけあって数字の配列を文字型にしているのですが(くりる-配列について 参照)
debuglog を出すと味方HP(0)が16000や83000等あり得ない数字になってしまいます。
rnd(101)+100はしっかり100~200の乱数を出す式だと思うんですが式のせいですか?プログラムに
変なところがあるんですか?
以下プログラム

redraw 0 味方名前(0)="スライム" 味方MAXHP(0)=""+rnd(101)+100//100~200 味方HP(0)=味方MAXHP 味方攻撃力(0)=""+rnd(3)+5 味方防御力(0)=""+rnd(3)+2 味方種類(0)="スライム" 味方スキル(0,0)="逃げるが勝ち" 味方MAXSP(0)="3" 味方SP(0)="0" 味方上昇値(0,0)="8" 味方上昇値(0,1)="3" 味方上昇値(0,2)="2" 味方次までの経験値(0)="20" picload "キャラ\\小1\\スライム小1.png" pos 0,100 color 255,255,255 button "次へ",*メイン mes ""+味方名前(0)+"が味方になった!!" pos 70,21 mes "<よろぴくぴく〜" stop



この記事に返信する


tds12

リンク

2018/7/29(Sun) 09:37:06|NO.84878

>味方MAXHP(0)=""+rnd(101)+100//100~200

これだと空文字列に乱数を文字列に変換して結合したものに100を結合していますね。
文字列に加算する整数の計算は、全体的に整数の計算をかっこでくくるとよいと思います。

味方MAXHP(0)=""+(rnd(101)+100)



科学太郎

リンク

2018/7/29(Sun) 11:36:55|NO.84881

> 味方MAXHP(0)=""+(rnd(101)+100)
分かり易くするために

味方MAXHP(0)=str(rnd(101)+100)
にしても良いでしょう。



くりる

リンク

2018/7/31(Tue) 12:04:29|NO.84905

分かりやすい説明ありがとうございました。



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