プチコンまとめWiki (初代/mkII)

Demand の変更点

パンくずリスト


#title(プチコンへの要望)
ここはプチコンmkII以前への要望ページです。プチコン3号への要望は、3号まとめWikiの[[プチコン3号への要望>3gou:Demand]]へお願いします。

#contents

* 要望一覧 [#gc65ba86]
プチコンでこんなこといいなできたらいいなと思うものがあったら、ここに書いてください。

DSi ウェアのバージョンアップは原則としてバグ修正のみで、機能追加は一切できない取り決めがあるらしいです。つまり、プチコンmkIISR かどうかはわかりませんが、さらなる後継に期待をかけましょう。
//http://ideapad.jp/c68a6efd/view/ 
** 編集機能 [#o13fce5d]
- アンドゥ・リドゥ機能
- DS ポケモンキーボード (Bluetooth) 対応
-- ポケモンタイピングはカートリッジに Bluetooth を積むことで対応しているので、DSi ウェアだときっと難しい。
-- 普通に無線で別売キーボードと通信出来たら嬉しい
- 複数行の削除・コピー・ペースト
-- RENUM, DELETE 命令相当の編集がしたい
-- BまたはXボタン押しながら十字ボタン上下で複数行選択
-- F1〜F5にコピー内容を割り当てたい。
- 行番号の非表示モード
- 6x8, 6x6 ドットフォントなどでの表示・編集
- 置換機能(変数名やラベル名の変更が一括でできる
- 次/前のラベルへのジャンプ機能
- プログラムファイルのプロテクト(書き込み禁止)/解除
-- 間違って&basic{SAVE};してファイルを上書き消去してしまったことが何度か…。プチコン+でSDにバックアップ保存すれば解決?
--- 名前を変えて細目に&basic{SAVE};しましょう。改造に失敗して元に戻したい時にも便利。
- 強制SAVE
-- &basic{SAVE"",FALSE};みたいな感じで確認ダイアログを出さずに&basic{SAVE};させたい。
-- →命令(機能改善)でも書きましたが、これができるとユーザーのファイルを破壊するプログラムが書けてしまうので、何かしら対策が必要です。
--- パーミッションをつけたらいいかも。
-セーブダイアログが省略できないのなら、セーブダイアログがエディットできるようにしてほしい。(セキュリティーの観点からダイアログ最上部のファイルの〜〜〜と、ファイル名の部分はデフォルトのままにし、それ以外の部分をエディットできるようにしてほしい)
- 編集画面のボタン配置の左利き対応 (十字キーと ABXY、L と R のキーアサインを入れ替えて、本体右手持ちにも対応する)
- EOF表示
-- リスト最終行で十字キー下で改行が入ってくのは要らないと思うのですが皆さんいかがでしょう
- カーソルを画面上下端まで動かさずにスクロールしたい。Lボタン+十字キーのページ移動はあるけど、1行ずつのもほしい。
- Bボタン=Backspaceキー,Yボタン=Spaceキー,Xボタン=Deleteキーというふうにしてほしい。
- 同時に2つ編集可能にする。
-- なぜなら他のプログラムからコピーするのが簡単になるから。
-- コピーしたい内容にもよるけど、よく使う物はサブルーチンにして保存しておいて使いたい時&basic{APPEND};でつなげるとか、コピーしたい行がたくさんあるならPRGごとファイルコピーしてそれを元に作って行くとかでけっこう事足りる。
-- でも片方をメインに編集しながら、もう片方はテスト用にする(片方を片方にコピーしてから内容を変更する)とか使い道はいろいろ考えられる。同時に2つのPRGを起動できなくてもいい。
-- 自作のPRGエディタ(編集画面やキーボードまで自作)を作れるようにするなら、同時に2つのPRGを読める必要がありそう。
- マクロ機能
- 自動インデント
- 特定のキーワードのカラー強調表示
- 3DS版ではスライドパッドで、リストのスクロールを高速に行えるようにする。代わりにLボタン+十字ボタンは、複数行コピー・ペースト機能にする。
- 行単位でのペーストに改善。いまは、カーソル位置に割り込ませる文字単位でのペーストになっているので、リドゥ機能がないこともあって、間違えると混乱する。
- 9999行以上書けるように。
- 実行モードから編集モードのプログラムへコードのコピーができるとよい。逆に編集モードから実行モードへのコピーも欲しい。
-- ファンクションキーだけでは利便性が低い。
- 実行モードで複数行対応。
- 実行中以外はESCキーやSELECTボタンを使用しないので、何か便利な機能を割り当てる。
- ローマ字入力
- 誤LOAD防止のためプログラムをSAVEしていないときは「編集中のプログラムが保存されてませんが読み込みますか?」とダイアログを表示する
-無理かもだけどオンラインの時に今日のニュース的なのをMEMぽいので受信できる機能がほしい。

** ファイル可搬性 [#o13fce5d]
- プログラムの行の折り返し表示 (ソースを写真で撮るとき右側にはみ出した分の処理が面倒)
-- 折り返し表示もほしいけど、画面をカメラで撮るくらいならいっそプログラムリストをスクリーンショットして画像で-保-存する機能を付けて。
--- もちろんソースをtxtファイルに出力できたほうがもっといいけど。
- プログラムリストやリソースを SD カードに保存して、PCとやり取りできる機能-- SDカードに保存した時のptcファイルは、メモ帳などテキストエディタで開くとソースがテキストで見られるかも?- プログラムリストやリソースを無線LANを通じてPCとやり取りできる機能
- ファイルをサーバーとやりとりする命令;&basic{ISENDFILE""};,;&basic{IRECVFILE""};のようなもの
- 1操作で複数のファイルを送受信。ファイル送受信プログラムを作っていても、1ファイル毎に双方のDSでタッチ操作は面倒だし間違える。
- 公式サイトで生成するQRコードの数を減らす。PTCUtilitiesでできているので、こちらでもできないか?
- ファイル保存領域をもっと増やす。公開作品が増えてきて、空き容量の確保が辛くなっている。
- QRコードの読み取り成功・失敗時に、それぞれ違う音を軽く鳴らす。現行では画面で判断するしかなく、凝視し続けなければならないので目が辛い。
- MMLで記述されているBGMリソースファイル(例えば"BGM")。PRGで&basic{LOAD};すれば&basic{BGMPLAY};で使える。
- パッチを当てる機能。古いPTCと新しいPTCを公式にアップすると、プチコンに取り込める差分情報のQRを表示。
- QR読み込み終了時に、[今すぐ実行する!]ボタンを配置
- 新しいリソース&basic{SUB};。サブルーチンを書いてセーブすれば、別のプログラムに&basic{SUB"ファイルメイ"};と書けばそのサブルーチンが実行される。
--命令文の語尾に&basic{,1};と書けば、そのサブルーチンをプログラム自体にセーブできてもいい。
--また、&basic{SUBPRINT"ファイルメイ"};と書けば、そのサブルーチンをコンソール画面に表示できてもよい。
-最初の画面のファイル削除機能について、一度に複数選べるようにしてほしい。

** 制御構文 [#g71b004f]
- &basic{IF};〜&basic{THEN};〜&basic{ELSE};〜&basic{ENDIF};
- &basic{WHILE};〜&basic{WEND};
- &basic{FOR};や&basic{WHILE};に、&basic{BREAK};と&basic{CONTINUE};
- &basic{SWITCH};〜&basic{CASE};
- &basic{ON ERROR GOTO};、&basic{ON ERROR GOSUB};
- &basic{IF};で&basic{THEN};を使わずに直接&basic{GOSUB};と書きたい。
- &basic{DO};〜&basic{UNTIL};で条件式が1の間繰り返す
- &basic{FOREACH};〜&basic{LOOP};で配列の要素数を繰り返す
-- &basic{LOOP};は、&basic{NEXT};でもいいね
- &basic{DO};~&basic{WHILE};;

** 命令 (新規) [#p17896bb]
- 特定の配列変数をクリアまたは再定義する命令 (REDIM 命令など)
- &basic{SPANIM}; に干渉できる命令 (アニメの停止、アニメ途中でのスピード変更等)
-- 好きなID順で再生できる機能もあるとよい。
- ユーザーが作った BMP, GIF などをグラフィック面・BG面に表示する命令 (アドベンチャー、オーサリングツールなどが作りやすくなる)。画像ファイルの取り込み方法が問題ですが。
-- 普通にプチコン内で画像を作るのではだめ?あるいはPCで作った画像をプチコン用リソースに変換してQRコードにできるツールとか。
-- 画像編集はPCのソフトの方がやりやすいので。BMP→PTC(GRPリソース)に変換するツールを公開している方もいらっしゃいますね。
- テキストファイルの書き込み・読み出し
-- &basic{OPEN};、&basic{PRINT#};、&basic{INPUT#};、&basic{EOF()};、&basic{CLOSE};など。&basic{MEM$};だけでは不便。"&basic{TXT:};"リソースを新設したらどうでしょう。
-- 上記のファイル可搬性(他の人とのデータのやり取り)でも使えると思う。
-- プログラムの設定保存の他、オーサリングツール・開発言語・エミュレーターなどでプログラムファイル保存・読み出しができて、可能性が大きく広がるのでぜひ。
-- QuickBASIC風に、&basic{SUB};〜&basic{ENDSUB};、&basic{FUNC};〜&basic{ENDFUNC};
-- 音センサーとして使える。
-- &basic{BEEP};と合わせて、2台のDSi間のデータ送受信(パルス信号)にも使える。
- QRコードを使う
-- プチコンmkIIでQRコードをプログラムとして読み込む機能が付きましたが、BASICプログラム内でもQRコードの文字列を読み込めるようにして欲しい。&basic{A$=QINPUT()};
-- 与えた文字列をQRコード化して画面表示する命令。&basic{QPRINT A$};
--- そのままSDカードにQRコードを保存できるとなお良し。
-- 様々な入出力手段として使えると思います。
- グラフィック・BG関連命令の追加
-- BGの拡大・縮小・回転(出来れば二軸以上)
-- ラスタースクロール・半透明処理(ハードウェアで対応していれば)
-- ポリゴン・3Dワイヤーフレーム等の描画(本体内臓のジオメトリエンジン利用)
-- 塗りつぶされた円の描画
-- 描画時の論理演算を豊富に (XOR のみ存在するので、OR,AND,シフト,インクリメントなど)
---3DBG,3Dスプライト
- リアルタイムに通信するための命令
-- 通信対戦できるゲームを作れたら色々おもしろくなりそう
- 構造体(STRUCT)
-- BASICの構文でどう実現したものやら難しいですけど…
-- もしくは、AS3のArray型のようなものがあるといいのかな。
- Fortran90風の配列演算
-- c(:,:)=a(:,:)+b(:,:)。添字三つ組なんかは不要。あとsumとmatmulとwhere
- 使用している全ての変数を表示する命令
-- サブルーチン内スコープでローカル変数使いたいです。やっぱり全部グローバルってのはキツイ。
--- それではBASICではなくなってしまいます。変数の名前の付け方に気を使って、多ければ紙やExcelに書くなどして整理して乗り切りましょう。
- その場でQRコードを読み込む命令。自動でSAVEはしない。例えば、コンソールでこの命令を実行してPRGのQRコードを読んだらすぐ&basic{RUN};できる。CHREDにCHRのQRコードを読み込む命令を付ければ、CHR素材の内容をすぐ表示・編集できる。
-画面上に表示されているものを写真としてDSiカメラ(3DSカメラ)に保存する命令。スクリーンショットを撮るときに便利。
--そもそもDS標準でスクリーンショット機能があるべきだと思うんだが。
- GRPの指定範囲を配列に流し込む命令。
-- 配列の数値でGRPの指定位置に書き込むとか。セーブデータの読み書きが高速になる。2次元配列を指定すればDATA文で定義した画像とか表示できたり面白そう。
-- 加えて、パレットやスプライトの位置情報へアクセスできれば、アニメーションも容易になります。
- &basic{LINE};文をいくつもつなげるのは面倒なので、&basic{CONNECT};文を。
- 長い文字列を扱う&basic{LONGSTR}; 長さレベル, 文字列変数 みたいな。
-- それをそのまま保存できるとセーブデータ用のリソースと言えるじゃないか。
- 指定PRGのパッケージのみ読み込む命令。
-- いまのところ、PRGを&basic{LOAD};した時しかパッケージが読み込まれないので、この命令があると便利ですね。
- スプライト、BGの補完移動を一斉にポーズ・解除できる命令。
- 命令を実行する命令&basic{CMD "PRINT"+CHR$(34)+"Hello, world!"+CHR$(34)};
-- 文字列をプログラムとして実行する命令、私も欲しかった。
- リソースファイルをコピーする命令。PRGなら&basic{LOAD};して別名&basic{SAVE};という手もあるにはあるが。
- 関数定義の&basic{DEFFN};命令。
- マイク入力を再生する命令
- DSがスリープ中でも動くように制御する命令。タイマー、アラーム系で役に立つ。
- ダイアログを表示する命令。&basic{MSGBOX "HELLO, WORLD!!","ok","TEST"};
- 変数の中の命令を実行する命令。&basic{DO}; 変数名

*** 演算子 [#bd81307d]
- <=と>=だけでなく、=<と=>もSyntax Errorにならず使用可能に。
-インクリメント&basic{++};
-デクリメント&basic{--};
-左シフト&basic{<<};
-右シフト&basic{>>};

*** システム変数 [#z461693e]
- DSの蓋の開け閉めを感知する命令またはシステム変数。
-- これがないと、タイムを競うゲームでポーズのつもりで蓋を閉めても、無情に時が過ぎていく・・・
-- タイムは&basic{MAINCNTL};を使って自前で計算すれば解決できそうです。
-- ↑のは、これです。投稿プログラム : DSの蓋を2秒閉じたら終了するプログラム http://p.tl/if5d (p.tl URL短縮サービス使用)
-- ↑のは、これです。投稿プログラム : DSの蓋を2秒閉じたら終了するプログラム http://wiki.hosiken.jp/petc/?Toukou%2FDS%A4%CE%B3%B8%A4%F22%C9%C3%CA%C4%A4%B8%A4%BF%A4%E9%BD%AA%CE%BB%A4%B9%A4%EB%A5%D7%A5%ED%A5%B0%A5%E9%A5%E0
---↑は開け閉めを感知しているわけではありません。
- 日本版、北米版などローカル情報がわかるシステム変数。&basic{VERSION};では将来的にフォローしきれないと思われる。
- &basic{DATA}; 文の読み出し先を示す読み書き可能なシステム変数。これは行番号等でなく意味不明の内部的な数値や文字列でかまいません。呼び出し先で &basic{RESTORE}; する前に呼び出し側のものを保存しておきたいので。
-プログラムの容量(バイト)を入れるシステム変数

*** 関数 [#ve857bed]
- 関数を自作可能にする。&basic{GOSUB};〜&basic{RETURN};のラベル使用が勿体無く感じるので。
-- &basic{#FUNC ---- ( A , B$ )};
- 式を評価する関数&basic{EVAL()};
- 2進数に変換する関数&basic{BIN$()};
- 電池残量を調べる関数
- 暗号化関数及び復号化関数
-- 「絶対プチコン以外で復号できない」強力さより「ネタばれ防止にハッシュ化したい」手軽さのほうがポイントじゃない?
--- プログラム全体の暗号化は無理があると思うけど変数内の文字列ならいいじゃね。
--- しかももともとプチコンに悪意のあるプログラムを自動で検出する機能があるわけでもないし、セキュリティ上今よりもまずくなる事はないような。
-- 鍵が引数になるんだろうな。
- コンソール上の文字の属性 (色) を調べる関数 CHKCOL()みたいな感じ
- マイク入力があるかどうか調べる関数 &basic{MICST()};
- 指定した名前のファイルが存在するか調べる関数。&basic{FLCK("ファイルメイ")};で存在したら1、そうでなければ0をかえす。
-- ゲームのセーブデータが存在しない時などに、&basic{LOAD"ファイルメイ",0};としてても「ファイルがありません」の画面が出てしまう。その場合空のデータもQRにして同時に配ればいいけど・・・
-- 意図的にできないようにされている気がします。詳しい理由はわかりませんが、おそらく悪意のある上書きSAVEを防止するためだと思われます。
- スプライトが活動中か調べる関数
- 検索用のウィンドウを使う文字列入力 &basic{FINPUT}; 上画面に文字を出力したくない場合や、背景があって見づらい場合があるので。
- 音量を調べる関数(&basic{DSVOL()};)
-- 音量によってBEEPの大きさを変えたりするのはユーザーによくない気がする
- ファンクションキーの中身を取得する関数(システム変数でもよい)

** 命令 (機能改善) [#x08ac1c9]
- &basic{SAVE};命令の確認ダイアログ非表示設定(&basic{LOAD};命令と同じように)
-- 下手するとユーザーのファイルを確認無しで全部破壊するプログラムが作れてしまうので、対策が必要。例えば &basic{FOR C=65 TO 90:SAVE CHR$(C):NEXT}; で、ファイル"A"〜"Z"がこのプログラムで上書きされてしまう。
-- &basic{SAVE};命令で1回「はい」を押すだけで複数のファイルを保存できればいい。
-- 「このプログラムでは、確認無し&basic{SAVE};を許可」をユーザーが決められるといいかも。「保存しますか?」の画面で「はい(このプログラムでは以降表示しない)」ボタンの追加とか。
-- 「このブログラムでは以後表示しない」はやはり危険。プチコンユーザーの中にはBASICはわからなくてもQRコードを読み取ってRUNする専門のユーザーもおり、例えば最初10回くらいは破壊活動をしないSAVEを表示して、ユーザーを安心させて、『以後確認しない』を押させた後に破壊活動を始めるプログラムを書ける。
-- 少なくとも&basic{PRG};リソース以外に限定した方が良い。(破壊活動をしたい人間にとっては、PRGファイルを破壊すれば被害者に一番ダメージを与えられて面白いから。破壊活動は完全には防げないが、かなり危険性が減る。)
--- &basic{SAVE};命令以外のファイル出力命令を新設する。例として、他の項目にもありますがファイル入出力命令(&basic{OPEN};、&basic{PRINT#};など)を新設するなどして、それらの命令は書き込みをPRG以外のリソースに限定する。
-- 現時点でも、PRGが自分自身を別名でSAVEする事で他のPRGを上書きできてしまうみたい(これはできなくてもいいような)。
-- 確認なしをPRG以外のリソースに限定したとしても、ものすごい量の無意味なGRPを保存するなどの悪意のあるプログラムは作れてしまうので、何らかの方法で抑制する必要は出てきそう。
-- 今の状態ではむしろ何をSAVEするにも確認がされるため、逆に悪意のあるプログラムを起動してしまってもつい癖で「はい」を押してしまう可能性がある(w)ので、むしろ確認はありすぎないほうがいい気すらする。
--- 現状のままでいくとしても、PRGのSAVE時や、ファイルの上書き時だけ、確認画面の背景色などを変えてそれが一目でわかるようにするなどしてほしい。
-- 確認画面のデザインをもっとシンプルでクールにして。
-- 確認画面で、ファイルの内容を上画面にプレビューできたらなお良い。現在のファイル内容と、これから保存するファイル内容(特にCHRやGRP)。
- &basic{LOCATE};、&basic{PRINT};などがパネル(下画面)でも使えるようにして欲しい
-- &basic{PNLSTR};命令がありますが、上画面と同じ命令で使える方が便利。
-- &basic{CPAGE 1}; などとコンソール画面を上下切り替えして、&basic{LOCATE};や&basic{PRINT};が使えるといい
-- &basic{PNLSTR};で数値を直に表示ができないのはどうにかならないのか。
-- &basic{PNLSTR};が&basic{PRINT};や&basic{LOCATE};と等しい機能であれば上画面で使えてもいいと思う。
- &basic{TALK};文で数字やアルファベットを読み上げ可能にしてほしい。
-- &basic{TALK};文はシャープの音声合成エンジン「スピークパル(コンパクト版)」を使用して実現しているので、これが対応してくれないと無理。
- &basic{SPANIM};で逆再生できるようにしてほしい。
- &basic{INPUT};で入力時に米印(&basic{*};)で表示する。
- コンソールで&basic{FILES "PRG"};でプログラムだけの一覧が取得できるが、&basic{FILES "PRG:A"};でAから始まるプログラムを取得できるようにする。
- &basic{ACLS};に&basic{COLINIT};相当の機能は要らない。
-- カラーだけを初期化するのは付属の&basic{CHRED};で分かるように中途半端で、さらにパッケージ機能との相性が悪い。
-- 代わりに、全キャラとカラーを初期化する命令を新設したらどうか。
-- プログラムの互換性を考えると、&basic{ACLS};に引数をつけることで、&basic{COLINIT};しないようにするのがよいか。
- グラフィック画面に文字列を描画する命令。
-- &basic{GPRINT 100,100,"HELLO, WORLD!",1}; みたいな感じ。
-- → &color(green){プログラムでできます。};ただし、専用の命令が欲しいという要望なのでこちらにあります。
--- Cは色、Sは倍率、X、Yは座標
--- &basic{FOR I=0 TO LEN(A$)-1:GPUTCHR X,Y,"BGF0",ASC(MID$(A$,I,1)),C,S:NEXT};
- &basic{VAL("-")};で0を返す仕様に戻してほしい。(現行のエラーを返す仕様では、&basic{IF};文を追加する必要に迫られるだけで何のメリットもない。)
- &basic{LIST -1};で最終行へのジャンプ。
-- システム変数にプログラム行数があるといいかも
- &basic{RND(0)};、&basic{RND(};負の数&basic{)};&basic{RANDMIZE};(乱数列を初期化)、もしくは、&basic{RND};関数にシードを与えるオプション。
-- 乱数に再現性がほしい場合、手製の擬似乱数式を用意する必要があるので。
-- &color(green){→&basic{RND(};負の数&basic{)};の代わりをプログラムで出来ます。};
- &basic{FILES};でファイル名、登録日付時間順、リソース順、などでソートして表示。
-- 昇順、降順も指定できるとなお良し。
- 保存するファイルにタグをつける機能。
-- 同じタグを付けたファイルを一斉削除、一斉送信、など出来たり&basic{FILES};でそのファイルだけ表示したり、起動時の画面でもタグで絞り込めたり。
- &basic{SPCOL};のパラメータ「グループ」の属性値だけを変更できるように。
- &basic{SPHIT};のオプションに判定終了管理番号を追加。
- &basic{APPEND};の引数に挿入位置行番号を追加。
- &basic{CLEAR};で、引数に指定した変数だけクリアしたり、その変数以外だけクリアしたりする機能。
- &basic{SPANIM};の枚数を負数指定で逆再生ができるようにしてほしい。
- &basic{POW};命令は&basic{PRINT};命令の”?”のように”^”でも代用できた方が便利。
- ラベル列挙
- &basic{FILES};命令をプログラム内で実行
- &basic{SQR};関数でb√aの結果を求められるようにする。&basic{SQR(a,b)};

** ニンテンドー 3DS [#b39a4362]
- 3DSのスライドパッドの読み取り。
-- スライドパッドの移動角度・移動量を返す関数。&basic{A=PADA() M=PADM()};
- 3DSのAR機能をプチコンで使う。
-- 画面レイヤーの最下層にカメラのライブビューを表示。(&basic{VISIBLE};の7番目のパラメータ?)
-- 目的のマーカーパターンを2次元配列変数で設定。&basic{PAT(X,Y)};、値は白=FALSE/黒=TRUEなど。
-- マーカーが画面内にあるかどうか調べる関数。&basic{A=ARST(PAT())};
-- マーカーが画面内にあったら、指定した番号のスプライトを並行に重ね表示する命令。&br; &basic{ARSPP PAT(),SPNUMBER,SPSCALE,SPOFFSET};
-- マーカーが画面内にあったら、指定した番号のスプライトを垂直に立てて表示する命令。&br; &basic{ARSPV PAT(),SPNUMBER,SPSCALE,SPOFFSET};
-- 3DCGを表示するのは大変なので、2DCGをマーカーにかぶせたり、屏風のように立てる方式でいいと思います。高級な命令が難しければ、画面内のマーカーのグラフィック座標や向いている角度を返す関数だけでも…。ARを使える簡単な開発環境がなかなか無いので、プチコンでぜひ。
-- BGやグラフィックをマーカーの上にカーペットみたいにしいて、その上で屏風SPを動かして遊ぶゲームとか作れるイメージ。
-- というか、それには空間にCHRを配置して疑似3Dする機能が必要なので、もし実装するならAR使用時じゃなくてもその機能を自由に使えるようにしてほしい。
- 3DSのジャイロセンサーとモーションセンサーをプチコンで使う。
-- ジャイロセンサーで本体の傾きを検出。&basic{G=GYRO()}; &br; 現状の&basic{BUTTON()};の十字キー検出と同様に、上下左右の傾きをビットのON/OFFで検知。
--- それだと本当に十字キーと変わらないので、上に書いてあるスライドパッドと同様に&basic{A=GYROA() M=GYROM()};
-- モーションセンサーで本体の加速度を検出。&basic{M=MOTION()};
--- こっちは&basic{X=MOTIONX() Y=MOTIONY() Z=MOTIONZ()};で横と縦と前後を-255から255などでとれるようにできないかな。
-- 様々なソフトの操作・入力方法として使えると思います。
- 3DSではスタートボタンとセレクトボタンの区別が無いという事です。でも起動・終了以外にスクリーンショット機能とかもほしいので、スタートボタンを押すとメニューが開いてその中から何をするか選ぶ形式がいい。
-- 起動・再起動、終了、SS、確認無しSAVEの可不可などの設定
-- SSはプログラム実行中の画面が欲しいのだから、実行モード(NEWなどの命令が打てる状態)では意味がないですね。
-- プログラム実行中にスタートボタンを押されたときの機能を自由にプログラミングできないのも辛い。STARTは今まで通り、強制終了をSELECT以外のなにか特別なキー操作で実現させるほうがよい。
-- 確認なしSAVEはセキュリティ的にまずいのでありえません。
- VCのように、まるごと保存機能・・・さすがに無理あるか
- DSiではスプライトやBGといった機能がハードウェアで高速化されているらしく、3DS専用ソフトではそれが使えない可能性があるらしい。なのでもしかしたらDSi版のmkIIと互換性が無い3DS版になるかもしれない。でもその分新しい機能に期待できるかもしれない(色は今のようなインデックスじゃなくフルカラーになるとか、半透明描画とか、自由な変形とか)。
- これはできない可能性が高いが、3DSのホーム画面にプチコンで作ったソフトのショートカットを作る機能。アイコンも自分で作れたらいい。
-- プチコンmkIIのホームメニューになら実現できそう。

** その他 [#y3508a69]
- &basic{MEM$}; の制限である 256 バイト以上のデータもファイル読み書きしたい
-- 例えば &basic{MEM$}; を配列化して &basic{SAVE "MEM3:TEST"}; で0〜3までの 1024 バイトを保存できるとか。
- 長い文字列を扱いたい(65536文字くらい)たとえば&basic{LONGSTRING A$};的な感じで宣言して使えるとか。配列だと挿入、バックスペースみたいな処理が簡潔に書きづらい。あと↑にも書いてあるけどMEM$の長い版も作って欲しい。そうすればそのまま保存できる。
- 漢字・ひらがなの対応
-- ひらがなは実現できそうだが、漢字はやったとしてもDS内蔵のフォントを文字コード指定で1文字ずつ描画とかが精一杯かと。自由にキーボードで入力したいというなら無理がありそう。
-- BGFにも4バンクくらい用意して、カタカナ、ひらがな等のフォントを同時に表示できるようにする。
--- 美咲フォントを使って、漢字、ひらがな、カタカナを同時表示するプログラムが公開されています。
--LCフォントを使えれば一番良いんだけどなぁ…。
- ホーム画面を自作可能にしてほしい。
-- ホーム画面を作るのに必要な命令(ファイル一覧の取得やQRコードの読みとりなど)を用意して、プチコン起動時にプログラムを自動で起動できるようにする。
-- 元のホーム画面は起動時に特定のボタンを押せば出せる感じにする。
- 画面をスクリーンショットして画像をSDカードに保存する機能。
- 効果音を自作できるようにしてほしい。
-- BGMとして作る事はできます(効果音用のチャンネルを独立するなどすればBGMと同時再生できるはずなのでそんなに困らないと思う)。BEEPを自由に作りたいというのであれば無理。次回作はDSのマイクで録音できるようにするとか(ただし容量の問題とかもあると思う)
---MIDIをMMLに変換なら実現できるかも。でもその前に容量UPだ!8メガぐらい!ドーンとな!
- やっぱりフォルダがほしい。1階層だけでもいいので。
-- 1個のフォルダをまるごとQRコード化できたらとてもうれしい
- これは要望というかやらないでほしい事ですが、他のPRGの中にあるサブルーチンに行って戻るなどのライブラリ的な機能は、「このプログラムを起動するにはまずあのプログラムを落としてきてください。既に入っている場合はいいです。」という作者の注意書きや、ライブラリPRGのバージョン違いなどで「入れてるはずなのになぜか動かないんですが・・・」というユーザーからの質問殺到で混乱する事が予想できるので無くていいです。
-- 「やらないでほしい事」を考えるってのも確かに大事ですなあ…
-「ファイルの管理」から編集もできるようにする
-- ホーム画面自作の所にも書きましたが、ファイル名一覧を取得する命令があれば、「ファイルの管理」画面のような一覧表示がプログラムでできます。
- ファイル検索機能
- エラーが発生したときにすぐにプログラムを強制終了するのではなく、ボタンの入力待ちを挟んで欲しい。
-- データを配布した後にバグが見つかっても一瞬しかエラーメッセージが表示されないとどんなバグが発生したのかわかりずらいので。
-- 「プログラムを作る」の中なら、エラーメッセージは表示されたままだと思います。
- jpegやaacなどのファイルをsdカードから読み込んで表示したり再生できるようにする機能
- インタプリタで実行しやすい形にコンパイルして実行する
- 2面だけでもよいので、GRP面の重ね合わせ表示。
- 小さいサイズのGRPの保存。サイズがいつも256x192だと保存領域的にもつらい。タイトルロゴだけの保存などに便利。
- 単純なリテラル文字列の検索機能。
-- ファイル名だけなら自分でExcelで管理してますが、ある文字列はどのPRGで使っているか? は管理できない。命令の使い方のサンプルを探すのにも便利。
- 容量をダウンロード版よりも確保できる場合は、ダウンロード版以外にもパッケージ版も容量増加版として発売してほしい。
- 初代DSやDS Liteで使えるmkIIのカードROM版(パッケージ版)の発売。外部ファイルの持ち込みは、カードROMにMicroSDカードを差し込む方式で。
-- プチコン3号はかなり文法が複雑になるようす。でも、この時代にいろんなことができないシンプルなBASICにしていたのにも理由があるはず。京都の中学校に学習用に導入されたニンテンドーDSが眠っているというニュースもありました。教えるのがプログラムであっても教育用には正規の商品の存在がぜひ必要です。3号発売のかたわら、眠っているものの有効活用で厚みを増すのをあえて狙ってみては?
- BGM増量。
- 「作品を見る」でプログラムを起動した場合にSELECTキーで終了確認するなど1クッションおいてほしい。
-- 実はCHREDとかの編集データが消えてしまった事が何度か・・・
-- オプションで切り替えられるように。
- 小学一年生でもプログラムできるにほんごベーシックモード。
-- さすがに昔のぴゅう太式の「モシ A=1 ナラバ 100 ヘイケ」じゃつらい。「このとき こたえ==1 だったら ◎ラベル へジャンプ」とか。
--  LOGOでやってみてね。ていうかプログラム言語の中でもBASICが一番簡単なんだが。
- 実行モードでSDメモリーカード書き込みする命令&basic{SDSAVE”PRG:SAMPLE01”};のような命令
-- SDカードが入っていない時や書き込み禁止スイッチがオンになってる時などは&basic{Sd card error};を表示する
- 3次元配列。
- MMLにフェードアウトはあるので(&basic{BGMSTOP};)、フェードインも。
- カメラ画像をスプライトにできるツール。
-- 257色以上から16色への減色は難しいかと。かといってスプライトを256色にすると不便ですし。
- 長音記号をハイフンと区別が付くフォントにしてキーボードで入力できるようにして欲しい。
-- それと、TALK文でも両方使えるようにして欲しい。
- ICONPAGEがループしない仕様なのは不便。ループしないなら、ページ切り替えアイコンは切り替え不能なほう(上下のどちらか)を無効状態のアイコンにする機能が欲しい。
-- そうしないと、切り替え処理を描き忘れたのか正常なのかわからない。
- 仮想キーボードのSHIFTなどのトグル動作があるものは、状態を取得する変数か関数が欲しい。
-- 独立して知りたい場合は表示目的か、独自のSHIFT同時押し動作をしたい場合だが、今はキーマトリクス相当の機能が無いので異様に難しい。
- 現在表示しているパネルの種類を知りたい。
- マニュアルの文字コード表は、旧プチコンのほうがわかりやすかったので戻して欲しい。
- CやVBのように行末に&basic{¥};を配置すれば次の行も同一行と認識するようにして欲しい。(長いIF文も書けるようになる)
-DSからネットへつないでプログラムを直接投稿出来る様にして欲しい。レーディング審査が大変そうだが。
-どうせなら&basic{SAVE};やプチコン終了とかにある確認画面をボタンで対応させて欲しい。

* 旧プチコンで実現可能な要望 [#rdde124d]
- グリーンモニタ気分を味わいたいので編集で色変更したい → [[BG カラーパレットを書き換えることで変更可>Tips#lc96e377]]
- スクロール させずに上画面の右下に文字を &basic{PRINT}; する手段 (スクロール禁止モードか、&basic{PNLSTR}; の上画面版か) &color(green){→ V1.2 で対応};
- システム変数に曜日を追加(日→0、月→1・・・土→6)
-- &color(green){→曜日はツェラーの公式で求められます。};公式プログラムリスト集の「[[きむきむ暦>http://smileboom.com/special/petitcom/pochette-kimukimukoyomi.html]]」を参照。
-- 上記きむきむ暦では、1月、2月の場合に前年の13月、14月としておく事前処理(例えば、2007年1月1日なら2006年13月1日とする)が抜けているので注意。
-- また、ツェラーの公式では、(土→0、日→1・・・金→6)になる。
- 行番号を入力してその行に飛ぶ機能 → &basic{LIST}; 行番号 &color(green){ →現在のプチコンでも可能};

* プチコンmkII で実現した要望 [#m81f3e6b]
** 編集機能 [#yc108767]
- 2つのソースコードをマージする機能 (MERGE 命令とか) &color(green){→ APPEND 命令};
- 文字列の検索機能
- プログラムファイルのフォルダ分け、コピー/移動/削除などのファイル操作 &color(green){→ ファイル操作もできるホーム画面が追加。フォルダ分けはないが、パッケージ機能が追加};
-- ファイルが増えてくると、管理が大変
-- パッケージ機能は、プログラムと一緒に今読み込まれているリソースをSAVE・LOADするというもので、保存の仕方をうっかり間違えると消えてしまう、見た目がただの「PRG」なので中に何のファイルが入っているかわからないなど、フォルダのように複数のファイルをまとめて見やすくする目的には使いづらい。

** ファイル可搬性 [#lf6a7c8a]
- [[バンガイオー:http://www.esp-web.co.jp/products/bangai-o/]]のエディット機能のような、ピーガー音でのセーブ・ロード &color(green){→ QR コードでのやり取りにより目的を達成できる};
- プログラムリストやリソースを QR コード化する機能

** 制御構文 [#a2884294]
- &basic{IF};〜&basic{THEN};〜&basic{ELSE};

** 命令 (新規) [#lea29eeb]
- &basic{ON};〜&basic{RESTORE};みたいなことがしたい &color(green){→ &basic{A$="@STAGE"+STR$(STAGE+1):RESTORE A$}; で可能};
-- &basic{ON STAGE RESTORE @STAGE1,@STAGE2,@STAGE3,・・・};
- &basic{LEFT$};,&basic{RIGHT$};
-- &basic{RIGHT$("    "+STR$(SCORE),5)}; みたいなことがしたい
--- 現状では &basic{MID$("    "+STR$(SCORE),LEN(STR$(SCORE))-1,5)}; で代用できるが、面倒くさい。
--- &basic{LEFT$(X$,N)}; → &basic{MID$(X$,0,N)};
--- &basic{RIGHT$(X$,N)}; → &basic{MID$(X$,LEN(X$)-N,N)};
--- &basic{MID$(X$,I,N)}; → &basic{MID$(X$,I-1,N)};
- 現状の社長が BASIC で組んで出来ているような範囲でいいので、PLAY 命令 (MML) への対応 &color(green){→ &basic{BGMPLAY "CDEFG"};};
- 1 命令で BG に複数のパーツを置いたり、指定範囲を塗りつぶしたりする手段。 &color(green){→ &basic{BGFILL}; 命令};
- &basic{SPANIM}; の現在のキャラ番号の取得 &color(green){→ &basic{SPREAD}; 関数};
- &basic{MID$}; の代入 &color(green){→ &basic{SUBST$}; 関数};
-- &basic{MID$(A$,2)="ABC"};
--- &basic{MID$(A$,I)=R$}; → &basic{A$=MID$(A$,0,I-1)+R$+MID$(A$,LEN(R$)+I,LEN(A$)-LEN(R$)-I),}; でできるが、面倒くさい。
- 文字を指定数並べた文字列作成 &color(green){→ &basic{A$="A"*10};};
-- &basic{A$=STRING$(10,"A") 'AAAAAAAAAA ができる};
- 変数の値交換 &color(green){→ &basic{SWAP A,B};};
- &basic{SPOFS}; で自動移動中のスプライトの座標を求める関数 &color(green){→ &basic{SPREAD}; 関数};
- スプライトの衝突判定 (M5 の COINC、ファミリーベーシックの CRASH) &color(green){→ &basic{SPHIT}; 関数など};
- グラフィック画面のページ切り替え &color(green){→ &basic{GPAGE 0,1};};
-- &basic{SETGPAGE 0,1}; で上画面にページ 1 を表示、みたいな

** 命令 (機能改善) [#o86223fb]
- &basic{SPANGLE}; 命令でのスプライトの回転軸は左上だが、中心軸での回転もできるように &color(green){→ &basic{SPHOME}; 命令};
- BG 面の指定範囲 (X1,Y1)-(X2,Y2) を特定チップで塗りつぶせるように &color(green){→ &basic{BGFILL}; 命令};
- コンソール文字背景色の指定
-- &basic{COLOR 13,11}; 青地に赤色の文字
- &basic{BEEP}; で鳴らせる音階を、せめてもう1オクターブ広げて欲しい &color(green){→ MML ではオクターブが広い};
- 幻の演算子 &basic{^}; (累乗計算) の実装 &color(green){→ &basic{POW}; 関数};
- 計算記号で√が欲しい &color(green){→ &basic{SQR}; 関数};
- &basic{BEEP ON}; と &basic{BEEP OFF}; に該当するもの
-- 鳴りっぱなしになる正弦波(とか、ノコギリ波、ノイズ、etc.)があれば、音楽に関しての不満はなんとかなる。&color(green){→ mkII では MML とユーザー波形があるので、そこは自由が効く。};

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.007 秒 | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30