検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
NO_469 をテンプレートにして作成
メニュー
簡易掲示板
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
開始行:
[[簡単言語_NO467toNO479]]
**NO_469 [#n6b978d3]
プログラム言語的な動き方は、現在~
ラベル登録~
pc登録~
実行~
の3種類の動き方があるんですが~
素直にフラグで分岐しよう。と~
未だ断片的な動かないコードですけど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_...
; 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,lo...
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
dim pc_stack,256
n_pc_stack=0
hoge_pc=1
*sw_begin
await 1
my_line=int(__LINE__)
if flag_on_line_search==1
pc_stack.hoge_pc=my_line:hoge_pc++ //1
}
if flag_on_label_search==1{
my_pc_B=1
if my_pc_B==1{my_pc_B++:cp1=1 }
if my_pc_B==2{my_pc_B++:cp2="a" }
if my_pc_B==3{my_pc_B++:cp3=1 }
if my_pc_B==4{my_pc_B++:
x_label_init cp1,cp2,cp3 }
if my_pc_B==5{my_pc_B=1:my_pc++ }// label
}
if flag_on_do==1
my_pc++:goto *sw_begin
}
my_line=int(__LINE__)
if flag_on_line_search==1
pc_stack.hoge_pc=my_line:hoge_pc++ //2
}
if flag_on_label_search==1{
}
if flag_on_do==1
cr_com=en_cls0:goto *com_sw
}
my_line=int(__LINE__)
if flag_on_line_search==1
pc_stack.hoge_pc=my_line:hoge_pc++ //3
}
if flag_on_label_search==1{
}
if flag_on_do==1
if my_pc_B==1{my_pc_B++:cp1=120:goto *sw_begin }
if my_pc_B==2{my_pc_B++:cp2=24: goto *sw_begin }
if my_pc_B==3{cr_com=en_objsize:
my_pc_B=1:my_pc++:goto *com_sw }
my_pc++
}
pc=1
dim pc_stack,256
n_pc_stack=0
dim num_stack,32
repeat length(num_stack)
num_stack.cnt=-1
loop
dim my_stack,256
n_stack=0
*sw_begin_b
await 1
;switch pc
pc_stack.pc=int(__LiNE__):pc++ //1
pc_stack.pc=int(__LiNE__):pc++ //2
pc_stack.pc=int(__LiNE__):pc++ //3
;swend
repeat 5
logmes ""+cnt+" "+pc_stack.cnt
loop
repeat 5
if pc_stack.cnt!=0{
num_stack(pc_stack.cnt)=cnt
}
loop
repeat length(num_stack)
logmes ""+cnt+":"+num_stack.cnt
loop
//*0 0
1 14
2 15
3 17
4 0
0:-1
1:-1
2:-1
3:-1
4:-1
5:-1
6:-1
7:-1
8:-1
9:-1
10:-1
11:-1
12:-1
13:-1
14:1
15:2
16:-1
17:3
18:-1
19:-1
20:-1
21:-1
22:-1
23:-1
24:-1
25:-1
26:-1
27:-1
28:-1
29:-1
30:-1
31:-1
終了行:
[[簡単言語_NO467toNO479]]
**NO_469 [#n6b978d3]
プログラム言語的な動き方は、現在~
ラベル登録~
pc登録~
実行~
の3種類の動き方があるんですが~
素直にフラグで分岐しよう。と~
未だ断片的な動かないコードですけど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_...
; 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,lo...
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
dim pc_stack,256
n_pc_stack=0
hoge_pc=1
*sw_begin
await 1
my_line=int(__LINE__)
if flag_on_line_search==1
pc_stack.hoge_pc=my_line:hoge_pc++ //1
}
if flag_on_label_search==1{
my_pc_B=1
if my_pc_B==1{my_pc_B++:cp1=1 }
if my_pc_B==2{my_pc_B++:cp2="a" }
if my_pc_B==3{my_pc_B++:cp3=1 }
if my_pc_B==4{my_pc_B++:
x_label_init cp1,cp2,cp3 }
if my_pc_B==5{my_pc_B=1:my_pc++ }// label
}
if flag_on_do==1
my_pc++:goto *sw_begin
}
my_line=int(__LINE__)
if flag_on_line_search==1
pc_stack.hoge_pc=my_line:hoge_pc++ //2
}
if flag_on_label_search==1{
}
if flag_on_do==1
cr_com=en_cls0:goto *com_sw
}
my_line=int(__LINE__)
if flag_on_line_search==1
pc_stack.hoge_pc=my_line:hoge_pc++ //3
}
if flag_on_label_search==1{
}
if flag_on_do==1
if my_pc_B==1{my_pc_B++:cp1=120:goto *sw_begin }
if my_pc_B==2{my_pc_B++:cp2=24: goto *sw_begin }
if my_pc_B==3{cr_com=en_objsize:
my_pc_B=1:my_pc++:goto *com_sw }
my_pc++
}
pc=1
dim pc_stack,256
n_pc_stack=0
dim num_stack,32
repeat length(num_stack)
num_stack.cnt=-1
loop
dim my_stack,256
n_stack=0
*sw_begin_b
await 1
;switch pc
pc_stack.pc=int(__LiNE__):pc++ //1
pc_stack.pc=int(__LiNE__):pc++ //2
pc_stack.pc=int(__LiNE__):pc++ //3
;swend
repeat 5
logmes ""+cnt+" "+pc_stack.cnt
loop
repeat 5
if pc_stack.cnt!=0{
num_stack(pc_stack.cnt)=cnt
}
loop
repeat length(num_stack)
logmes ""+cnt+":"+num_stack.cnt
loop
//*0 0
1 14
2 15
3 17
4 0
0:-1
1:-1
2:-1
3:-1
4:-1
5:-1
6:-1
7:-1
8:-1
9:-1
10:-1
11:-1
12:-1
13:-1
14:1
15:2
16:-1
17:3
18:-1
19:-1
20:-1
21:-1
22:-1
23:-1
24:-1
25:-1
26:-1
27:-1
28:-1
29:-1
30:-1
31:-1
ページ名: