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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0502
天空の勇者どこが違うか教えてください。3未解決


天空の勇者

リンク

2015/5/2(Sat) 23:40:58|NO.68946

どこがダメかわかりません。教えてください。

title "The 竜王”
#include "hspmath.as"

screen 0, 600, 400

color 255,255,255
boxf 0, 0, 600, 480

//数値
temperture = 1000
min_a = 140
max_a = 146
min_b = 234
max_b = 246
min_c = 234
max_c = 246
min_d = 140
max_d = 146
min_e = 0
max_e = 0
min_f = 0
max_f = 0
total_a = 0
total_b = 0
total_c = 0
total_d = 0
total_e = 0
total_f = 0
yosou_normal_min = 0.0
yosou_normal_max = 0.0
yosou_double_mix = 0.0
yosou_double_max = 0.0
yosou_half_min = 0.0
yosou_half_max = 0.0
yosou_tokugi_min =0.0
yosou_tokuugi_max =0.0
return_check = 1
start_check = 1

//火力上下ボタン
pos 100, 10
button gosub "火力上げ", *push_button_up
pos 170, 10
button gosub"冷やし込み", *push_button_down

// A
pos 10, 100
input hit_damage_a, 32, 32, 3


// B
pos 300, 100
input hit_damage_b, 32, 32, 3


// C
pos 300, 100+60
input hit_damage_c, 32, 32, 3


// D
pos 300, 100+60
input hit_damage_d, 32, 32, 3


// E
pos 10, 100+60+60
input hit_damage_e, 32, 32, 3


// F
pos 10, 100+60+60+60
input hit_damage_f, 32, 32, 3

gosub *temperture_draw
gosub *level_draw
gosub *yosou_level

pos 10, 350
button gosub "入力", *push_button_input

pos 90, 350
button gosub "戻す", *push_button_return

stop

*push_botton_input //ダメージ入力

total_a_return = total_a
total_a_return = total_b
total_a_return = total_c
total_a_return = total_d
total_a_return = total_e
total_a_return = total_f

total_a += hit_damage_a
total_b += hit_damage_b
total_c += hit_damage_c
total_d += hit_damage_d
total_e += hit_damage_e
total_f += hit_damage_f

temperturn -= 50

color 255,255,255
boxf 0, 0, 600, 480
gosub *temperture_draw
gosub *level_draw
gosub *yosou_level

hit_damage_a = 0
hit_damage_b = 0
hit_damage_c = 0
hit_damage_d = 0
hit_damage_e = 0
hit_damage_f = 0

objprm 2, hit_damage_a
objprm 3, hit_damage_b
objprm 4, hit_damage_c
objprm 5, hit_damage_d
objprm 6, hit_damage_e
objprm 7, hit_damage_f

return_check = 0

return

*push_button_return

if(return_check=1){
return
}

total_a = total_a_return
total_b = total_b_return
total_c = total_c_return
total_d = total_d_return
total_e = total_e_return
total_f = total_f_return


temperture += 50

color 255,255,255
boxf 0, 0, 600, 480
gosub *temperture_draw
gosub *level_draw
gosub *yosou_level

total_a_return = total_a
total_b_return = total_b
total_c_return = total_c
total_d_return = total_d
total_e_return = total_e
total_f_return = total_f

hit_damage_a = 0
hit_damage_b = 0
hit_damage_c = 0
hit_damage_d = 0
hit_damage_e = 0
hit_damage_f = 0

objprm 2, hit_damage_a
objprm 3, hit_damage_b
objprm 4, hit_damage_c
objprm 5, hit_damage_d
objprm 6, hit_damage_e
objprm 7, hit_damage_f

return_check = 1

return


*push_button_up //火力上げ
temperture += 300
color 255,255,255
boxf 0, 0, 600, 480
gosub *temperture_draw
gosub *level_draw
gosub *yosou_level

return

*push_button_down //冷やし込み
temperture -= 300
color 255,255,255
boxf 0, 0, 600, 480
gosub *temperture_draw
gosub *level_draw
gosub *yosou_level


return


*level_draw
//A
color 0,0,0
boxf 10+32+5, 100, 10+32+5+ min_a, 100+10
color 0,255,0
boxf 10+32+5+ min_a, 100, 10+32+5+ max_a, 100+10
color 0,255,255
boxf 10+32+5, 100, 10+32+5+ total_a, 100+10

//B
color 0,0,0
boxf 300+32+5, 100, 300+32+5+ min_b, 100+10
color 0,255,0
boxf 300+32+5+ min_b, 100, 300+32+5+ max_b, 100+10
color 0,255,255
boxf 300+32+5, 100, 300+32+5+ total_b, 100+10

//C
color 0,0,0
boxf 10+32+5, 160, 10+32+5+ min_c, 100+10
color 0,255,0
boxf 10+32+5+ min_c, 160, 10+32+5+ max_c, 160+10
color 0, 255, 255
boxf 10+32+5, 160, 10+32+5+ total_c, 160+10

//D
color 0,0,0
boxf 300+32+5, 160, 300+32+5+ min_d, 160+10
color 0,255,0
boxf 300+32+5+ min_d, 160, 300+32+5+ max_d, 160+10
color 0,255,255
boxf 300+32+5, 160, 300+32+5+ total_d, 160+10

//E
color 0,0,0
boxf 10+32+5, 220, 10+32+5+ min_e, 220+10
color 0,255,0
boxf 10+32+5+ min_e, 220, 10+32+5+ max_e, 220+10
color 0, 255, 255
boxf 10+32+5, 220, 10+32+5+ total_e, 220+10

//F
color 0,0,0
boxf 10+32+5, 280, 10+32+5+ min_f, 280+10
color 0,255,0
boxf 10+32+5+ min_f, 280, 10+32+5+ max_f, 280+10
color 0, 255, 255
boxf 10+32+5, 280, 10+32+5+ total_f, 280+10

return

*yosou_level
yosou_normal_min = ceil(double((12.0*1)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_normal_max = ceil(double((18.0*1)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_double_min = ceil(double((12.0*2)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_double_max = ceil(double((18.0*2)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_triple_min = ceil(double((12.0*3)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_triple_min = ceil(double((18.0*3)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_half_min = ceil(double((12.0*0.5)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_half_max = ceil(double((18.0*0.5)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_tokugi_min = ceil(double((12.0*1.2+1)*(1.0-(0.0005*(1000.0-temperture)))))
yosou_tokugi_max = ceil(double((18.0*1.2+1)*(1.0-(0.0005*(1000.0-temperture)))))

temper_event = temperture\400

if(temper_event=0){
yosou_normal_min *= 2.0
yosou_normal_max *= 2.0
yosou_double_min *= 2.0
yosou_double_max *= 2.0
yosou_triple_min *= 2.0
yosou_triple_max *= 2.0
yosou_half_min *= 2.0
yosou_half_max *= 2.0
yosou_tokugi_min *= 2.0
yosou_tokugi_max *= 2.0
}

if(temper_event=200)&(start_check=0){
yosou_normal_min *= 0.5
yosou_normal_max *= 0.5
yosou_double_min *= 0.5
yosou_double_max *= 0.5
yosou_triple_min *= 0.5
yosou_triple_max *= 0.5
yosou_half_min *= 0.5
yosou_half_max *= 0.5
yosou_tokugi_min *= 0.5
yosou_tokugi_max *= 0.5
}

start_check = 0

//A
color 80,0,0
boxf 10+32+5+total_a+ceil(yosou_normal_min), 100+11, 10+32+5+total_a+ceil(yosou_normal_max),100+20

color 80,80,200
boxf 10+32+5+total_a+yosou_tokugi_min, 100-10, 10+32+5+total_a+yosou_tokugi_max, 100-1

color 160,0,0
boxf 10+32+5+total_a+ceil(yosou_double_min), 100+11, 10+32+5+total_a+yosou_double_max,100+20

color 240,0,0
boxf 10+32+5+total_a+yosou_triple_min, 100-10, 10+32+5+total_a+yosou_triple_max, 100-1

color 200,100,0
boxf 10+32+5+total_a+yosou_half_min, 100+11, 10+32+5+total_a+yosou_half_max, 100+20

//B
color 80,0,0
boxf 300+32+5+total_b+normal_min, 100+11, 300+32+5+total_b+yosou_normal_max, 100+20

color 80,80,200
boxf 300+32+5+total_b+tokugi_max, 100-10, 300+32+5+total_b+yosou_tokugi_max, 100-1

color 160,0,0
boxf 300+32+5+total_b+ceil(yosou_doble_min), 100+11, 300+32+5+total_b+yosou_normal_max, 100+20

color 240,0,0
boxf 300+32+5+total_b+yosou_triple_min, 100-10, 300+32+5+total_b+yosou_triple_max, 100-1

color 200,100,0
boxf 300+32+5+total_b+yosou_half_min, 100+11, 300+32+5+total_b+yosou_half_max, 100+20

//C
color 80,0,0
boxf 10+32+5+total_c+yosou_normal_min, 160+11, 10+32+5+total_c+yosou_normal_max, 160+20

color 80,80,200
boxf 10+32+5+total_c+yosou_tokugi_min, 160-10, 10+32+5+total_c+yosou_tokuugi_max, 160-1

color 160,0,0
boxf 10+32+5+total_c+ceil(yosou_double_min), 160+11, 10+32+5+total_c+yosou_double_max, 160+20

color 240,0,0
boxf 10+32+5+total_c+yosou_triple_min, 160-10, 10+32+5+total_c+yosou_triple_max, 160-1

color 200,100,0
boxf 10+32+5+total_c+yosou_half_min, 160+11, 10+32+5+total_c+yosou_half_max, 160+20

//D
color 80,0,0
boxf 300+32+5+total_d+yosou_normal_min, 160+11, 300+32+5+total_d+yosou_normal_max, 160+20

color 80,80,200
boxf 300+32+5+total_d+yosou_tokugi_min, 160-10, 300+32+5+total_d+yosou_tokugi_max, 160-1

color 160,0,0
boxf 300+32+5+total_d+ceil(yosou_doble_min), 160+11, 300+32+5+total_d+yosou_double_max, 160+20

color 240,0,0
boxf 300+32+5+total_yosou_triple_min, 160-10, 300+32+5+total_d+yosou_triple_max, 160-1

color 200,100,0
boxf 300+32+5+total_d+yosou_half_min, 160+11, 300+32+5+total_d+yosou_half_max, 160+20


//E
color 80,0,0
boxf 10+32+5+total_e+yosou_normal_min, 220+11, 10+32+5+total_e+yosou_normal_max, 220+20

color 80,80,200
boxf 10+32+5+total_e+yosou_tokugi_min, 220-10, 10+32+5+total_e+yosou_tokugi_max, 220-1

color 160,0,0
boxf 10+32+5+total_e+ceil(yosou_double_min), 220+11, 10+32+5+total_e+yosou_double_max, 220+20

color 240,0,0
boxf 10+32+5+total_e+yosou_triple_min, 220-10, 10+32+5+total_e+yosou_triple_max, 220-1

color 200,100,0
boxf 10+32+5+total_e+yosou_half_min, 280+11, 10+32+5+total_e+yosou_half_max, 280+20

//F
color 80,0,0
boxf 10+32+5+total_f+yosou_normal_min, 280+11, 10+32+5+total_f+yosou_normal_max, 280+20

color 80,80,200
boxf 10+32+5+total_f+yosou_tokugi_min, 280-10, 10+32+5+total_f+yosou_tokugi_max, 280-1

color 160,0,0
boxf 10+32+5+total_f+ceil(yosou_double_min), 280+11, 10+32+5+total_f+yosou_normal_max, 280+20

color 240,0,0
boxf 10+32+5+total_f+yosou_triple_min, 280-10, 10+32+5+total_f+yosou_triple_max, 280-1

color 200,100,0
boxf 10+32+5+total_f+yosou_half_min, 280+11, 10+32+5+total_f+yosou_half_max, 280+20

color 100,100,100
boxf 300,220,500,350
color 0,0,0
pos 305,225
font "MS ゴシック",14
mes "通常:" + int(yosou_normal_min) + "-" + int(yosou_normal_max)
mes "2倍:" + int(yosou_double_min) + "-" + int(yosou_double_max)
mes "3倍:" + int(yosou_triple_min) + "-" + int(yosou_triple_max)
mes "半減:" + int(yosou_half_min) + "-" + int(yosou_half_max)
mes "上四:" + int(yosou_tokugi_min) + "-" + int(yosou_tokugi_max)
mes "半減 (200, 600, 1000, 1400) "
mes "2倍 (400, 800, 1200, 1600) "

return

*temperture_draw
//火力関連
color 0,0,0
boxf 10,10,80,50
color 255, 255, 50
pos 20,20
mes str(temperture) + "℃"

return

これで実行を押すとこのようなのが出ます・・・

#HSP script preprocessor ver3.4 / onion software 1997-2014(c)
#Use file [hspdef.as]
#HSP code generator ver3.4 / onion software 1997-2014(c)
#未初期化の変数があります(hit_damage_a)
#未初期化の変数があります(hit_damage_b)
#未初期化の変数があります(hit_damage_c)
#未初期化の変数があります(hit_damage_d)
#未初期化の変数があります(hit_damage_e)
#未初期化の変数があります(hit_damage_f)
#未初期化の変数があります(total_b_return)
#未初期化の変数があります(total_c_return)
#未初期化の変数があります(total_d_return)
#未初期化の変数があります(total_e_return)
#未初期化の変数があります(total_f_return)
#未初期化の変数があります(normal_min)
#未初期化の変数があります(tokugi_max)
#未初期化の変数があります(yosou_doble_min)
#未初期化の変数があります(total_yosou_triple_min)
#ラベルが存在しません [push_button_input]
The 竜王.hsp(413) : error 19 : 致命的なエラーです (413行目)

どうかどうか助けてください!



この記事に返信する


スペース(HSP歴3年)

リンク

2015/5/2(Sat) 23:57:23|NO.68947


push_button_input pos 90, 350 button gosub "戻す", *push_button_return stop *push_botton_input //ダメージ入力
ラベル名が間違っています。bottonではなくbuttonではないでしょうか。



ht_ask

リンク

2015/5/3(Sun) 00:08:03|NO.68948

「致命的なエラーです」と言われたときは大抵ラベルが存在しないバグなので覚えておくと良いですよ。



スペース(HSP歴3年)

リンク

2015/5/3(Sun) 00:36:06|NO.68949

ついでに他のエラーも。(知ってたら申し訳ないです)
「ラベル名はすでに使われています」はジャンプ先のラベルが複数存在するときに表示されます。

button gosub"ボタン",*ラベル *ラベル *ラベル

ですが、こういうgosub/gotoを書く位置を間違えた時も発生するということを覚えておくと、
いつか役立つかもしれません。

button "ボタン",gosub*ラベル *ラベル



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