#author("2017-11-08T12:11:04+09:00","","")
[[簡単言語_NO454toNO463]]

**NO_461 [#f4ee59de]
ラベル定義でっちあげてみました

だんだん見にくくなってます

めんどくさくてユニークラベル使ってないw

 #module mod_label i_name,i_ID,i_l_value
 #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
 #modcfunc get_i_name
 	return i_name
 #modcfunc get_i_ID
 	return i_ID
 #modcfunc get_i_l_value
 	return i_l_value
 #deffunc x_label_init int sw_new_p,str _p_name,int _p_l_value
 ;	global fv_ID
 	if sw_new_p==1{
 		fv_ID=0
 	}
 	newmod o_label,mod_label,_p_name,fv_ID,_p_l_value
 	fv_ID++
 	return
 #defcfunc get_x_label_l_value str __p_name,int __p_ID,local r_name
 	r_name=get_i_name(o_label.__p_ID)
 	if r_name!=__p_name:return -1
 	return get_i_l_value(o_label.__p_ID)
 #global
 
 x_label_init 1,"a",1 ;0
 x_label_init 0,"aa1",10 ;1
 x_label_init 0,"ab1",12 ;2
 x_label_init 0,"ax1a",14 ;3
 
 dim one_code,256
 x=0
 f_stop=0
 
 //	ボタンによって選択される選択肢のID
 selected_btnext="a"
 
 #enum nop=0
 #enum en_get_my_label
 #enum en_button_A
 #enum en_button_B
 #enum en_cls0
 #enum en_objsize
 #enum en_pos
 #enum en_mes
 #enum en_stop
 
 my_pc=1
 *sw_begin
 	await 1
 switch my_pc
 case 1:my_pc++:		cr_com=en_cls0:goto *com_sw
 case 2:my_pc++:		cr_com=en_objsize:cp1=120:cp2=24:goto *com_sw
 case 3:my_pc++:		cr_com=en_get_my_label:cp1="aa1":cp2=1:goto *com_sw
 case 4:my_pc++:		cr_com=en_button_A:cp1="X足す1":bt_pc_1=my_label:goto *com_sw
 case 5:my_pc++:		cr_com=en_get_my_label:cp1="ab1":cp2=2:goto *com_sw
 case 6:my_pc++:		cr_com=en_button_B:cp1="X引く1":bt_pc_2=my_label:goto *com_sw
 case 7:my_pc++:		cr_com=en_pos:cp1=150:cp2=0:goto *com_sw
 case 8:my_pc++:		cr_com=en_mes:cp1="ボタンを押してください":goto *com_sw
 case 9:my_pc++:		cr_com=en_stop:goto *com_sw
 
 case 10:my_pc++:	cr_com=en_get_my_label:cp1="ax1a":cp2=3:goto *com_sw	
 case 11:my_pc++:	x+=1:my_pc=my_label:goto *com_sw	
 case 12:my_pc++:	cr_com=en_get_my_label:cp1="ax1a":cp2=3:goto *com_sw	
 case 13:my_pc++:	x-=1:my_pc=my_label:goto *sw_begin
  //*ax
 case 14:my_pc++:	cr_com=en_cls0:goto *com_sw
 case 15:my_pc++:	cr_com=en_objsize:cp1=120:cp2=24:goto *com_sw
 case 16:my_pc++:	cr_com=en_get_my_label:cp1="a":cp2=0:goto *com_sw
 case 17:my_pc++:	cr_com=en_button_A:cp1="NEXT":bt_pc_1=my_label:goto *com_sw
 case 18:my_pc++:	cr_com=en_pos:cp1=150:cp2=0:goto *com_sw
 case 19:my_pc++:	cr_com=en_mes:cp1="Xの値は"+x+"です":goto *com_sw
 case 20:my_pc++:	cr_com=en_stop:goto *com_sw
 swend
 stop
 
 *com_sw
 switch cr_com
 case en_get_my_label:	my_label=get_x_label_l_value(cp1,cp2):swbreak
 case en_button_A:	button cp1,*bt_hoge_1:swbreak
 case en_button_B:	button cp1,*bt_hoge_2:swbreak
 case en_cls0:	cls 0:swbreak
 case en_objsize:objsize cp1,cp2:swbreak
 case en_pos:	pos cp1,cp2:swbreak
 case en_mes:	mes ""+cp1:swbreak
 case en_stop:	f_stop=1::swbreak
 swend
 if f_stop==1:f_stop=0:stop
 goto *sw_begin
 
 *get_my_label
 	my_label=get_x_label_l_value(cp1,cp2)
 ;	my_label=get_x_label_l_value("a",0)
 	goto *sw_begin
 *bt_hoge_1
 ;	mes my_pc
 ;	mes cp1
 ;	mes cp2
 	my_pc=bt_pc_1
 	goto *sw_begin
 *bt_hoge_2
 	my_pc=bt_pc_2
 	goto *sw_begin
 *sw_end
 	stop