[ソフトがないなら]Macintosh Plusでプログラミング 1日目[自分で作る]

ごつくてかたくて少し小さいこのキーボードが癖になる。ただしすごくうるさい。

あれから本を片手にMSBASICにてプログラミングをいじってみたのでその感想とそこそこのためになるかならないかの知識をまとめてみました。
頑張ってこの本を一冊(300P)終わらせればきっと最後にはソフト一本作れるようになれると信じて頑張る。

一日目・キー入力について

最初にテキストに出てきたのは画面の操作方法でもなくプログラム側からどうやってキーボード入力を取得するかのお話。ちなみにプログラム実行の際には

Command(⌘)+Rで実行
Command(⌘)+「.」で停止

というもの。実行すると自動で描画ウインドウが立ち上がり、実行結果が表示されます。ほとんど今の開発環境と変わらないと思い来や、まず矢印キーが使えないのとCommand(⌘)+Aで全体選択ができない、実行画面は新しくコードを描きなおして実行してもリセットされないので

CLS : 描画画面をリセットする

という命令を一番上に挟まないといけません。面白いですね。実行内容と実行される画面が別々で管理されてるって感じがします。

そして今回のメイン関数は

INKEY$   : その時のタイミングで入力された内容を取得し、変数の中に入れる。押されていなければ0を返す。
INPUT$() :かっこの中に指定された文字の分だけ文字を取得し、変数の中に入れる。キーが押されかっこの中の分まで文字が入力され終わるまで次の命令は実行されない。

といった感じ。この両方が変数に対して文字列型の数値を返すため必ず

X$ = INKEY$

といった感じに書かないとMacintoshから怒られます(笑)自分はしょっちゅう間違えたんでえらい時間がかかりました。ちなみに、変数Xの後ろにある$マークは「この変数は文字列型だから文字を入れられるよ」という意味になるそうです。だからINKEYの後ろにも$が付いているんです。

そのほかにも(というかそのほかのほうが多いのにすごいあっさり終わる)

LEN() : かっこの中に入れた変数の長さを取得し数値で返す。例えば、12345という数字が入っていたら5桁なので「5」という数値を、「おはよう」なら4文字なので「4」という数値を返す

IF ~ THEN ~ ELSE ~:おなじみIF文。使い方は{}がないぐらいで今とほとんど変わらないが一つ注意したいのがELSEを改行して書いてはいけないということ。思わず行番号もないので見やすくするために改行してしまうが、同じ一文として認識されなくなってしまう。すべて1行の中に書かなきゃいけない。(すごく面倒)

;」 : 必殺同じ行に何個も書けちゃうコマンド。乱用すると意味不明になる。また、重要なのはPRINT文でのこの用い方。下で解説。

PRINT : おなじみいろいろ出力コマンド。””で挟めばメッセージが、変数をつなげれば変数の内容を返してくれる。メッセージと変数をつなげて表示したい場合は

PRINT "Hello,World";X

といったかんじになる。

FOR I=0 TO X NEXT I NEXTの前にSTEP 1 というように増減値を指定することもできる):おなじみFOR文。処理はくそ重い。

といった感じでした。また、ラベル指定もあり、名前の後ろに「:」をつけるとその行までgoto文で飛べるようです。すごい便利。
初日からえらい量だけど、まあ単純なものばかりだからたぶん大丈夫。それよりもテキストがすべて英語なのがつらいですね。がんばって続けてオリジナルのゲームを早く作りたい・・・!

コメント

このブログの人気の投稿

ファミコンの完全自作ROM&カセットを作ろう!!その1~立ちはだかるコンパイラの壁~

ファミコンの完全自作ROM&カセット作ろう!〜cc65で起動ROMをつくる〜

74HC595を使ってarduinoの16ビットパラレル出力に挑んでみた