2008年8月10日日曜日

calc_priceモジュール

INT二つで値を処理するモジュールを作ってみました
コピペしようが何しようが
モジュールに手を加えた後はいじりたくないので
別FILEにして#includeした方が良いか検討中です
ですがとりあえず
FILEの中身をモジュールのみにしてTESTしてみます

FILE名:FILE_calc_price_slv_0_3.hsp
#module calc_price
#deffunc init_calc_price
// レベルから計算する価格の表示用
price_a=0
price_b=0
dim sep_of_price,2,64
sep_of_price.0.1 = 0
sep_of_price.1.1 = 50
sep_of_price.0.2 = 0
sep_of_price.1.2 = 100
sep_of_price.0.3 = 0
sep_of_price.1.3 = 200
sep_of_price.0.4 = 0
sep_of_price.1.4 = 400
sep_of_price.0.5 = 0
sep_of_price.1.5 = 800
sep_of_price.0.6 = 0
sep_of_price.1.6 = 1600
sep_of_price.0.7 = 0
sep_of_price.1.7 = 3200
sep_of_price.0.8 = 0
sep_of_price.1.8 = 6400
sep_of_price.0.9 = 0
sep_of_price.1.9 = 12800
sep_of_price.0.10 = 0
sep_of_price.1.10 = 25600
sep_of_price.0.11 = 0
sep_of_price.1.11 = 51200
sep_of_price.0.12 = 0
sep_of_price.1.12 = 102400
sep_of_price.0.13 = 0
sep_of_price.1.13 = 204800
sep_of_price.0.14 = 0
sep_of_price.1.14 = 409600
sep_of_price.0.15 = 0
sep_of_price.1.15 = 819200
sep_of_price.0.16 = 1
sep_of_price.1.16 = 638400
sep_of_price.0.17 = 3
sep_of_price.1.17 = 276800
sep_of_price.0.18 = 6
sep_of_price.1.18 = 553600
sep_of_price.0.19 = 13
sep_of_price.1.19 = 107200
sep_of_price.0.20 = 26
sep_of_price.1.20 = 214400
sep_of_price.0.21 = 52
sep_of_price.1.21 = 428800
sep_of_price.0.22 = 104
sep_of_price.1.22 = 857600
sep_of_price.0.23 = 209
sep_of_price.1.23 = 715200
sep_of_price.0.24 = 419
sep_of_price.1.24 = 430400
return

#deffunc sub_price int lv,var have_a,var have_b
to_sub=LongInt(sep_of_price.1.lv)
to_sub+=sep_of_price.0.lv*1000000
of_sub=LongInt(have_b)
of_mul=LongInt(have_a)
of_mul=of_mul*1000000
of_sub+=of_mul
of_sub-=to_sub
chg_sub=LongInt(of_sub)
chg_sub=chg_sub/1000000
have_a=int(chg_sub)
chg_sub=LongInt(of_sub)
chg_sub=chg_sub\1000000
have_b=int(chg_sub)
return
#defcfunc cmp_price int lv,int have_a,int have_b
if sep_of_price.0.lv < have_a{return 2}
if sep_of_price.0.lv > have_a{return -2}
if sep_of_price.1.lv <= have_b{return 1}
return -1


#deffunc get_price int lv,var have_a,var have_b
have_a=sep_of_price.0.lv
have_b=sep_of_price.1.lv
return
#global

sep_of_price配列の値の計算は手動じゃないです
2倍、4倍...と計算して
頭に文字列くっつけてlogmesで出力させたのをコピペしました

0 件のコメント: