プチコンまとめArchive

よくある質問集

パンくずリスト

このページの最終更新 : 2016/09/11 (日) 16:11:36
公式アーカイブのリンク: http://wiki.hosiken.jp/petc/html/FAQ.html

購入前

Q. いくらで売ってますか?

800 ポイントです。1 ポイント = 1 円なので 800円出せば買えます。

なお、ポイントのチャージは、DSi では 1000 ポイント、3DS では 500 ポイント (クレジットカードの場合) または 1000 ポイント単位なので、まったくポイントを持っていない状態からだと 1000 円分のチャージが必要です。余った 200 ポイントは何か面白そうな別のウェアを買うのに使いましょう。

Q. i じゃない ニンテンドーDS (Lite) しか持ってないんですが、これで動きますか?

無理。

Q. 必要ブロック数は?

旧プチコンは 117 ブロック、プチコンmkII は 125 ブロックです。これにはプログラムを保存する領域も含まれています。

Q. プログラムはどこに保存されるの?

基本的に本体メモリに保存されます。mkII では SD カードへの保存ができますが、SD カードからの読み込みはできず、PC を使って QR コードを作成する目的のみに使用できます。

Q. ニンテンドー3DS で動きますか?

はい。本体を最新に更新すると追加される、ニンテンドー eショップで購入することができます。

すでに DSi で購入済みの方は、「ソフトの引っ越し」機能を使って 3DS に移行させることもできますが、引っ越し機能の仕様により、セーブデータ (保存したプログラムなど) は引っ越しされず全て消去されます

Q. ニンテンドー3DS でプチコンを使うと BASIC で立体視の制御もできるの?

無理じゃ。新作の『プチコン3号』へどうぞ。

Q. 『メイドイン俺』やツクールシリーズみたいに、初心者でも簡単に何か作品を作ることができるの?

BASIC とはいえども立派なプログラミング言語の一種です。プログラミング言語の中では比較的簡単な部類ですが、一応簡単な (本当に簡単な) BASIC が大学センター試験の数学の問題として毎年出題されているほどのものです。『メイドイン俺』や『RPG ツクール』みたいに、そうそう簡単に覚えたり作ったりはできません。

旧プチコン発売直後からすでに作品がぽつぽつ公開されていたのは、プチコンの購入者の大半が腕に覚えがあるおっさんだったからです。今時のパソコンで言うと、HSP 程度の難易度ではないかと思われます。

プチコンmkII について

Q. プチコンmkII (プチコン+) ってなんですか?

現在配信中の、プチコンの大幅機能強化版です。詳しくは公式サイトをごらんください。なお、DSi ウェアにおける任天堂との取り決め上の都合で、mkII は新規の別ソフト (同じく 800 ポイント) として提供されます。旧プチコンのユーザーは、再度mkIIを購入する必要があります (旧プチコンからのファイルの引き継ぎは可能)。

旧プチコンは、mkII の配信に伴い配信終了し、新規購入できなりました (購入済みの再ダウンロードや、V1.2 への更新は今後も可能)。なお、mkII には旧プチコンの機能をすべて含有しているので、購入しておく必要は特にないので大丈夫です。

Q. プチコンmkII を買った場合、旧プチコンで作成したデータは引き継げますか?

はい、できます。プチコンmkII から、旧プチコンのセーブデータ領域を参照でき、引き継ぐことができます。別の本体の場合、SENDFILE で旧プチコンからプチコンmkII にファイル送信することもできます。

Q. 旧プチコンで作ったプログラムは、プチコンmkII で動きますか?

mkII は旧プチコンと上位互換性があり、プチコンで作成したプログラムは基本的にそのまま mkII で動きます。例外は以下の通りです。

  • プチコンmkII では、VSYNC 命令の挙動が変わり、旧プチコンの VSYNC 命令に相当するものは WAIT 命令に代わりました。mkII から旧プチコンのプログラムを読み込んだり、受け取ったりした場合、VSYNC 命令は自動的に WAIT 命令に変換されます。
  • プチコンmkII では、SPCHK 関数の戻り値が、各状態の終了をビットで返すようになり、すべての動作完了は「0」となりました。今まではすべての動作を終えると TRUE を返していたので、それを前提に判定している場合は、プログラムの修正が必要です。
  • 万が一プチコンmkII で追加された命令と同名の変数がある場合、文法エラーとなってしまいますので、修正が必要となります。なお、ラベルは同名でもエラーにならないようです。
  • その他、挙動が違う点は公式サイトの「互換性ガイド」にまとめられています。

