Switchは何をする為のものでしょう?人気キャラクターを吹っ飛ばす為のものでしょうか。それともイカの姿のキャラクターでステージをインクで染め上げる為のものでしょうか。それともモンスターを育て、友人と対戦する為のものでしょうか。Switchはコーディングする為のものです。Switchでプログラミングができるソフト「プチコン4」について紹介したいと思います。Switchで販売されているダウンロード専用ソフト(3000円)です。Switchで本格的なプログラミングが楽しめます。皆さんも買いましょう。BASIC言語(厳密にはSmileBASICという言語)でのプログラミングが可能です。BASIC言語って??さて、BASIC言語について少し説明します。BASIC言語自体の歴史は非常に深く、なんと1964年に開発された言語です。その後、マイコンに搭載されたこともある言語で、その当時マイコンに熱中した人から絶大な支持があります。(?)別名おっさんホイホイというと、言われてもピンとこない人もいるかもしれないので仕様についてもう少しだけ紹介します。基本的に1行ずつでプログラムを解釈する。そのため一部を除く命令(関数)の途中で改行することはできない。プログラムの先頭から1行ずつ実行される実行モード(DIRECTモード)と編集モード(EDITモード)が存在し、編集モードではプログラムの記述、実行モードではプログラムのセーブ・ロード・実行の命令を主に記述する初心者向けの言語であり構文が簡単である実行モード編集モード(画像はプチコン4のサンプルコード)そうです。BASIC言語の一番大きな利点は初心者向けであることです。試しに画面に「Hello,world!」と表示するプログラムを書いてみましょう。上にもある通り、実行したいプログラムコードは「編集モード」で記述します。world!"簡単でしょう?ちなみに気づいたかもしれませんがBASIC言語では命令や関数は全て大文字で記述します。(小文字でも問題ないけど)ですが、まだこれだけでは画面に「Hello,world!」と表示されません。次に、「実行モード」で以下の命令を入力します。「『編集モード』のプログラムを実行しろ」という意味の命令です。実行モードでRUNを実行することで、晴れて「Hello,world!」と画面に表示されます。簡単な数当てゲームを実装することを目指します。数当てゲームの仕様は以下の通りとします。1.任意の自然数N(1≦N≦100)を最初に決定する。2.プレイヤーはNに当てはまる数を予想して入力する。3.プレイヤーが入力した数が正解か判断する。正解なら4、不正解なら5の手順を実行する。4.プレイヤーがこれまでに回答した回数を基に、評価コメントを表示する。5.入力された数がNより大きいか小さいかのヒントを表示する。その後2→3の手順を実行する。実際にコーディングしてみましょう。RND(MAX)で0からMAX-1までの乱数を取得できます。’END命令でプログラムを終了させられます。@MAINLOOPこれで完成です。実際に動かしてみると、以下のようになります。以下はコードの解説です。INPUT命令まず、ある変数にプレイヤーの入力した数や文字列を代入するにはINPUT命令を使います。"ゴリラ",GORILLAとすることで、画面に「ゴリラ」と表示し、プレイヤーの入力した数を変数GORILLAに代入できます。MYANSWER以下のコードは実行されません。次におなじみのIF命令ですが、C言語とかのような言語と書き方が異なります。実行したい処理とBASIC言語では書きます。先にも書いた通りBASICでは命令や関数の途中で改行してはいけません。"ゴリラウホウホウッホホホ"と書くと、エラーが出てしまうということです。IF命令はTHENの部分で改行することができます。THEN処理したい内容ENDIFとコードを書けばOKです。ENDIFと書きます。ラベル数当てゲームのコード内に出てきた@MAINLOOPという謎の文字列ですが、この@から始まる文字列をラベルと言います。BASICはプログラムの先頭から尻尾まで実行されるとプログラムが終了してしまいます。@MAINLOOPを削除すると、数を一回入力するとプログラムが終了して数の入力ができないようになってしまいます。今回の数当てゲームのような”特定の状況になるまでプログラムを実行させ続けたい”とい場合、このラベルをうまく作ってループ(ルーチン)を作ってあげる必要があります。そこで役に立つのがGOTO命令です。@GORILLAで実行するプログラムを強制的にラベルGORILLA以下のものにジャンプさせることができます。以下の例で詳しく説明します。実行結果1BASIC言語では、プログラムは先頭から1行ずつ実行されます。1.変数Aに1を代入2.ラベルHOGEにジャンプ3.変数Aを表示の順番で実行されているということです。これをうまく使うとループを作れるのです。一度、数当てゲームのコードを見てみましょう。RND(MAX)で0からMAX-1までの乱数を取得できます。’END命令でプログラムを終了させられます。@MAINLOOPこのプログラムの@MAINLOOP以降の実行順は以下のようになります。@MAINLOOPで@MAINLOOPにジャンプ(つまり1の手順に戻っている)これで、正解の数が入力されるまでプログラムを実行し続けたままにできました。やったね!!終わりにBASIC言語はクラスとか色々難しい訳分からんやつはそんなにありません。Switchでコーディングして遊ぼうね!!おしまい。