投稿者: RT
のべ 1520 人にお越しいただきました。ありがとうございます。
こちらはプチコン3号版の SmileBASIC 初心者講座に比べ更新が遅いです。プチコン3号の内容でよければできるだけプチコン3号版の講座をご覧ください
「さすがにそれは理解しているよ」という方、一度挫折して再挑戦する方へ この章をスキップする
Nintendo 3DS のダウンロードソフト、 プチコン3号 に内蔵された「プログラミング言語」のことです。
このソフトでは、DSi/3DS にさせることを、一個一個専用の命令文として書いて、実行させるプログラミングをすることで、ツールやゲーム作りをします。
この命令文をプログラムと呼んでいます。これは一般的なパソコンで作る場合も同じで、実際にはコンピュータが理解できる 0 と 1 のデータにコンパイルするか、専用のソフトで直接プログラムを読んで実行するのが普通です。
プログラムには用途によって様々な書き方、すなわち言語が存在し、これをプログラミング言語といいます。現代で代表的なのは、C言語やJava言語ですが、プチコン3号は独自の SmileBASIC というプログラミング言語を使って、プログラムを作ることができます。 *1
SmileBASIC は、その名に含まれるように、昔主流だった BASIC言語 を元にしています。比較的習得しやすく、簡単にプログラムを作ることができました。
SmileBASIC も同じように、 BASIC の長所を引き継いでおり、プログラムの書き方も似ていますが、さらに、プログラムをより分かりやすく、書きやすくする命令、機能や、DSi/3DS のタッチパネルやボタンなどを最大限に活用したプログラムが作ることができます。
SmileBASIC はもともと DSi のソフト、「プチコン」 *2 に内蔵されていました。これは初代と呼ばれることもあります。表示・入力関連の機能、プログラムの機能など、現在のプチコンシリーズに対して多くありませんでしたが、後述する上位互換 *3 の「プチコンmkII」とともに、いちばん、かつての BASIC の面影が残ったソフトです。
その後、機能を追加してパワーアップした、「プチコンmkII」が発売されます。
そして発表されたのが 3DS 用の「プチコン3号」です。プラットフォームとともに、新しくなった開発環境と、新しくなった SmileBASIC。ほとんどの命令は互換性があり、解像度も上がるなど様々な面で機能が向上しました。
2016年には、 Wii U 用の「プチコンBIG」も発売されました。
これから、DSi と 3DS と Wii U、それぞれの長所を活かしたプラットフォームで、みんなが驚くような、楽しいプログラム作りを始めましょう!
重要: 本講座は DSi/3DS のプチコンmkIIのみに対応しています。
ここまでかたぐるしい説明ばかりになってしまいました…
まずは、プログラムを書きながら、基礎を覚えていきましょう!
まずは、プログラムを入力し始める方法を覚えましょう。
さて、プログラムを書く準備はできました。
編集モードになったところで、次のように入力してみましょう。
カーソルは十字ボタンやスライドパッドで移動できます。ENTERキーをタッチするか、Aボタンを押すと改行できます。
もし打ち間違えてしまったら、←キーをタッチするかYボタンを押して1文字消すことができます。
- ACLS
- PRINT ”HELLO WORLD!!”
はい、できた!
そうしたら、実行モードに戻りましょう。下画面左下の方の「実行」をタッチします。
次のように入力して、ENTERキーをタッチしてみましょう。
- RUN
画面は次のようになっていると思います。エラーが出てしまったら、打ち間違いを確認してから、もう一度 RUN しなおしてみてください。
- HELLO WORLD!!
- OK
おめでとう!! 今、あなたがプチコンmkIIで文字を出せた瞬間です。
…といっても、これぐらいならすぐできるって?
先ほど入力したプログラムのうち、PRINT につづく点々のカッコ(")の中に「HELLO WORLD!!」という部分があると思います。
これは文字列といいます。もともと1つの文字が集まっていることから、文字列と呼ばれるのです。今までの「文字」は、正確にいえば「文字列」だったわけです。
そして、この点々のカッコにも意味があって、カッコの中の部分を文字列のデータとして扱うことを示しています。逆に言えば、これがなければ、文字列の「データ」として扱われないので、SmileBASIC はプログラムとして意味があるものだと解釈してしまいます。いま現在、 HELLO や WORLD にはプログラムとして有効ではないため、エラーが出てしまいます。
つまり、SmileBASIC のプログラムにおいては、このカッコに文字列のデータを入力して、初めて文字列となるのです。
メモ: カッコの種類にも意味があります。文字列のデータを入力するときは必ず「"」を使用してください。
重要: 文字列の最初と最後、どちらも同じカッコを使います。
そこで、そのカッコの中を好きな文字列に変更してみましょう。
- ACLS
- PRINT ”スキナ モシ゛レツ”
アルファベット、記号、カタカナなど何でも構いません。ただし、ひらがなや漢字は打てません。
あとは、先ほどのように実行してみましょう。
- RUN
これで、もう思いのままにメッセージを表示できます!
- THANK YOU
- OK
さて、そろそろプログラム自体のお話をしましょう。
さあ、文字を出してみよう や 好きな文字を表示してみよう で紹介したプログラムにはちゃんと意味があります。 まずは、ここに示す先ほどのプログラムの最初から、順に解説していきます。
- ACLS
- PRINT ”スキナ モシ゛レツ”
さあ、このプログラムの最初にあるのは、ACLS ですね。
これは、「画面をまっさらに消す」という意味の命令です。画面に何か表示する前にこの命令を書いておくと、画面をまっさらに消してから表示することができます。プログラムによっては、途中で強制終了したときに、画面がそのままの状態で残り、そのまま別のプログラムを実行するとさらに画面がグチャグチャになってしまうことがあるため、プログラムの最初に記述しておくと良いでしょう。
次、PRINT です。よく見ると、その次に先ほどご説明した文字列があるのがお分かりでしょうか? この PRINT は、この命令に続く文字列を画面に表示する命令 *6 なのです。
PRINT のように、命令に続いて文字列のようなデータを記述することがあります。これを、引数といいます。 たとえば、さあ、文字を出してみよう で、PRINT に続く "HELLO WORLD!!" は引数です。 なお、ACLS には完全に動作が決まっており、渡すデータがないため、引数はありません。
以上で、命令とその引数についてご理解いただけたでしょうか?
実は、引数の数が複数になったり、それに伴って特定の引数を指す呼び名が出てくるのですが、それはまた後ほどご説明いたします。
ご指摘があればお書きください。