古康の主にプチコン日記

プログラム初心者がプチコンに挑むお話

其の三

お久しぶりです。今回は少しだけ遊び成分が増えます。

「WAIT」

ウェイト命令…日本語にすると「待て」ってことですね。

そう、この命令は読んで字の如く、

その次に来る命令に「待て」をするわけです。

書き方ですが、

WAIT 60

とすると1秒待ちます。つまりWAIT 1だと60分の1秒待つわけです。

しかし、後にくる命令がなければこの命令には意味がありません。

ということで、実際につかってみましょう。

PRINT"5"

WAIT 60:PRINT"4"

WAIT 60:PRINT"3"

WAIT 60:PRINT"2"

WAIT 60:PRINT"1"

WAIT 60:PRINT"TIME OVER"

はい、これで実行しましょう。

すると、言葉では表しづらいですが、

簡易5秒タイマーとなるわけです。

あ、各PRINTの前にCLSつけたほうがいいですね。

まぁそれは皆さん自身でやってみましょう(やれよ

それでですが、さらに細かくすれば、WAIT 6で0.1秒単位、

WAIT 3で0.05秒単位なんかでのタイマーもできます。

まぁ打ち込むのは骨が折れる作業ですが…と、

ここでちょっとした技も紹介しましょうかいなんつって…(寒

えー、まず、下画面の右下の方に矢印アイコンがありますね。4方向のヤツ。

それは文字を打ち込むときの照準となるカーソルを移動させるものです。

それはおいといて、それの隣にまた違う矢印がありますね。ちっちゃいの。

それの下を押すと、さっきのカーソル移動アイコンのところにコピー・ペーストアイコンが出ます。

それのコピーを使うと、その1行が記憶されます。

ペーストすると、ペーストする行に書いてあるものは消されずにコピーした文字を

貼り付け…というか割り込みさせられます。

これはさっきみたいな同じような命令を何度も打ち込むときに便利です。

はいでは次。

「BEEP」

ビープ…これは単純に音を鳴らす命令です。

0~15、32~46、68,69番は効果音なんかです。16~22は楽器、

23~31、47~62はパーカッションですね。

これはもう説明書読んだ方がいいです…

で、書き方ですが、

BEEP

これだけでもいいです。0番が鳴ります

BEEP 1

これで1番が鳴ります。

BEEP 3,8192,127,64

これで、3番の音が、2オクターブ高い音で、音量127、つまり最大音量で、パンポット64、つまりDSの一番真ん中から音が

聞こえるようになります。

さて上で8192と書かれている場所がありますね。あれはピッチ値といって、音の高さを設定する部分です。

通常0として考え、高くしたい場合数値を上げ、低い音を出したい場合はマイナスの数にします。

1オクターブとは、ドから次のドまでの間のことです。この1オクターブは数値でいうと4096になります。

一音は341を目安として考えましょう。実は、4096を1オクターブ内に入る音の数である12で割ると、割り切れなかったのです。

なので、細かい話ですがこれから一音ずつの数値を書いていきます。

通常のド:0    ド#:314    レ:682

レ#:1024    ミ:1365    ファ:1706

ファ#:2048    ソ:2389    ソ#:2730

ラ:3072    ラ#:3413    シ:3754

 

1オクターブ上のド:4096    ド#4437    レ:4788

レ#:5120    ミ:5461    ファ:5802

ファ#:6144    ソ:6485    ソ#:6826

ラ:7168    ラ#7509    シ:7850    2オクターブ上のド:8196

 

2オクターブ下のド:-8196    ド#:-7850    レ:-7509

レ#:-7168    ミ:-6826    ファ:-6485

ファ#:-6144    ソ:-5802    ソ#:-5461

ラ:-5120    ラ#:-4788    シ:-4437

 

1オクターブ下のド:-4096    ド#:-3754    レ:-3413

レ#:-3072    ミ:-2730    ファ:-2389

ファ#:-2048    ソ:-1706    ソ#:-1365

ラ:-1024    ラ#:-682    シ:-341

…はぁはぁ。以上です。

今回は疲れたのでここまで