プチコンまとめArchive

SmileBASIC 初心者講座

パンくずリスト

このページの最終更新 : 2022/09/20 (火) 12:44:06

投稿者: RT

 

のべ 1520 人にお越しいただきました。ありがとうございます。

こちらはプチコン3号版の SmileBASIC 初心者講座に比べ更新が遅いです。プチコン3号の内容でよければできるだけプチコン3号版の講座をご覧ください

お願い: 今後の修正と追加の参考にするため、コメント欄にてご意見やご指摘、ご要望などをお書きいただきますようお願いします。

ご感想を投票していただけるだけでも嬉しいです。

最新情報

ページの更新

2017年4月27日
  • プチコンmkII版を公開しました。プチコン3号/BIG版とは異なります。

第1章 SmileBASIC とは

「さすがにそれは理解しているよ」という方、一度挫折して再挑戦する方へ この章をスキップする

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のみに対応しています。

第2章 SmileBASIC を始めよう

ここまでかたぐるしい説明ばかりになってしまいました…
まずは、プログラムを書きながら、基礎を覚えていきましょう!

プログラムを書く前に

まずは、プログラムを入力し始める方法を覚えましょう。

  1. プチコン3号を起動します。
  2. 「プログラムを作る」、「作品を見る」などのメニューが出てきます。
    「プログラムを作る」をタッチしてみましょう。
  3. 黒い上画面がでて、下画面にキーボードのようなものが出てきたと思います。これは 実行モード *4 という画面です。ここで命令を入力して、ENTER キーを押すと、そのまま実行されます。
    しかし、ここでプログラムを書くことができません。そこで、下画面左下の方にある「編集」をタッチしてみます。
  4. 編集モード *5 になりましたが、上画面が変化したのがお分かりいただけたでしょうか。行番号が付いています。ここでプログラムを入力するのです。

さて、プログラムを書く準備はできました。

さあ、文字を出してみよう

編集モードになったところで、次のように入力してみましょう。
カーソルは十字ボタンやスライドパッドで移動できます。ENTERキーをタッチするか、Aボタンを押すと改行できます。
もし打ち間違えてしまったら、←キーをタッチするかYボタンを押して1文字消すことができます。

  1. ACLS
  2. PRINT ”HELLO WORLD!!”

はい、できた!

そうしたら、実行モードに戻りましょう。下画面左下の方の「実行」をタッチします。

次のように入力して、ENTERキーをタッチしてみましょう。

  1. RUN
 

画面は次のようになっていると思います。エラーが出てしまったら、打ち間違いを確認してから、もう一度 RUN しなおしてみてください。

  1. HELLO WORLD!!
  2. OK

おめでとう!! 今、あなたがプチコンmkIIで文字を出せた瞬間です。

…といっても、これぐらいならすぐできるって?

好きな文字を表示してみよう

先ほど入力したプログラムのうち、PRINT につづく点々のカッコ()の中に「HELLO WORLD!!」という部分があると思います。
これは文字列といいます。もともと1つの文字が集まっていることから、文字列と呼ばれるのです。今までの「文字」は、正確にいえば「文字列」だったわけです。
そして、この点々のカッコにも意味があって、カッコの中の部分を文字列のデータとして扱うことを示しています。逆に言えば、これがなければ、文字列の「データ」として扱われないので、SmileBASIC はプログラムとして意味があるものだと解釈してしまいます。いま現在、 HELLO や WORLD にはプログラムとして有効ではないため、エラーが出てしまいます。
つまり、SmileBASIC のプログラムにおいては、このカッコに文字列のデータを入力して、初めて文字列となるのです。

メモ: カッコの種類にも意味があります。文字列のデータを入力するときは必ず「"」を使用してください。
重要: 文字列の最初と最後、どちらも同じカッコを使います。

そこで、そのカッコの中を好きな文字列に変更してみましょう。

  1. ACLS
  2. PRINT ”スキナ モシ゛レツ”

アルファベット、記号、カタカナなど何でも構いません。ただし、ひらがなや漢字は打てません。

あとは、先ほどのように実行してみましょう。

  1. RUN

これで、もう思いのままにメッセージを表示できます!

  1. THANK YOU
  2. OK

プログラムの意味

さて、そろそろプログラム自体のお話をしましょう。

さあ、文字を出してみよう好きな文字を表示してみよう で紹介したプログラムにはちゃんと意味があります。 まずは、ここに示す先ほどのプログラムの最初から、順に解説していきます。

  1. ACLS
  2. PRINT ”スキナ モシ゛レツ”

さあ、このプログラムの最初にあるのは、ACLS ですね。
これは、「画面をまっさらに消す」という意味の命令です。画面に何か表示する前にこの命令を書いておくと、画面をまっさらに消してから表示することができます。プログラムによっては、途中で強制終了したときに、画面がそのままの状態で残り、そのまま別のプログラムを実行するとさらに画面がグチャグチャになってしまうことがあるため、プログラムの最初に記述しておくと良いでしょう。

次、PRINT です。よく見ると、その次に先ほどご説明した文字列があるのがお分かりでしょうか? この PRINT は、この命令に続く文字列を画面に表示する命令 *6 なのです。

PRINT のように、命令に続いて文字列のようなデータを記述することがあります。これを、引数といいます。 たとえば、さあ、文字を出してみよう で、PRINT に続く "HELLO WORLD!!" は引数です。 なお、ACLS には完全に動作が決まっており、渡すデータがないため、引数はありません。

以上で、命令とその引数についてご理解いただけたでしょうか?
実は、引数の数が複数になったり、それに伴って特定の引数を指す呼び名が出てくるのですが、それはまた後ほどご説明いたします。

もっと自由な、華やかな文字表示 【近日公開】

投票

わかりやすさ

選択肢 投票
わかりやすい 3  
まあまあ 0  
わかりにくい 1  

CHECKER FLAG (ひとことコメント)

ご指摘があればお書きください。


*1 プチコンmkII までの SmileBASIC はインタプリタ言語ですが、プチコン3号/BIGでの SmileBASIC はコンパイラ言語です。
*2 既に販売を終了しました。
*3 たとえば、A の上位互換の B というと、A との互換性を維持しながらも新しい機能を追加したものが B になります。
*4 プチコン3号 からは DIRECTモード と呼ばれる
*5 プチコン3号 からは EDITモード と呼ばれる
*6 正確には命令でなく、ステートメントの一種だが、SmileBASIC ではあまり言わない。この名前は予約語となっている