基本

Q. 買ってみたけど、BASIC 知らなくて手が出ません。最初に何から始めたらいいですか

サンプルプログラムを起動する

とりあえずダイレクトモード (「実行」モード) で以下のいずれかを打ち込んで Enter キーを押すと、サンプルプログラムを起動できます。

  1. EXEC ”SAMPLE1”
  2. EXEC ”GAME1”
  3. EXEC ”CHRED”
  4. EXEC ”SCRED”
  5. EXEC ”GRPED”
  6. EXEC ”DRWED”

プチコンmkII では、SAMPLE は SAMPLE1 から SAMPLE13、GAME は GAME1 から GAME6 まであります。各サンプルの説明は、公式サイトの付属プログラム説明を参照してください。実行中、セレクトボタンまたは「停止」ボタンを押すとで実行中断、「編集」ボタンを押すとプログラムリストが見られます。

ちなみに、EXEC 命令は、プログラムをロードして実行する命令です。EXEC ”GAME1”LOAD ”GAME1”:RUN とやってることが同じです。

既存のプログラムを改造して遊ぶ

昔の人は、他の人が作ったプログラムを打ち込んで参考にしたり、そのプログラムやサンプルを魔改造して遊んだりして BASIC をマスターしていったので、BASIC を覚えるには先人と同じ道をたどると良いかもしれません。公式サイトのプログラムリスト集投稿プログラムコーナープチコン作品リンク集あたりをあさってみるといいよ! 何か完成させたい気持ちが先走るとたいてい挫折するので、新参の方も焦らずあきらめないでじっくり BASIC 言語をマスターしましょう。

作成したプログラムをセーブする

改造したり、新たに作成したりしたプログラムは、ダイレクトモードで以下のように打ち込むとセーブとロードができます。使える名前はアルファベットと数字のみで、最大 8 文字です。

  1. SAVE ”スキナ ナマエ”
  2. LOAD ”スキナ ナマエ”

作成中のプログラムを保存しないでうっかり LOAD 命令や EXEC 命令を実行してしまうと、一瞬で失われてしまいます。こまめに SAVE 命令で保存しましょう。

初心者講座を見る

公式サイトにプチコンmkII を気軽に遊ぼう!プチコンmkII 初心者講座のコーナーができました。かなり詳しい内容ですので、何から手を出していいかわからなければ、ぜひ開いてみてください。

Q. もしプチコンのセーブデータ領域が満杯になったら、諦めていらないデータを消すしかないですか?

以下のような方法があります。

  1. プチコンmkII では、QR コード化のためにデータを SD カードに保存することができます。本来はネットなどを通じて公開するための機能ですが、バックアップ用としても使用できます。.ptc ファイルさえ保存しておけば、必要なときにいつでも QR コード化できるので、バックアップ用途の場合は無理に QR コード化しておく必要はありません。
  2. DSi ウェアを SD カードに書き出すと、プチコン本体とセーブデータがセットで保存されます。このファイルをパソコンに移して複数個管理しておけば、セーブデータ領域が満杯になってもなんとか諦めずに済みます。ただし、書き出したデータは他の DSi 本体では使えないので注意。うっかり本体を手放したり粉砕したりすると、そのデータはもう二度と使えなくなります。
  3. DSi と 3DS 両方持っている方や、身の回りのお友達に DSi・3DS 持ちがいる場合、双方でプチコンを購入しておいて、SENDFILE・RECVFILE でファイルをお互いやりとりしながら整理する方法もあります。

Q. ニンテンドー 3DS でプチコンを起動させたら、なんか画面がぼやけてます。

DSi と ニンテンドー 3DS では画面解像度が違うので、ぼやけてしまうのは仕方が無いことです。

