あの日、私たちの愛したあのBASIC
INPUT”WHAT IS PETITCOM”;A$
プチコンで動く言語はBASIC、それも貴方におなじみのホビー志向でとても単純で、今にして思うと欠点をあげ出してもきりがない、あの懐かしいほうのBASICです。
懐かしくない方のBASICといえば『Visual Basic』等でおなじみ統合開発環境ですが、プチコンが採用しているSMILEBASICはオブジェクト指向もコンパイル型もGUIもこれっぽっちも気にかけていません。
あなたは気分のおもむくままに思いつきでいきなりプログラムを打って「RUN」するだけで実行できます。
DSiならここまでできる
PRINT BASIC+DSi;
プチコンはニンテンドーDSi / 3DS用ソフト(DSiウェア)。DSiの機能の多くはプチコンからもアクセスできます。
M●Xやソ●ドM5を遥かに超えたカラフルでそこそこ高速なスプライト能力(もちろんそのグラフィックパターンはBASIC上で定義できます)、さらにBG面(マイコン族には慣れない単語かもしれませんが、X68●00やファ●コンで知られる背景描画に特化したスクリーンモードです)・グラフィック面、「デジタイザは最後の武器だ」とまで言われたタッチパネル入力まで(もちろんBASICの変数で)サポートします。
当時貴方が夢見た超高性能の「ポケコン」の姿は、もしかするとここにあるのかもしれません。
力を抜いてプログラムしよう
A=3:A=A-1:PRINT A;”D”
スゴいことができる時代なのはごもっともですが(たとえばポリゴンとか)、私たちはそれらとひきかえにどれだけの手軽さを失ったことでしょう。
プチコンでは今どきライン文で直線を引き、囲まれた範囲をペイント文で塗りつぶせます。
ゼロからリソースを用意してプログラムを作る大変さは私たちソフトハウスが一番よく知っています。
プチコンではスプライトは初期状態で512種登録されていて、たとえば「主人公」と「モンスター」や「自機」に「アイテム」など、作るプログラムに必要なパーツをてっとり早く使えます。背景に使うBGチップも256枚用意。色を変えたり回転させればさらに使い勝手も広がるでしょう。
さらにキーボード上にはGRAPHキーまでも搭載。機種依存文字を使いこなし、タイトルやグラフィックのかわりからREM文の装飾、ことによってはMZ-8●版『野●拳』のような美少女のグラフィックがわりにする蛮勇すら可能です。
歌って話せるプチコン
TALK”コンニチハ”
用意されているのは画像データだけではありません。30種類の曲と70種類の効果音が最初から入っているので、たいていの場面に合ったサウンドが手間なくかけられます。
こだわり派なら自作しましょう。MML構文(BGMPLAY”CDE”で「ドレミ」が鳴る、例のやつです)を使って組んだお好きなメロディが8チャンネル同時再生、16音同時発音可能。使える音色(楽器)は基本128種類+ドラム68種類+PSG(デューティー比)8パターン+ノイズと自由自在。
さらに高低128段階×時間64段階の波形パターンを自作して、MMLで使える新音色として32種類登録できます。
レコードやカセットですでに持っている曲を楽譜片手にMMLで「演奏するだけのプログラム」を打ち込むという、→一見不毛な行為だってやるのは自由です。
音声合成機能もついてきます。TALK”アイウエオ”と書くだけで「アイウエオ」と声が出る簡単設計。
スピードや音量はもちろん、老若男女など12種類の声質や、喜怒哀楽ほか17種類の感情表現、アクセントなど細かい設定にも対応しています。ピッチ(音の高低)も調整できるので、簡易的に歌わせることも。六本木へようこそ!
ロード・ランニング
LOAD:RUN
自分の手で組み上げたプログラムはだれかに見てほしいもの。プチコンmkIIでは範囲に応じた公開方法が用意されています。
プチコン仲間に素早くプログラムを渡したいなら、DSiの無線通信を使った受け渡しがおすすめ。
ファイルが多くなってきたら、ホームメニューから送受信メニュー──あえて今どきわかりにくい言葉で言えば、ファイルマネージャ、ファイラー──でやりとりするのが簡単でしょう。
さらにプログラムをSDカードに保存すれば、PCとブラウザを通じてプログラムをQRコード化も。
生成されたQRコード画像をブログや写真共有サービスに貼り付ければ、プチコンユーザーなら誰でも自分のDSiで撮影してプログラムが読み込めます。
カセットテープに保存するのに比べて風情に欠けるとお思いかもしれませんが、テープよりもローディングエラーが格段に少ないと言えば、あなたの目にも魅力的に映りませんか?
昔とった杵柄が鈍らないために……
CLS
ためしにソフトを起動して、3行だけ打ち込んでみましょう。
- @1
- GPSET TCHX,TCHY,15
- GOTO @1
あとはRUNコマンドを入れるだけ。下画面でタッチすると、上画面の同じ場所に点が表示されるので、スタイラスを走らせればそれが絵になる簡単なお絵かきプログラムです。
見慣れない命令がありましたか? 1行目の@1は「1」というラベル名。3行目のGOTO文で行番号のかわりにラベル@1に戻っています。
行番号を使わないとはBASICにしては生意気かもしれませんが、あのルーチンはどこだっけとDSiの小さな画面をうろうろせずに済むのはなかなか便利なものです。
GPSETが画面にドットを打つ命令、TCHX・TCHYはそれぞれタッチされたヨコ位置・タテ位置が入るシステム変数といえば後はおわかりでしょう。
そう、次の15は白を意味するカラーコードです。
なつかしの最大公約数的に言えば、PSET(x,y),c といったところでしょうか? 当時のBASICの中でも機種ごとにバラバラだった部分ですが、SMILEBASICでは命令文はカッコ無し、関数はカッコ付きと統一しています。
なぜPSETではなくGPSETなのか? それは「グラフィック面」が対象の命令だからですが……スクリーンモードというもののことを思い出せば、かなり簡単にイメージできるかもしれません。
そして朗報ですが、プチコンのスクリーンモード構成はかつてのそれよりもとてもシンプルです!
最後にひとつだけ、昔のままではいられなかった(人生がそうであるように)部分を教えておきましょう。IF文などに使う比較演算子ですが、過去のBASICでおなじみの「=」「<>(または><)」ではなく「==」「!=」を使います。
「=」は代入、「==」は比較、とイコール記号にはっきり違いを与えるのが主な目的ですが、ナウいところを若者に見せてみたくなかったと言えば嘘になります。
徳間書店 (2013-12-21)
連載「プログラムを知れば、ゲームの見方が変わる。ハロー プチコン3号!」
28通りのプログラム道の始め方。その1つはプチコンmkIIです!
プチコンmkII+電子工作「DSiのタッチパネルを自動的にペンタッチするモータ基板の製作」!
日経BP社 (2012-10-22)
売り上げランキング: 6319
第4章 Part3は「ニンテンドーDSiのBASIC『プチコン』でゲームを作ろう!」
プチコンmkIIと電子工作の融合「画面の点滅を読み取ってデータを受信する光センサ基板の制作」! 謎の広告もあります
プログラミング入門第4回は「ドラクエ風RPGに挑戦」!
プログラミング入門第3回は「グラフィック画面を使って『マリオカート』風ゲームを作る」!
プログラミング入門第2回は「BG面を使って『グラディウスII』6面風の高速横スクロールゲームを作る」!
7月号のプチコンmkIIプログラミング入門は「スプライトを使いこなそう」、Reportにも登場「大進化したプチコンmkII」
6月号のプチコンmkIIプログラミング講座は「お手軽BASICを使って迷路で遊ぼう!」
アスキー・メディアワークス
売り上げランキング: 4514
初代プチコンの本ですが、プチコンmkIIでも使えます(VSYNC命令はWAIT命令に置き換えてご覧ください。詳しくはこちら)