レゴキチ/里々でループ処理
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*里々でループ処理 [#qc660808]
ループはプログラムの基本中の基本。~
「全てのプログラムはループに通ず」~
応用すればありとあらゆる作業を自動化できる魔法~
**単語内でのループ [#g5441f18]
-利点~
里々/整備班カスタムMc128-1あたりだと無限ループでも落ちま...
完全なサブルーチンとして利用可能
-問題~
''&size(40){超};''複雑で意味不明
↓のサンプルではローカル変数の代用としてグローバル変数「変...
-しくみ~
>や$をifやsetに置き換えただけ
***サンプル [#gb5b9906]
-(R*)や(FMO*name)などの規則のある値を取り込んで3バ...
--※バイト値3なのはReferenceに2バイト値まで含むものがあ...
---そのため、引数区切りは4バイト値になっている&br;
(call,格納関数,前半文字列,変数の初期値,後半文字列,増加...
--前半文字列にFMOを指定した時のみ自動で変数を半角数値に変...
--最大値はループ回数ではなく変数の上限値
--最大値0指定で取り込む値が無くなるまでループ&br;
*installedghostname
$引数区切り追加【タブ】(sprintf,%c,4)
$仲間たち【タブ】(call,格納関数,R,0,,1,0)
*OnBoot
$起動中ゴーストリスト【タブ】(call,格納関数,FMO,0,name...
@格納関数
(set(sprintf,%c,4)変数(sprintf,%c,4)(if(sprintf,%c,4)...
これで下のような配列で保存される
$仲間たち=さくら{3バイト値}Emily/Phase4{3バイト値...
$起動中ゴーストリスト=「自分の名前」{3バイト値}Emil...
*ふつうのループ [#c677bfe2]
カウントダウンするループ処理で比較してみる~
ループする方法は主に以下の3つ。~
-ジャンパを使う
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>ループ処理
*脱出
:終了ー
--メリット~
ジャンプごとに条件をつけられる。~
処理が一度に行われる(\eが最後までつかない)為、バルーン...
100
99
:
2
1
--デメリット~
回数が限られる。~
あまりに多重ループをかけるとベースウェアごと落ちる。~
(れしばを見ているとすごいことになってる)~
PCにそれなりの負荷をかける~
ウチのPC環境では365回くらいが限界。~
しかし、以下のようにジャンプする回数を減らすことで耐久性...
下の場合、5回分の処理を一つにまとめたので理論上365×5=182...
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>ループ処理
*脱出
:終了ー
-()を使う
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
(ループ処理)
*脱出
:終了ー
--メリット~
(call)を使えば引数をわたせる~
その場合、自作関数の呼び出しに使うのがいいかも~
--デメリット~
基本的にジャンパと何も変わらない為、多重ループすると落ちる~
その上、条件式を指定できない~
あえて違う点を上げるなら、れしばで>の表示がないから一行...
-![raise]を使う
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==100
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
\![raise,ループ処理]
*脱出
:終了ー
--メリット~
別イベントとして次々とイベントを起こしていくため、落ちな...
完全な無限ループが可能(メリット?)
--デメリット~
途中で他のイベントが割り込む可能性がある。~
イベントの最後に\eが付く為、下のように列挙できない。
100
99
98
:
尚、以下の様な方法で列挙も可能となる
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==100
$ループ回数【タブ】(calc,(ループ回数)-1)
$表示文字列【タブ】(if,(変数「表示文字列」の存在)==0...
\![raise,ループ処理]
*脱出
:(表示文字列)
終了ー
終了行:
*里々でループ処理 [#qc660808]
ループはプログラムの基本中の基本。~
「全てのプログラムはループに通ず」~
応用すればありとあらゆる作業を自動化できる魔法~
**単語内でのループ [#g5441f18]
-利点~
里々/整備班カスタムMc128-1あたりだと無限ループでも落ちま...
完全なサブルーチンとして利用可能
-問題~
''&size(40){超};''複雑で意味不明
↓のサンプルではローカル変数の代用としてグローバル変数「変...
-しくみ~
>や$をifやsetに置き換えただけ
***サンプル [#gb5b9906]
-(R*)や(FMO*name)などの規則のある値を取り込んで3バ...
--※バイト値3なのはReferenceに2バイト値まで含むものがあ...
---そのため、引数区切りは4バイト値になっている&br;
(call,格納関数,前半文字列,変数の初期値,後半文字列,増加...
--前半文字列にFMOを指定した時のみ自動で変数を半角数値に変...
--最大値はループ回数ではなく変数の上限値
--最大値0指定で取り込む値が無くなるまでループ&br;
*installedghostname
$引数区切り追加【タブ】(sprintf,%c,4)
$仲間たち【タブ】(call,格納関数,R,0,,1,0)
*OnBoot
$起動中ゴーストリスト【タブ】(call,格納関数,FMO,0,name...
@格納関数
(set(sprintf,%c,4)変数(sprintf,%c,4)(if(sprintf,%c,4)...
これで下のような配列で保存される
$仲間たち=さくら{3バイト値}Emily/Phase4{3バイト値...
$起動中ゴーストリスト=「自分の名前」{3バイト値}Emil...
*ふつうのループ [#c677bfe2]
カウントダウンするループ処理で比較してみる~
ループする方法は主に以下の3つ。~
-ジャンパを使う
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>ループ処理
*脱出
:終了ー
--メリット~
ジャンプごとに条件をつけられる。~
処理が一度に行われる(\eが最後までつかない)為、バルーン...
100
99
:
2
1
--デメリット~
回数が限られる。~
あまりに多重ループをかけるとベースウェアごと落ちる。~
(れしばを見ているとすごいことになってる)~
PCにそれなりの負荷をかける~
ウチのPC環境では365回くらいが限界。~
しかし、以下のようにジャンプする回数を減らすことで耐久性...
下の場合、5回分の処理を一つにまとめたので理論上365×5=182...
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
>ループ処理
*脱出
:終了ー
-()を使う
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==0
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
(ループ処理)
*脱出
:終了ー
--メリット~
(call)を使えば引数をわたせる~
その場合、自作関数の呼び出しに使うのがいいかも~
--デメリット~
基本的にジャンパと何も変わらない為、多重ループすると落ちる~
その上、条件式を指定できない~
あえて違う点を上げるなら、れしばで>の表示がないから一行...
-![raise]を使う
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==100
:(ループ回数)
$ループ回数【タブ】(calc,(ループ回数)-1)
\![raise,ループ処理]
*脱出
:終了ー
--メリット~
別イベントとして次々とイベントを起こしていくため、落ちな...
完全な無限ループが可能(メリット?)
--デメリット~
途中で他のイベントが割り込む可能性がある。~
イベントの最後に\eが付く為、下のように列挙できない。
100
99
98
:
尚、以下の様な方法で列挙も可能となる
*
$ループ回数【タブ】100
>ループ処理
*ループ処理
>脱出【タブ】(ループ回数)==100
$ループ回数【タブ】(calc,(ループ回数)-1)
$表示文字列【タブ】(if,(変数「表示文字列」の存在)==0...
\![raise,ループ処理]
*脱出
:(表示文字列)
終了ー
ページ名: