古康の主にプチコン日記

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

其の四

「変数」

A=10

さぁこれが今回お話する「変数」です。

なんだかよくわかりませんね。ではとりあえず

A=10

PRINT A

と打ち込んでみましょう。

実行してみると、

10

OK

と表示されます。

変数はしばしばバケツに例えられるそうです。

この場合、Aというバケツに10と書いたメモを入れた状態になります。

そしてPRINT Aのように今までのPRINT命令とは違った書き方で命令を出すことによって

バケツAの中身が取り出されるのです。

しかし、

A=HATENA

PRINT A

こうやっても

OK

と表示されます。このままだと文字は変数に入れられないのです。

こういうときは、

A$="HATENA"

PRINT A$

としてみましょう。

HATENA

OK

今度はちゃんといったみたいですね。

文字を変数に入れる場合、

バケツ、つまり名前のほうに$をつけ、文字を" "で囲むことで同じように出来るのです。

この書き方は意外と忘れやすいので覚えておきましょう。

ちなみに名前のほうはアルファベット限定で8文字までのようです。

 

「LOCATE」

ロケート命令、

ロケーションという言葉がありますね。位置取りなどの意味があります。

ロケートはそのロケーションの原型の言葉です。つまりロケートは位置を決める命令です。

CLS

LOCATE 2,5

PRINT"HERE"

と打ってみましょう。

 

 

 

 

 

  HERE

OK

のように、LOCATEは後に来るPRINT命令がプリントする位置を変えることができるのです。

先に来る数が横、後に来る数が縦の列を操作します。

残念ながらそれ以降はまた一段目からになるらしいですね。

と、ここで注意ですが、LOCATE命令で指定される位置、最初に0があることを忘れてはなりません。

横は32マス分、縦は24マス分あるのですが、縦横共にマスは0から数えられるので

横は0~31、縦は0~23の数字を使って位置を指定することになります。

一番左上から書きたい場合、

LOCATE 0,0

にしないといけません。ご注意ください。

はい、今回は内容が浅いですがここまでです。

だんだん説明力が衰えている気がするのですが、なんとか

頑張っていきたいです。では。

其の三

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

「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

…はぁはぁ。以上です。

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

其の二

はいやってまいりました。さっそくいきましょうかね。

今回は少し進みますよ。

「CLS」

これは簡単です。この命令が出されるまでに画面上(厳密にはコンソール画面という)に出ていたものを

全て消しちゃいます。

ためしにこう打ち込んでみてください。

PRINT"ABCDEFG"

CLS

PRINT"1234567"

こうするとプログラムは基本上の命令から順にこなしていくので

一度ABCDEFGとプリントされてから画面を消し

1234567と書き直す作業をするわけです。

でもプログラムは賢いんで私達には1234567と書いただけにしか

みえません。

覚えておくといいでしょう

「COLOR」

文字どおりこれは実行モードで表示させる色を変えることができます。

色は15色あって0番目は初期色っぽいです。

私は色の判別が苦手なので説明書のCOLORの項目を自分で見て確かめてほしいです。

COLOR 3

PRINT"YERROW"

と打ち込むと黄色?の文字で

YERROW

OK

と出ます。

注意するところは、

PRINT"WHITE"

COLOR 3

PRINT"YERROW"

のように打つと先程も書いたようにプログラムは上から下へ命令をこなすので

YERROW

OK

の部分だけ黄色い文字になることです。

ですが、また新しいCOLOR命令を出すまではずっと

実行モードで打ち込む文字、表示される文字が黄色になります。

あと、COLOR 1は黒で背景が黒だと文字が見えないので注意しましょう。

「コロンとセミコロン」

:をコロン、;をセミコロンといいます。

:は通常二行以上に分けて打たないといけない複数の命令をつないで

一行であらわすことができます。

つまり普通なら

CLS

BGMPLAY 1

PRINT"SUCCESS"

と打つものを

CLS:BGMPLAY 1:PRINT"SUCCESS"

と一行にまとめて全く同じプログラムにすることができるのです。

一方;はPRINTを使って文字を表示させるときに文と文を繋げる役割があります。

文字を繋げて「ABC123」と書きたいけど

ABCと123は別々の色にしたい…だから

COLOR 7:PRINT"ABC"

COLOR 12:PRINT"123"

というふうにすると

ABC

123

OK

というふうに二段で表示されます。

こういうときにセミコロン。

COLOR 7:PRINT"ABC";←ここにセミコロン!

COLOR 12:PRINT"123"

こうすると

ABC123

OK

となります。

この二つは「:…二つ以上分の命令を一行に」

「;…別々に命令した文字同士をつなげる」

命令です。よくおぼえておきましょう。俺が。

えー…今回は以上です。

挨拶は省略します。

ではまた。

其の一

はいというわけでさっそくやってまいりましたふるやすです(棒

でまぁ今回はまだ編集モードとかは使わない簡単なモノをします。

「PRINT」

これを使うと画面に文字を書き込むことができます。

実行画面で

PRINT"OBAKE"

と打ち込みエンターキーを押すと上画面に

OBAKE

OK

というように表示されます。

試した結果PRINTと"の間は何マスか空けてもよさそうです。

編集モードで同じ様に打ち込んでから実行モードでRUNと打ち込むことで同じように

文字を表示させられます。長いプログラムのときに使うんですかね。

「BGMPLAY 」

続いてはBGMをかける方法です。

実行モードで

BGMPLAY 0

と打ち込むと0番の曲がかかります。

BGMPLAYの後に一マス空けるようにします。

曲は元から入っている30曲、自分で作った曲127曲の合計157曲…で合ってますよね。

元から入っている曲は0~29番に、自分で作曲した曲は128~255番にあります。

また、mkⅡのほうだとトラック番号とトラック音量を指定することもできるようになっています。

BGMPLAY 1,18

と打ち込むとトラック1で18番の曲が再生されます。

さらに18番の曲をかけたまま次の行に

BGMPLAY 2,4,50

と打ち込むと18番の曲も再生しながらトラック2で4番の曲が音量50で再生されます。

トラックは0~7、トラック音量は0~127まであります。

一曲しかかけない場合は

BGMPLAY 0

これで結構です。

BGMPLAYと曲番号の間に一マス開ける以外はマスを空ける必要はありません。

まぁこれは実際に試してみるといいでしょう。

もちろんこの命令も編集モードで同じように書くことで同じく

曲をかけることができます。試してないけど。

…以上で今回の説明を終ります。

どうでしょう、初心者もいいとこですね…

普通ならこんな説明書に載ってるようなこと書きませんよね…

じ、次回からは!多分!!本格的に!!!取り組むつもりです!!!!!

 

 

自信はありません。

で、ではこの辺で!

追記

プチコン:初心者むけ講座

このページを見ると私の説明よりはるかに解りやすいです。

左上のプチコンとかいたマークをクリックすると

プチコンのホームページにもいけます。

それだけです

まずはご挨拶

どうも、古康、またの名をミサイルといいます。

この度私は、新しく出たDSiウェアの「プチコンmkⅡ」を購入し、うはうはしてます。

しかし私、プログラムについて全く知識を持っていません。

そういった方は私だけではないはず…!というわけで

自分なりに試行錯誤しつつ簡単な命令からみなさんに見せびらかして

いこうという意でこのブログを立ち上げました。

見てくれる方がいると幸いです。

ちなみに、前に出たプチコンも持っています。

ほとんどやりませんでした…

と、とにかくこれから頑張っていきますのでよろしくお願いします!