ですが、3DS の HOME メニューからプチコンを起動する際、スタートボタンを押しながら起動すると、等倍表示になってくっきりにすることはできます。ただし、画面はかなり小さくなってしまうので、プログラム入力には全く向いていません。この等倍表示機能はニンテンドー 3DS 自体に備わった機能で、すべての DS ソフト・DSi ウェアに対して使えます。

Q. 旧プチコンはもう二度とダウンロードすることができないの?

旧プチコンは配信終了しましたが、すでに購入済みの方は今後も以下の操作でいつでも再受信が可能です。

  • ニンテンドー DSi の場合 : DSiショップ → ショッピングへ → 設定メニュー → 購入済みソフト → 『プチコン』
  • ニンテンドー 3DS の場合 : ニンテンドーeショップ → 設定・その他 → 購入済みソフト → 『プチコン』

旧プチコンを未購入の方はもう買うことはできませんので、互換性はそのままに新しくなったプチコンmkII をお楽しみ下さい。

Q. バグが修正されたバージョンがあるらしいけど?

  • 旧プチコンは、2011 年 6 月に、バグが大量修正されたバージョンである V1.1、11 月に V1.2 の配信が開始されました (バージョンはプチコン起動直後の画面に表示されています)。
  • プチコンmkII は、2012 年 5 月 2 日から、バグが大量修正されたバージョンである V2.1、9 月 12 日には V2.3 の配信が開始されました。

新規に購入した人はもちろん更新版をダウンロードすることになりますが、旧バージョンのユーザーでも、再受信の操作を行うことで、すべてのセーブデータを残したままのバージョンアップが可能です。なお、バージョンアップ後、旧バージョンである V1.00、V1.1 や V2.0、V2.1 はもう二度と手に入りません。上書きする前に、記念に旧バージョンを SD カードに保存しておくのも良いんではないでしょうか。

編集・実行

Q. プチコンに保存したファイルの一覧が見たいです

FILES 命令で一覧を表示させることができます。ダイレクトモード (「実行」モード) で左上の「1 FILE.」と書かれたボタンを押してから、Enter キーを押してみてください。

Q. 下画面も使うプログラムで、実行を止める方法が分かりません

セレクトボタンを押すと、プログラムの実行が止まります。この操作は下画面を使っていなくても有効です。

Q. セレクトボタンの入力を取りたいのに、押すとプログラムの実行が止まってしまいます

セレクトボタンは、ESC キーと同等の割り当てが行われています。ESC キーを押すとブレークがかかり、プログラムの実行が止まるようになっています。BUTTON 命令でセレクトキーの入力が取れそうなことが書かれていますが、実際にはプログラムの実行が止まるため、取れません。

Q. プチコンmkII の「作品を見る」から、サンプルプログラムの「SAMPLE1」を起動できない。

「SAMPLE1」は文字を表示してすぐに終了するプログラムですが、「作品を見る」モードはプログラムが終了するとすぐにホームメニューに戻ってしまうため、起動しなかったように見えます。「プログラムを作る」モードから、「EXEC ”SAMPLE1”」と入力して実行させてみてください。

なお、V2.1 から「SAMPLE1」の最後にキー入力待ちが追加されましたので、このようなことは起こりません。

命令

Q. PRINT 命令で一番下の行に文字を表示させると、1 行分スクロールしてしまいます

PRINT 命令は通常は改行しますから、24 行目に文字を表示するとスクロールしてしまいます。しかし、PRINT 命令の一番最後にセミコロン (;)を付加すると、改行しません。これにより、スクロールも発生しなくなります。

  1. LOCATE 0,23:PRINT ”TEST”;

Q. BGMPLAY や BEEP で、どの番号で何の音が鳴るのかさっぱり分かりません

説明書 → プチコン基本仕様(2/2) → サウンド機能 に全部の音の一覧が載ってます。説明書に切り替えながら探すのは面倒くさいので、プチコンメモにその一覧が転載されています。

Q. PLAY 命令ないの? MML 書きたいんですが

プチコンmkII は、BGMPLAY 命令、BGMSET 命令、BGMSETD 命令のいずれかを使って MML で作成した BGM・効果音を鳴らすことができます。

  1. ’ スク゛ ナラス
  2. BGMPLAY ”T120@147CDEFG”
  1. ’ トウロク シテ ナラス
  2. BGMSET 128,”T120@147CDEDC”
  3. BGMPLAY 128

