プレイ日記
おちゃめ ochame_nako
以前公開した「簡易関数電卓QSP」はQSPで作られた関数電卓ですが、QSPながらコンソールベースのOSもどきとしても使用できます。というわけで、そのアプリ作成方法について簡単に説明します。この簡易関数電卓QSPの公開キーは【 E3SXDD 】です。
12そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
アプリ作成説明前に普通に関数電卓として使用する方法を書いておきます。この関数電卓は入力した式をそのまま計算できます。 2+3*4と入力すれば2+3*4=14と表示します。加減乗除以外にもプチコン3号で使える関数や演算子はすべて使えます。 入力した式はF1に入るため再計算も容易です。 計算結果はF2に入ります。(Bボタンを押しながら計算するとF3に入るため計算結果を複数保持したい場合に便利) また2+3*4のような式を入力してXボタンを押しながら計算すると変数Xに結果が入ります。 これによってX*X*PI()のようなXを使った計算も可能です。(同じ数式を値を変えて何度も計算可能になる)
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
アプリ作成はプチコン3号の自作関数を使用します。 DEFは「COMMON DEF」を使って下さい。 例えば連打ゲームは下記のような感じで作れます。(簡易関数電卓の後の行に記述) 連打ゲーム自体が1つの関数になっていますが、このゲームのように戻り値がスコアになる場合はRETURNの後にスコアの変数を記述しすると楽です。 実行は電卓の入力画面でRENDA()と入力するだけです。10秒間ひたすらAボタンを連打してください。 RENDA()+RENDA()+RENDA()と入力すれば10秒3セットの合計スコアを表示します。MAX(RENDA(),RENDA(),RENDA())ならば3セットのうちの最高スコアを表示します。 アプリであり関数であるためこのように自由自在に活用できます。
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
スコアのような数値が関数の戻り値になる場合ではなく文字列が戻り値になる場合にも対応ができます。 例えばランダムに「大吉」とか「凶」とか表示する占いゲームは下記のような感じで作れます。 URANAI()で実行できます。 文字列を戻り値にしたい場合にはR$に戻り値となる文字列を入れてください。 RETURNの後には任意の数を付けて問題はないです。 特に意図が無ければRETURN 0としておいても構いません。 ちなみに戻り値が文字列の場合はURANAI()+URANAI()で2回連続行うということはできず、最初の1回目のみが有効となります。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
ゲーム等を作っていて結果の「=数値」とか「=文字列」が邪魔という人はL=0を付ければ結果をスルーして自由なアプリが作れます。 例として簡易お絵かきソフトを作ってみました。 OEKAKI()で実行できます。 アプリ終了ボタンの設定(このアプリだとYボタン)をしておくとそのボタンで入力画面に戻ることができます。 ちなみに描画色は変数Xの値で変わります。 これはプログラムを書き換えなくてもメインの入力画面で#REDの値を変数Xに入れておくだけで線の色を赤色に変更が可能です。
0そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
この簡易関数電卓QSP上で動くアプリ作成時に覚えておく必要がある3パターンについて書いておきましたが、基本システムがQSPというのがこのプログラムの一番のウリです。 ぜひ、皆さんもアプリをどんどん作ってください。 ちなみにこのシステムにアプリ作成に便利なAPI、分数計算等の便利な関数、ゲームやツール等を多数収録(すべてQSP)した「簡易関数電卓QSP フルバージョン」も近日公開予定です。 専用に用意したAPIを使えばXSCREEN 2:DISPLAY 1と記述しなくてもGMODE 1で済むようになるなどQSPで作るのが非常に楽になります。 もちろん、すでに便利な自作関数をたくさん所持している人はそれを使っても何ら問題はありません。
0そうだね
プレイ済み
返信[6]
親投稿
単体でも動く簡易関数電卓QSP対応のQSPを作りました。 公開キー【TRCY23N4】
0そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
こういちさんへ 簡易関数電卓QSP上でも単体でも動くというコンセプトはいいですね。 簡易関数電卓上だとMIN(FALL(),FALL(),FALL())で3回プレイの最小スコアの高さで競うというのも面白いかもしれません。(MISSのときもスコアが記録されているので正しい動作はできませんが)
0そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
あと書き忘れましたが、システム部分(簡易関数電卓QSP本体のプログラム)に記述されている変数はすべてグローバル変数でありそれを有効活用することがアプリ作成時には重要になってきます。 すでに書いているR$やLの活用がそれに相当しますが、それ以外にも変数PがXボタンを押しながら入力したかのフラグになっているし、変数Kの値が3もしくは5ならばBボタンを押しながら入力したかどうかが分かります。(K=3のときはBボタン単独、K=5のときはBボタン+Xボタン) システム部分でボタン判定ができているるのでアプリ側で起動時のボタン判定を行う必要はないのです。
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
さらにいえばLの値は画面表示のX座標設定となります。 システムに戻ったときの画面表示のX座標をこれで変えられるため覚えておくと便利です。 L=0のときは画面左端に表示ではなくシステムでの画面表示機能を利用しないというだけのことです。 これらは「(超簡易的な)システムコール機能」と思えばOSもどきっぽさがアップすると思います。 ただのランチャーとOSもどきを差別化するとしたらこの部分かもしれません。
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
簡易関数電卓QSPにこのトピックス内のサンプルプログラム+αとOSもどきとして使うための説明を含んだマニュアルを強化したバージョンを用意しました。 ◎簡易関数電卓QSP ver.2.0のマニュアル大幅追加版【 2DC4VNNE 】 簡易関数電卓QSPのシステム部分は何ら変更はありませんが、(リスト末尾に記述の)マニュアル部分が大幅に強化されているためファイルサイズは10KBオーバーとなっています。 プログラム本体の30倍以上の超大作マニュアル(?)です。 分数計算関数などもサンプルプログラムとして追加しているためFRAC(1/2+1/3)で5/6という分数計算も可能です。あとフルバージョンに搭載のOSもどきとして使うための自作命令もいくつか掲載しています。 ちなみにフルバージョンのver.2.0はもう少し先になりそうです。
0そうだね
プレイ済み