簡単言語

NO_595_SUBR

変数モジュールも更新 必殺!ほぼコピペw

#module mod_variable v_i_name,v_i_ID,v_i_v_value
#modinit str p_name,int p_ID,int p_v_value
	v_i_name=p_name
	v_i_ID=p_ID
	v_i_v_value=p_v_value
	return
#modcfunc local get_i_name
	return v_i_name
#modcfunc local get_i_ID
	return v_i_ID
#modcfunc local get_i_v_value
	return v_i_v_value
#modfunc local set_i_v_value var _p4set_value
	v_i_v_value = _p4set_value
	return
#modfunc local dump
mes "dump_A"+v_i_v_value
mes "dump_B"+v_i_ID
return
#global
#module variable_manage
#deffunc local set_ID_sw_zero
	fv_ID=0
	return
#deffunc local x_var_search_init str _p_name,int _p_ID,int _p_v_value,local loc_r
	loc_r=var_search_from_ID_non_error_mes(_p_ID)
	if loc_r==-1{
		newmod o_var,mod_variable,_p_name,_p_ID,_p_v_value
		fv_ID++
		return
	}
	dialog "your ID already rgst:"+_p_ID,1
	return
#deffunc local x_var_init str _p_name,int _p_ID,int _p_v_value
	newmod o_var,mod_variable,_p_name,_p_ID,_p_v_value
;	mes get_i_ID@mod_variable(o_var.fv_ID)
	fv_ID++
	return
#defcfunc local var_search_from_ID_non_error_mes int _3p_ID,local loc_i,local loc_get_index
	for loc_i,0,fv_ID,1
		loc_get_index=get_i_ID@mod_variable(o_var.loc_i)
;		mes "ID"+get_i_ID@mod_variable(o_var.loc_i)
		if loc_get_index==_3p_ID:return loc_i
	next
	return -1
#defcfunc local var_search_from_ID int _3p_ID,local loc_i,local loc_get_index
	for loc_i,0,fv_ID,1
		loc_get_index=get_i_ID@mod_variable(o_var.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 varID"+_3p_ID,1
	return -1
#defcfunc local is_hit_after_var_search str _4p_name,int _4p_i
	if _4p_i==-1:return -1
	rr_name=get_i_name@mod_variable(o_var._4p_i)
	if rr_name==_4p_name:return 1
	dialog "don't hit from varID"+_4p_i,1
;	dialog ""+rr_name,1
	return -1
#deffunc local set_x_var_value str _p3c_name,int _p3c_ID,var _p3c_4set,local loc_sch_b,local loc_hit_b
	loc_sch_b=var_search_from_ID@variable_manage(_p3c_ID)
	loc_hit_b=is_hit_after_var_search@variable_manage(_p3c_name,loc_sch_b)
	if (loc_sch_b!=-1){
		if (loc_hit_b!=-1){
			pre_set_x_var_value@variable_manage _p3c_name,loc_sch_b,_p3c_4set
		}
	}
	return -1
#defcfunc local pre_get_x_var_value str __p_name,int __p_ID,local r_name
	r_name=get_i_name@mod_variable(o_var.__p_ID)
	if r_name!=__p_name:return -1
	return get_i_v_value@mod_variable(o_var.__p_ID)
#deffunc local pre_set_x_var_value str __p_name,int __p_ID,var __p4set,local r_name
	r_name=get_i_name@mod_variable(o_var.__p_ID)
	logmes ""+__p4set
	logmes ""+r_name
	if r_name!=__p_name:return -1
	set_i_v_value@mod_variable o_var.__p_ID,__p4set
	return
#defcfunc local get_x_var_value str __p_name,int _p3b_ID,local loc_sch,local loc_hit
	loc_sch=var_search_from_ID@variable_manage(_p3b_ID)
	loc_hit=is_hit_after_var_search@variable_manage(__p_name,loc_sch)
	if (loc_sch!=-1){
		if (loc_hit!=-1){
			return pre_get_x_var_value@variable_manage(__p_name,loc_sch)
		}
	}
	return -1
#deffunc local dump
	dump@mod_variable o_var.0
	dump@mod_variable o_var.1
return
#global
set_ID_sw_zero@variable_manage
x_var_search_init@variable_manage "x",1,2
x_var_search_init@variable_manage "y",6,4
x_var_search_init@variable_manage "z",6,6
dump@variable_manage
;sch1=var_search_from_ID@variable_manage(1)
;mes "search "+sch1
;sch2=var_search_from_ID@variable_manage(6)
;mes "search "+sch2
;sch3=var_search_from_ID@variable_manage(3)
;mes "search "+sch3
;mes "hit"+is_hit_after_var_search@variable_manage("x",sch1)
;mes "hit"+is_hit_after_var_search@variable_manage("xx",sch1)
;mes "hit"+is_hit_after_var_search@variable_manage("y",sch2)
;mes "hit"+is_hit_after_var_search@variable_manage("y",sch3)

*begin
cls 0
button "add",*l_add
stop

*l_add
	cls 0
	
	v1=0
	v2=0
	v1=get_x_var_value@variable_manage("x",1)
	v1=get_x_var_value@variable_manage("x",10);error
	v2=get_x_var_value@variable_manage("y",6)
	dump@variable_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)
;	}
	mes v1
	mes v2
	v1=v1+1
	v2=v2+2
	set_x_var_value@variable_manage "x",1,v1
	set_x_var_value@variable_manage "y",6,v2
	set_x_var_value@variable_manage "z",11,v2;error
	mes v1
	mes v2
	dump@variable_manage
	button "NEXT",*l_add
	stop
;	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