検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
NO_593_subr をテンプレートにして作成
メニュー
簡易掲示板
LINK集
y.tackの公式BBSブックマーク
practice room
?
最新の20件
2022-10-09
多角形の内外判定
2021-05-19
RecentDeleted
2018-08-01
FrontPage
文字列型変数管理サブルーチン
GAME作成システム
2018-07-31
double型変数管理サブルーチン
int型変数管理サブルーチン
2018-07-21
GUIとメイン分割処理。たたき台2
2018-07-11
memo
NO_579_sample
GUIとメイン分割処理。たたき台
2018-06-28
NO_714
NO_712
NO_706
NO_705
NO_704
NO_703
NO_702
2018-06-23
Shift_JIS
モートン番号テーブル化 / 八分木
total
0
today
0
yesterday
0
now
1
Menu
Total:0/Today:0
開始行:
[[簡単言語]]
**NO_593_SUBR LABEL [#t6dfb36f]
・配列にマイナスのインデックスを渡すバグ修正~
使う人のバグではあるがw~
#module mod_label i_name,i_ID,i_l_value
;i_nameラベル変数の名前
;i_nameラベル変数のID
;i_nameラベル変数の値、コマンド番号を格納する(だったよ...
#modinit str p_name,int p_ID,int p_l_value
i_name=p_name
i_ID=p_ID
i_l_value=p_l_value
return
;モジュールのメンバ変数に値を代入。変数とか言って
;代入する命令がないので、定数を格納するかんじだったか、...
;getter
#modcfunc local get_i_name
return i_name
#modcfunc local get_i_ID
return i_ID
#modcfunc local get_i_l_value
return i_l_value
#modfunc local set_i_l_value var _p4set_value
i_l_value = _p4set_value
return
#modfunc local dump
mes "dump_A"+i_l_value
mes "dump_B"+i_ID
return
#global
#module label_manage
#deffunc local set_ID_sw_zero
; global fv_ID
fv_ID=0
return
#deffunc local x_label_init str _p_name,int _p_ID,int _p...
newmod o_label,mod_label,_p_name,_p_ID,_p_l_value
fv_ID++
return
#defcfunc local label_search_from_ID int _3p_ID,local lo...
for loc_i,0,fv_ID,1
loc_get_index=get_i_ID@mod_label(o_label.loc_i)
; mes "ID"+get_i_ID@mod_variable(o_var.loc_i)
if loc_get_index==_3p_ID:return loc_i
next
dialog "don't find from labelID"+_3p_ID,1
return -1
#defcfunc local is_hit_after_label_search str _4p_name,i...
if _4p_i==-1:return -1
rr_name=get_i_name@mod_label(o_label._4p_i)
if rr_name==_4p_name:return 1
dialog "don't hit from labelID"+_4p_i,1
; dialog ""+rr_name,1
return -1
#defcfunc local pre_get_x_label_value str __p_name,int _...
r_name=get_i_name@mod_label(o_label.__p_ID)
if r_name!=__p_name:return -1
return get_i_l_value@mod_label(o_label.__p_ID)
#defcfunc local get_x_label_value str __p_name,int _p3b_...
loc_sch=label_search_from_ID@label_manage(_p3b_ID)
loc_hit=is_hit_after_label_search@label_manage(__p_name...
if (loc_sch!=-1){
if (loc_hit!=-1){
return pre_get_x_label_value@label_manage(__p_name,lo...
}
}
return -1
#deffunc local pre_set_x_label_value str __p_name,int __...
r_name=get_i_name@mod_label(o_label.__p_ID)
logmes ""+__p4set
logmes ""+r_name
if r_name!=__p_name:return -1
set_i_l_value@mod_label o_label.__p_ID,__p4set
return
#deffunc local set_x_label_value str _p3c_name,int _p3c_...
loc_sch_b=label_search_from_ID@label_manage(_p3c_ID)
loc_hit_b=is_hit_after_label_search@label_manage(_p3c_n...
if (loc_sch_b!=-1){
if (loc_hit_b!=-1){
pre_set_x_label_value@label_manage _p3c_name,loc_sch_...
}
}
return -1
#deffunc local dump
dump@mod_label o_label.0
dump@mod_label o_label.1
return
#global
;変数をIDだけでも名前だけで識別してるわけでもなく
;IDを渡して返ってきた名前と引数で指定した名前が等しい時...
;IDだけだと間違いやすく
;名前だけだと検索するのに時間がかかるので
;取得はめんどくさいですが
;二つのやり方のいいとこどりとなっています
set_ID_sw_zero@label_manage
x_label_init@label_manage "x",3,10
x_label_init@label_manage "y",6,20
dump@label_manage
l1=pre_get_x_label_value@label_manage("x",0)
l2=pre_get_x_label_value@label_manage("y",1)
; l3=pre_get_x_label_value@label_manage("xx",3);error
; l4=pre_get_x_label_value@label_manage("x",9);error
dump@label_manage
sch1=label_search_from_ID@label_manage(3)
mes "search "+sch1
sch2=label_search_from_ID@label_manage(6)
mes "search "+sch2
sch3=label_search_from_ID@label_manage(9);error
mes "search "+sch3
mes "hit"+is_hit_after_label_search@label_manage("x",sch1)
mes "hit"+is_hit_after_label_search@label_manage("xx",sc...
mes "hit"+is_hit_after_label_search@label_manage("y",sch2)
mes "hit"+is_hit_after_label_search@label_manage("z",sch...
v1=0
v2=0
v1=get_x_label_value@label_manage("x",3)
v2=get_x_label_value@label_manage("y",6)
v3=get_x_label_value@label_manage("z",9);error
dump@label_manage
; sch1=var_search_from_ID@variable_manage(1)
; mes "search "+sch1
; hit1=is_hit_after_var_search@variable_manage("x",sch1)
; mes "hit"+hit1
; if (sch1!=-1)&&(hit1!=-1){
; v1=get_x_var_value@variable_manage("x",sch1)
; }
; sch2=var_search_from_ID@variable_manage(6)
; mes "search "+sch2
; hit2=is_hit_after_var_search@variable_manage("y",sch2)
; mes "hit"+hit2
; if (sch2!=-1)&&(hit2!=-1){
; v2=pre_get_x_var_value@variable_manage("y",sch2)
; }
f1=100
set_x_label_value@label_manage "x",3,f1
f2=200
set_x_label_value@label_manage "y",6,f2
f3=300
set_x_label_value@label_manage "z",9,f3;error
dump@label_manage
; sch1=var_search_from_ID@variable_manage(1)
; mes "search "+sch1
; hit1=is_hit_after_var_search@variable_manage("x",sch1)
; mes "hit"+hit1
; if (sch1!=-1)&&(hit1!=-1){
;; v1=get_x_var_value@variable_manage("x",hit1)
; pre_set_x_var_value@variable_manage "x",sch1,v1
; }
;; set_x_var_value@variable_manage "x",1,v1
; sch2=var_search_from_ID@variable_manage(6)
; mes "search "+sch2
; hit2=is_hit_after_var_search@variable_manage("y",sch2)
; mes "hit"+hit2
; if (sch2!=-1)&&(hit2!=-1){
;; v2=get_x_var_value@variable_manage("y",hit2)
; pre_set_x_var_value@variable_manage "y",sch2,v2
; }
;; set_x_var_value@variable_manage "y",6,v2
; mes v1
; mes v2
; dump@variable_manage
; button "NEXT",*l_add
; stop
終了行:
[[簡単言語]]
**NO_593_SUBR LABEL [#t6dfb36f]
・配列にマイナスのインデックスを渡すバグ修正~
使う人のバグではあるがw~
#module mod_label i_name,i_ID,i_l_value
;i_nameラベル変数の名前
;i_nameラベル変数のID
;i_nameラベル変数の値、コマンド番号を格納する(だったよ...
#modinit str p_name,int p_ID,int p_l_value
i_name=p_name
i_ID=p_ID
i_l_value=p_l_value
return
;モジュールのメンバ変数に値を代入。変数とか言って
;代入する命令がないので、定数を格納するかんじだったか、...
;getter
#modcfunc local get_i_name
return i_name
#modcfunc local get_i_ID
return i_ID
#modcfunc local get_i_l_value
return i_l_value
#modfunc local set_i_l_value var _p4set_value
i_l_value = _p4set_value
return
#modfunc local dump
mes "dump_A"+i_l_value
mes "dump_B"+i_ID
return
#global
#module label_manage
#deffunc local set_ID_sw_zero
; global fv_ID
fv_ID=0
return
#deffunc local x_label_init str _p_name,int _p_ID,int _p...
newmod o_label,mod_label,_p_name,_p_ID,_p_l_value
fv_ID++
return
#defcfunc local label_search_from_ID int _3p_ID,local lo...
for loc_i,0,fv_ID,1
loc_get_index=get_i_ID@mod_label(o_label.loc_i)
; mes "ID"+get_i_ID@mod_variable(o_var.loc_i)
if loc_get_index==_3p_ID:return loc_i
next
dialog "don't find from labelID"+_3p_ID,1
return -1
#defcfunc local is_hit_after_label_search str _4p_name,i...
if _4p_i==-1:return -1
rr_name=get_i_name@mod_label(o_label._4p_i)
if rr_name==_4p_name:return 1
dialog "don't hit from labelID"+_4p_i,1
; dialog ""+rr_name,1
return -1
#defcfunc local pre_get_x_label_value str __p_name,int _...
r_name=get_i_name@mod_label(o_label.__p_ID)
if r_name!=__p_name:return -1
return get_i_l_value@mod_label(o_label.__p_ID)
#defcfunc local get_x_label_value str __p_name,int _p3b_...
loc_sch=label_search_from_ID@label_manage(_p3b_ID)
loc_hit=is_hit_after_label_search@label_manage(__p_name...
if (loc_sch!=-1){
if (loc_hit!=-1){
return pre_get_x_label_value@label_manage(__p_name,lo...
}
}
return -1
#deffunc local pre_set_x_label_value str __p_name,int __...
r_name=get_i_name@mod_label(o_label.__p_ID)
logmes ""+__p4set
logmes ""+r_name
if r_name!=__p_name:return -1
set_i_l_value@mod_label o_label.__p_ID,__p4set
return
#deffunc local set_x_label_value str _p3c_name,int _p3c_...
loc_sch_b=label_search_from_ID@label_manage(_p3c_ID)
loc_hit_b=is_hit_after_label_search@label_manage(_p3c_n...
if (loc_sch_b!=-1){
if (loc_hit_b!=-1){
pre_set_x_label_value@label_manage _p3c_name,loc_sch_...
}
}
return -1
#deffunc local dump
dump@mod_label o_label.0
dump@mod_label o_label.1
return
#global
;変数をIDだけでも名前だけで識別してるわけでもなく
;IDを渡して返ってきた名前と引数で指定した名前が等しい時...
;IDだけだと間違いやすく
;名前だけだと検索するのに時間がかかるので
;取得はめんどくさいですが
;二つのやり方のいいとこどりとなっています
set_ID_sw_zero@label_manage
x_label_init@label_manage "x",3,10
x_label_init@label_manage "y",6,20
dump@label_manage
l1=pre_get_x_label_value@label_manage("x",0)
l2=pre_get_x_label_value@label_manage("y",1)
; l3=pre_get_x_label_value@label_manage("xx",3);error
; l4=pre_get_x_label_value@label_manage("x",9);error
dump@label_manage
sch1=label_search_from_ID@label_manage(3)
mes "search "+sch1
sch2=label_search_from_ID@label_manage(6)
mes "search "+sch2
sch3=label_search_from_ID@label_manage(9);error
mes "search "+sch3
mes "hit"+is_hit_after_label_search@label_manage("x",sch1)
mes "hit"+is_hit_after_label_search@label_manage("xx",sc...
mes "hit"+is_hit_after_label_search@label_manage("y",sch2)
mes "hit"+is_hit_after_label_search@label_manage("z",sch...
v1=0
v2=0
v1=get_x_label_value@label_manage("x",3)
v2=get_x_label_value@label_manage("y",6)
v3=get_x_label_value@label_manage("z",9);error
dump@label_manage
; sch1=var_search_from_ID@variable_manage(1)
; mes "search "+sch1
; hit1=is_hit_after_var_search@variable_manage("x",sch1)
; mes "hit"+hit1
; if (sch1!=-1)&&(hit1!=-1){
; v1=get_x_var_value@variable_manage("x",sch1)
; }
; sch2=var_search_from_ID@variable_manage(6)
; mes "search "+sch2
; hit2=is_hit_after_var_search@variable_manage("y",sch2)
; mes "hit"+hit2
; if (sch2!=-1)&&(hit2!=-1){
; v2=pre_get_x_var_value@variable_manage("y",sch2)
; }
f1=100
set_x_label_value@label_manage "x",3,f1
f2=200
set_x_label_value@label_manage "y",6,f2
f3=300
set_x_label_value@label_manage "z",9,f3;error
dump@label_manage
; sch1=var_search_from_ID@variable_manage(1)
; mes "search "+sch1
; hit1=is_hit_after_var_search@variable_manage("x",sch1)
; mes "hit"+hit1
; if (sch1!=-1)&&(hit1!=-1){
;; v1=get_x_var_value@variable_manage("x",hit1)
; pre_set_x_var_value@variable_manage "x",sch1,v1
; }
;; set_x_var_value@variable_manage "x",1,v1
; sch2=var_search_from_ID@variable_manage(6)
; mes "search "+sch2
; hit2=is_hit_after_var_search@variable_manage("y",sch2)
; mes "hit"+hit2
; if (sch2!=-1)&&(hit2!=-1){
;; v2=get_x_var_value@variable_manage("y",hit2)
; pre_set_x_var_value@variable_manage "y",sch2,v2
; }
;; set_x_var_value@variable_manage "y",6,v2
; mes v1
; mes v2
; dump@variable_manage
; button "NEXT",*l_add
; stop
ページ名: