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

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

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

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

6.INPUT と GOTO

 

みなさん、説明中のプログラムを入力してますか?
「説明を読んでいるだけ」という人は、是非、入力して実行してみましょう。

私の持論は「プログラミングは指先から覚える」です。
面倒臭がらず沢山のプログラムを入力していきましょう。

 

 

INPUT で入力をしよう

INPUT命令を使うと、実行中にキーボードから入力することができます。

作業の前に、前回のプログラムが残っているならnewで消しましょう。

 

入力した数を2倍にして表示するプログラムを作りました。
入力したらrunで実行しましょう。

input命令を実行し入力待ちの状態

実行するとの横にカーソルが表示されます。
これは入力を待っている状態です。

 

5を入力してみます。[エンターキー]を忘れずに押しましょう。

input命令を実行し入力待ちの状態

10と表示されました。
変数Aを2倍した結果がちゃんと出力されてます。
入力した値が変数Aに入ったことが分かりますね。

 

何度かrunして試してみましょう。
マイナスの数もテストしてみてください。

入力した数を2倍にするプログラム

 

 

INPUT 命令の使い方

INPUTの使い方をいくつか紹介します。

セミコロン;とカンマ,を使うので、キーボードの位置を確認しましょう。

キーボードにあるセミコロンとカンマの位置

 

変数ABに数を入力して足し算をするプログラムです。

変数aとbに入力して足し算をするプログラム

INPUT 文字列;変数とすれば、入力の前に文字列が表示されます。
何を入力するか分かるので、このように使うことが多いです。

 

複数の入力を同時に設定することもできます。
変数をカンマで区切って並べます。

PRINTではセミコロンを使っている点に注意してください。

inputで変数を複数並べて指定する方法

並べた変数の分だけ、入力要求があります。

 

文字列の入力にも対応できます。
このときの変数は文字列用を使います。

inputで文字列の入力をする

20行目を見てください。+記号を使って文字列の連結をしています。
連結は今後もどんどん使いますよ。

 

 

GOTO で流れを変えよう

指定した行番号へ処理をジャンプさせるのがGOTO命令です。
これを使って簡単なループ処理をしてみます。

次のプログラムを入力しましょう。
入力した数を5倍にして表示します。

goto命令でループ処理を作る

 

実行すると、入力と計算結果の表示が繰り返されます。
GOTOを使うことで、30行目から10行目へ処理がジャンプしています。

goto命令で処理が何度も繰り返される

 

さて、このプログラムは永遠に繰り返します。
中断するには Ctrl キーを押しながら c キーを押します。(windowsの場合)
(Macでは control + c です)

実行中の処理を中断する方法

 

中断してみます。

Ctrl+c でプログラムを中断する

Break in 10のあとにOKと表示されました。
プログラムが10行目で中断し、コンピュータが次の指示を待っている状態になりました。

 

プログラミングをしていると、意図せず処理がループしてしまうことがあります
そのときは Ctrl+c で中断しましょう。

また、Ctrl+c では中断できないときもあります。
そのときは Ctrl+Fn+F9 で中断できます。(Windowsの場合)
(ファンクションキーがちゃんとあり Fn キーが必要ないときは Ctrl+F9)
(Mac では control+fn+F9)

Ctrl+Fn+F9 でプログラムを中断する

キーボードは様々なタイプがあります。
図と違う場合はよく探してみましょう。

 

 

GOTO のエラー

存在しない行番号を GOTO で指定するとエラーになります。

存在しない行番号をGOTOで指定するとエラーになる

30行目の GOTO で 5行目にジャンプしようとしました。
そのためUndefined line number「指定した行番号がない」というエラーになりました。