変数を使う


変数の使い方


:"kfm"の機能の中で、変数というのは、かなり重要なウェイトをしめることになりました。この変数を旨く使えば、面白いことが、いろいろとできると思います。


・変数の使い方

まず、変数の数ですが、0番から500番までの、501個の変数があります。そして、 ~n (nは変数番号)というように表わします。変数の型は、整数型です。(もちろん整数というからには、正も負も扱えます。)トラック毎に分かれているのではなく、全トラック共通です。

(0)代入 ( ~n = n2 )

当然ですが、変数に値を代入できます。例を示すまでもないですが、一応、たくさん代入の例を。

~1=50
~1=120
~5=92
~4=-30
~99=43
~120=50

 

(1)演算1( ~n [+|-|*|/|%|&|||^|R|L n2 ]   =  ~nとn2を計算し、~nに代入する )

上の赤い文字のように書くと少し分かりづらいですが、

(~変数番号)(四則演算の記号)(数値)

と、いうことです。四則演算の記号は、

+ 加算。(足し算)
- 減算。(引き算)
* 乗算。(掛け算)
/ 除算。(割り算)
% 余剰。(割り算の余り)
& 理論演算 AND
| 理論演算 OR
^ 理論演算 XOR
R 右方向シフト演算
L 左方向シフト演算

と、C言語と対応させました。
(ちなみに、"kfm"は、旧Borland社のDelphiを使ってプログラムしました。)

実際の動作としては、変数の内容と数値を演算したものを、変数に代入します。
こちらも、例をたくさん挙げておきたいと思います。

~1=50  ~1+50         _print(~1); 変数1番に50を代入し、50を足して、表示する。
~2=30  ~2-20         _print(~2)
~3=120 ~3*2          _print(~3)     
~1=80  ~1*3  ~1%8    _print(~1)
~2=5   ~2/2  ~2*10   _print(~2)
{変数と変数を演算する事も出来ます}
~1=30    ~2=30    ~1+~2    _print(~1);変数1に30、2に30を代入。変数1に変数2を足す。変数1を表示する。
~1=70    ~2=8     ~1/~2    _print(~1)

"_print"コマンドの解説も少ししておきます。

これは変数の値や文字を、"Message View"に表示する機能です。"Message View"を表示させるには、F10キーを押すか、メインメニューの[View]-[Message View]のチェックを付けてください。

すると、MMLのコンパイルに合わせて、そこに"_print"で指定した変数の数値や文字が、順に表示されます。(あまり大量に数値を表示させると、コンパイルに時間がかかることがあります。)

 

(2)演算2~n=n2 [+|-|*|/|%|&||||^|R|L|<|> n3 ] = n2とn3を計算し、~nに代入する )

こちらの方が、演算1よりも分かりやすいです。

(~変数番号)=(数値)(四則演算記号)(数値)

という、形であります。演算1の

~1+5

は、

~1=~1+5

と、書き換える事が出来ます。それでは、いくつか例を。

~1=70    ~2=~1+50           _print(~2)
~1=90    ~2=90    ~3=~1*~2  _print(~3)
~1=45    ~2=60+~1 ~3=~2%~1  _print(~3)

 

(3)システム変数の代入~n=[各種コマンド] =  ~nにコマンドの数値を代入する )

変数へ、v,o,lや、REV,CHO,M,E,V,B,Pなどのシステム変数を代入できます。

v=120 ~1=v     _print(~2)
o=4   ~1=o     _print(~3)

{もちろんその逆も可}
~1=50    v=~1
~2=64    REV=~2

それから、変数に乱数を代入できます。

~n=rnd(n) = 0〜n-1までの乱数を代入する

~1=rnd(128) _print(~1)

何度か実行してみてください。毎回、表示結果が違いますよね。これを応用して、乱数音楽を作る事も出来ます。

_m(R,"~1=rnd(24) ~1+? n~1")

_tr(0) CH=1 @80 v100 q4 [8 l8 [8 R(60) ]]
_tr(1) CH=2 @12 v90 q16 [8 l4 [4 R(50) ]]
_tr(2) CH=3 @32 v90 q16 [8 l1 R(20) ]

あっという間に怪しい音楽を作ってくれますね。いろいろと数値を変えてみると、怪しい感じの度合いが変わりますので、ぜひとも、頑張って、世界一怪しい音楽を作ってください!

(他にも様々なシステム変数が代入出来ますが、少し説明が複雑になりますので、ヘルプを参照してください。)


次のページへ / 目次へ