旧プチコンにはそのようなものはありません。しかし、BEEP 命令を駆使して、BASIC プログラムで MML を再生できるようにしたもの ならあります。自力で BGM 演奏する手法は旧プチコンでは割とメジャーな手法でした。

Q. CLEAR を使いたいのですが、初期化したくない変数があります。いったん保存しないといけないのでしょうか?

下にあるように MEM$ はファイル保存ができる便利な変数です。実は、MEM$ はシステム変数なのでCLEARの影響を受けません。

  1. A$=”キエチャウヨ!”:MEM$=”ノコルヨ!”
  2. CLEAR
  3. PRINT A$,MEM$

Q.IF~THEN命令で等号・不等号を2つ以上使った式がうまく参照されないようですが?

一般的なBASICの挙動で、例えばIF 2<=A<=5 THENとするとTRUEやFALSEと比較されているので、数学のような感覚ではうまくいきません。

「2以上5以下」と書きたければ、2<=A AND A<=5のようにしましょう。

ファイル

Q. プチコンのマニュアルにさらっと書かれている「MEM リソース」の正体がわかりません

作成したゲームにセーブデータ機能をもたせることはできますか? の FAQ を参照してください。

Q. 作成したゲームにセーブデータ機能をもたせることはできますか?

制約はありますが、可能です。MEM リソースを使用します。

MEM リソースとは?

MEM$ (ユーザー記憶用文字列) というシステム変数を介して好きな文字列をファイルにセーブ・ロードできる仕組みです。この変数 MEM$ に、セーブしたい内容を 255 文字以内の文字列にまとめて、SAVE ”MEM:ファイルメイ” で MEM$ の文字列をファイルに保存、LOAD ”MEM:ファイルメイ” でファイルから MEM$ にロードすることができます。

MEM リソースのサンプルプログラム

数値をファイルに記録して覚えておくプログラムです。セーブの確認ダイアログがかならず出るのは仕様です!

  1. HISCORE=100
  2. MEM$=STR$(HISCORE)
  3. SAVE ”MEM:HISC”

数値をファイルから読み出して表示するプログラムです。

  1. LOAD ”MEM:HISC”,FALSE
  2. HISCORE=VAL(MEM$)
  3. PRINT HISCORE

Q. プログラム内から各種データをセーブ/ロードするときの「ピーガガガー」を鳴らないようにできますか?

「ピーガガガー」は、SYSBEEP に FALSE を代入しておくと鳴らなくなります。

  1. SYSBEEP=FALSE

副作用として、キーボードの入力音なども鳴らなくなります。元に戻したい場合は、SYSBEEP に TRUE を代入します。

  1. SYSBEEP=TRUE

グラフィック

Q. 下画面のスプライトパターンって書き換えることができないの?

説明書には無理そうなことが書かれていますが、実は普通にできます。SPS0SPS1 リソースに対して LOADCHRSET を行うだけでオッケーです。

  1. LOAD ”SPS0:CHRFILE”
  2. CHRSET ”SPS0”,0,”1”*64

Q. 下画面では PRINT 命令は使えないの? どうやって文字を表示すればいいの?

下画面では使えません。文字を表示するには、かわりに PNLSTR 命令を使います。上画面のようなスクロール機能はないので注意。

  1. PNLTYPE ”OFF”
  2. PNLSTR 0,0,”シタカ゛メン”

Q. 下画面のフォントや BG のキャラパターンを書き換えるには?

BGPAGE 1 を行ってから、上画面と同じリソース名に対してパターンを書き換えればオッケーです。

  1. BGPAGE 1
  2. CHRSET ”BGF0”,32,”1”*64

サウンド

Q. BGMPLAY 命令の MML で三連符を表現することはできますか?

はい、できます。{L} コマンドなどで指定する音符の長さは 6 や 12 など、音符として存在しない半端な数値も指定できます。したがって、全部で四分音符の長さになる三連符は、四分音符を 3 で割って (○分音符は「○分の 1」の長さので、○の数字に 3 を掛けて) 十二分音符にすることで表現できます。

  1. BGMPLAY ”L8CDER L12CDER”