![]() |
![]() |
|
■秀丸がゲーセンに並ぶ…?
今回は、秀丸をモグラたたきマシンにして遊んじゃおうというマクロです。反射神経を研ぎ澄まして挑戦してみて下さい。
本題の「秀丸マクロ」のテーマは、サブルーチンです。サブルーチンはいずれの言語でも非常に重要で、便利なものです。今月は秀丸でもぐらたたきゲームを再現し、サブルーチンの使い方の例を示します。
●サブルーチンの活用
あれっ。なんだか、マジメな内容がずらり。サブルーチン周辺の秀丸マクロの知識がギッシリですね(^^) そうですよね。どーしてもマジメなワ・タ・シのセーカクは隠せなかったのでした(^^;ゞ
●サブルーチンの呼び出し
秀丸マクロのサブルーチンには「ラベル」を使って名前をつけます。ラベル名は半角の英数文字を使い、末尾には一般のマクロ文のようなセミコロンではなく、コロンを付けてください。このサブルーチンを呼び出すには、戻り値がある場合もない場合も常にcall文を用い、続けて呼び出したいサブルーチン名を指定します。call文で呼び出されたサブルーチンは、return文で復帰します。
●引数
サブルーチンへは引数を指定して値を渡せます。複数の値を渡すには、引数をカンマで区切って並べます。引数をサブルーチン内で参照するには、文字列型の引数は$$1,$$2,$$3…、数値型の引数は##1,##2,##3…とします。ここで1,2,3はcall文での引数の並び順に相当します。文字列型と数値型の引数が混在する場合は、呼び出す側とサブルーチンとの間で「型と順番」を一致させるように気をつけます。
●戻り値
サブルーチンから復帰する際に、値をひとつだけ戻り値として返すことができます。戻り値は、サブルーチンの最後に置かれるreturn文の後ろにその値を記すことで指定できます。
また、呼び出した側で戻り値を参照するには、文字列型の場合は$$return,数値型の場合は##returnという変数を使います。サブルーチン側と呼び出し元とで変数の型を合わせる必要があります。
●グローバル変数とローカル変数
秀丸マクロには、グローバル変数とローカル変数がありますが、ローカル変数とは##または$$で始まる変数で、サブルーチンの中だけで有効で、復帰すると破棄される変数です。グローバル変数を使えば、引数の指定なしにサブルーチンへ値を渡せます。
次にサブルーチンの典型的な使用例を示します。
call sub $s1,$s2,#n1,$s3,#n2; $get = $$return; …… sub: $$a=$$1; $$b=$$2; ##c=##3; $$d=$$4; ##e=$$5; …… return $$x;
●秀丸もぐらたたき化マクロ
MOGURA.MACでは、秀丸で使われるサブルーチンのさまざまなケースを網羅して作られています。なお、1行目の#LEVEL(1〜9を指定)でゲームの難しさを決定しますが、#INTERVALの数値を変更すると、全体の速さや待ち時間の揺れ幅などを細かく設定して楽しめるでしょう。テンキーの数字キーのみ使用できます。
![]() |
![]() |
©1997 Suigwinsui. All rights reserved.