初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

人生一度はやってみよう MSX Basic 入門

3.文字列と行番号

 

プログラミングの学習で有効なのは、記憶することではなく
体験した動作(操作)の意味を理解することだと私は思います。

例えば、お金を入れてジュースを買う、という動作の意味を理解していれば
切符などの自販機でも大丈夫ですよね。

記憶することよりも慣れることが大切です
説明されたことだけなく、ちょっとアレンジして試してみましょう。

 

 

文字列を表示してみよう

日常の会話で文字列(もじれつ)という言葉はあまり使いませんが
プログラミングの世界ではよく使います。

ここまで print 命令で計算していたのは数値でした。
これから文字列の表示をやっていきます。

 

文字列を使うときはダブルクォーテーションで囲みます
シフトキーを押しながら2のキーを押して入力します。

キーボード上のダブルクォーテーション

 

? hello [エンターキー]
? “hello” [エンターキー]
と入力してみましょう。

ダブルクォーテーションで囲むことで文字列として使える

hello と入力したら 0 と表示されました。この理由はあとで説明します。
“hello” のときは hello と表示されました。
これは文字列として扱われています。

ダブルクォーテーションで囲むことでコンピュータは「これは文字列」と認識するのです。

 

今度は次のように入力しましょう。

? 12+3 [エンターキー]
? “12+3” [エンターキー]

数を文字列として表示する

ダブルクォーテーション無しなら、数値として計算されます。
有りなら、文字列としてそのまま表示されます。

 

 

行番号ではじめるプログラミング

これまでは入力してエンターキーを押せば、すぐ結果を表示していました。
この使い方だと電卓とそう変わりませんね。

もっと色々させるなら行番号(ぎょうばんごう)を使います。
行番号を使うことでコンピュータ上に記憶し、何度も繰り返し実行することができます。

 

次のように入力してみましょう。

cls [エンターキー]
10? 1+2 [エンターキー]
20? 3*4 [エンターキー]

行番号を付けて命令を入力する

clsは画面をクリアする命令です。

さて、今までと違う点に気づきましたか?
行番号を付けたことで、すぐに結果が表示されずOKの表示もありませんね。

listと入力してみましょう。
この命令は記憶されているプログラムを表示する命令です。

? はちゃんとPRINTに変換されて表示されます。
また、小文字で入力したものも大文字に変換されます。

 

コンピュータに記憶されたプログラムを実行するにはrun命令を使います。
runと入力してみましょう。

行番号の付いたプログラムを実行する

何度かrunと入力してみてください。
その度に同じ結果を表示します。

これがプログラミングです。
誰が操作しても何度と繰り返しても、記憶された命令を実行していくのです。

 

 

プログラムを消す命令 new

次のように入力してください。

cls [エンターキー]
list [エンターキー]
new [エンターキー]
list [エンターキー]

記憶したプログラムを消す命令new

newは記憶したプログラムを消す命令です。
そのため、2回目のlistでは何も表示されずにOKがでました。

これまでに出てきたlistrunclsnewはよく使うので覚えましょう。

 

 

行番号は小さい番号から実行される

次のように入力してください。

cls [エンターキー]
100? 1+1 [エンターキー]
50? “2-2” [エンターキー]
5? 3*3 [エンターキー]
list [エンターキー]
run [エンターキー]

プログラムは小さい行番号から実行される

ご覧の通り、プログラムは小さい行番号から実行されます
入力した順番は関係ありません。
また、10ずつ行番号を増やすルールもありません。

ただ、見た目がきれい、追加し易いなどの理由から行番号を10ずつ増やすことが多いです。

 

 

プログラムを追加してみよう

次のように入力してください。

cls [エンターキー]
list [エンターキー]
20? “msxbasic” [エンターキー]
list [エンターキー]

プログラムを追加してみる

プログラムを追加するのは簡単です。
前後の行番号を確認して、間に入るように行番号を決めます。

 

 

プログラムを削除してみよう

次のように入力してください。

cls [エンターキー]
list [エンターキー]
delete 5 [エンターキー]
list [エンターキー]

プログラムを削除してみる

deleteはプログラムを削除する命令です。
上の例では5行目を削除しました。

 

この命令の使い方は次の通りです。

使い方 動作
delete 行番号 delete 30 行番号 30を削除
delete 行番号-行番号 delete 20-50 行番号 20から50までを削除
delete -行番号 delete -30 行番号 30までを削除

 

ここで注意です。
存在しない行番号を指定するとIllegal function callというエラーになります。

エラーIllegal function call

 

最後にもう一つ、delete 命令を使わず削除する方法があります。
ただし、1行のみ消せます。

消したい行の行番号を入力しエンターキーを押すだけです。
delete 行番号と同じ動作をします。