ドルアーガの塔 アドベンチャーシート for プチコン3号 (β版)
ドルアーガの塔 アドベンチャーシート for プチコン3号 (β版)
β(ベータ)版ですが、よければどうぞ。
マッピングはそのうち入れたいです。
プロジェクト名: EDDRU
公開キー: 5323VXKY → 最新版はhttp://d.hatena.ne.jp/eidaht/20201231/1338118772からどうぞ
公開日: 2016/03/12
バージョン: 0.05
EDKANJIPNLを取り込んで、入力フォームで日本語入力できるようにしました。
辞書にゲームブック版ドルアーガの塔で使いそうな単語を登録しておきました(何が入っているかは秘密)。
ダイスロールを付けました。
<今後の予定>
・アイコンのグラフィック
・(はるか未来) マッピング
★重要:スロット3へのオートセーブ
間違えて終了してプログラムの変数が消えてしまうと悲しいので、項目をどこか更新すると、数秒後にスロット3にオートセーブします。
EDDRUを起動時にスロット3にセーブデータがあればそれを読み込みます。したがって、プログラムを中断しても、再度STARTすると中断前の状態からはじまります。
起動時にスロット3にセーブデータがなければLOAD画面に移りファイルを指定します。キャンセルすると1巻の初期値が表示されます。
手動でファイルにセーブしたい時は、画面左下のファイルアイコンをタップしてセーブしてください。
★セーブ形式
テキストファイル(JSON形式)になっていますので、プログラム本体が
ドルアーガの塔 アドベンチャーシート for プチコン3号 (続続α版)
ドルアーガの塔 アドベンチャーシート for プチコン3号 (続続α版)
ほとんどが工事中のα(アルファ)版ですが、よければどうぞ。
ある程度のところまでは速攻でアップする予定です。
プロジェクト名: EDDRU
公開キー: C3ENQXDF → 最新版はhttp://d.hatena.ne.jp/eidaht/20201231/1338118772からどうぞ
公開日: 2016/03/11
バージョン: 0.04
EDKANJIPNLを取り込んで、入力フォームで日本語入力できるようにしました。
辞書にゲームブック版ドルアーガの塔で使いそうな単語を登録しておきました(何が入っているかは秘密)。
<今後の予定>
・サイコロ 1個または2個のサイコロ振り 履歴が残る
・アイコンのグラフィック
・(はるか未来) マッピング
★重要:スロット3へのオートセーブ
間違えて終了してプログラムの変数が消えてしまうと悲しいので、項目をどこか更新すると、数秒後にスロット3にオートセーブします。
EDDRUを起動時にスロット3にセーブデータがあればそれを読み込みます。したがって、プログラムを中断しても、再度STARTすると中断前の状態からはじまります。
起動時にスロット3にセーブデータがなければLOAD画面に移りファイルを指定します。キャンセルすると1巻の初期値が表示されます。
手動でファイルにセーブしたい時は、画面左下のファイルアイコンをタップしてセーブしてください。
★セーブ形式
テキストファイル(JSON形式)になっていますので、プログラム本体が
ドルアーガの塔 アドベンチャーシート for プチコン3号 (続α版)
ドルアーガの塔 アドベンチャーシート for プチコン3号 (α版)
ほとんどが工事中のα(アルファ)版ですが、よければどうぞ。
ある程度のところまでは速攻でアップする予定です。
プロジェクト名: EDDRU
公開キー: 233XD3QE → 最新版はhttp://d.hatena.ne.jp/eidaht/20201231/1338118772からどうぞ
公開日: 2016/03/10
バージョン: 0.03
入力フォームはできました。でもまだ日本語入力できないです。
<今後の予定>
・EDKANJIPNLで漢字入力できるようにする 辞書もカスタマイズ
・サイコロ 1個または2個のサイコロ振り 履歴が残る
・アイコンのグラフィック
・(はるか未来) マッピング
★重要:スロット3へのオートセーブ
間違えて終了してプログラムの変数が消えてしまうと悲しいので、項目をどこか更新すると、数秒後にスロット3にオートセーブします。
EDDRUを起動時にスロット3にセーブデータがあればそれを読み込みます。したがって、プログラムを中断しても、再度STARTすると中断前の状態からはじまります。
起動時にスロット3にセーブデータがなければLOAD画面に移りファイルを指定します。キャンセルすると1巻の初期値が表示されます。
手動でファイルにセーブしたい時は、画面左下のファイルアイコンをタップしてセーブしてください。
★セーブ形式
テキストファイル(JSON形式)になっていますので、プログラム本体が
SMILE BASIC 小技(4)
1フレーム単位で動くプログラムを作っているとほぼ縁がないが、キー入力が必要なプログラムでは、キーボードバッファを空にさせたい場合がある。
この時は次のようにする。
WHILE INKEY$()!="":WEND 'キーバッファを空にする
少しだけ応用して、キーボードバッファに入っている内容のうち、最後に押されたキーを調べる例:
?"キー入力待ち..." WAIT 200 VAR K0$,K$ REPEAT K0$=K$ K$=INKEY$() UNTIL K$=="" ?K0$
K0$には直前のK$の値が入っているので、K$が""になった時、最後にK0$に入っていたのが最後に押されたキーとなる。
SMILE BASIC 小技(3)
今回は、小技というよりも、よく使うコード。
様々な場面でボタンが押されるまで処理を止める、ということがある。
その時に使うのが次のコード。
'何かの処理... BWAIT 'ボタンが押されるまで待つ '次の処理 END DEF BWAIT 'ボタンが押されていない→押される→離される、まで待つ WHILE BUTTON(0)!=0:WEND WHILE BUTTON(1)==0:VSYNC 1:WEND WHILE BUTTON(0)!=0:WEND END
「何かの処理」の中でボタンを押している時に、そのままボタン押し待ちの処理に入ると、なぜかいきなり押されたことになることがある。
それを防ぐために、ボタンが押されていない→押される→離される、まで待つという処理をよく使う。
このBWAITの箇所は多くのプログラムで使うことになる。
サンプルプログラムでもMID$関数の代わりにA$[n]を使う記法は使われている
3号プログラミング覚え書き(3) 文字列編(http://d.hatena.ne.jp/eidaht/20150822/1440208747)で書いた、
「・特定の文字を取りたい時は、MID$だけでなく、A$[0]のような記法でも使える」
については、
「仕様上規定されていないので非推奨」と書いたけど、
サンプルプログラムでも使われているので大丈夫そう。
(例えば、SYS/STAFFROLLの中で使われいる。)
ドルアーガの塔 アドベンチャーシート for プチコン3号 (α版)
ドルアーガの塔 アドベンチャーシート for プチコン3号 (α版)
ほとんどが工事中のα(アルファ)版ですが、よければどうぞ。
ある程度のところまでは速攻でアップする予定です。
プロジェクト名: EDDRU
公開キー: 4D3J43K3 → 最新版はhttp://d.hatena.ne.jp/eidaht/20201231/1338118772からどうぞ
公開日: 2016/03/07
バージョン: 0.01
入力フォームができてないのでLINPUT文で代用してるので、文字入力はとっても使いづらい状態。とりあえず2,3日以内には入力フォームは作ります。
その後は、EDKANJIPNLを取り込んで漢字入力ができるようにしたいと思います。
★重要:スロット3へのオートセーブ
間違えて終了してプログラムの変数が消えてしまうと悲しいので、項目をどこか更新すると、数秒後にスロット3にオートセーブします。
EDDRUを起動時にスロット3にセーブデータがあればそれを読み込みます。したがって、プログラムを中断しても、再度STARTすると中断前の状態からはじまります。
起動時にスロット3にセーブデータがなければLOAD画面に移りファイルを指定します。キャンセルすると1巻の初期値が表示されます。
手動でファイルにセーブしたい時は、画面左下のファイルアイコンをタップしてセーブしてください。
★セーブ形式
テキストファイル(JSON形式)になっていますので、プログラム本体がバージョンアップしてもセーブ形式に互換性がなくなることはないようにしています。
SMILE BASIC 小技(2)
今回は結構実用的な技。
文字列を置き換えるSUBST$は、
SUBST$("文字列",開始位置,[文字数],"置換文字列")
として使う。
この時、置換文字列の長さ < 文字数 でも構わない。
これを使うと簡単に文字列の一部を削除できる。
具体的には、
SUBST$("文字列",削除開始位置,削除文字数,"")
とする。
例:
A$="ABCDEFG" PRINT A$ 'ABCDEFGと表示される A$=SUBST$(A$,4,2,"") '4の位置から2文字分を""で置き換える⇒削除 PRINT A$ 'ABCDGと表示される
(追記)
OBONOさんのコメントを受けて試したところ、以下のようにもできることがわかりました。
A$="ABCDEFG" PRINT A$ 'ABCDEFGと表示される A$=SUBST$(A$,4,0,"XYZ") '4の位置から0文字分を"XYZ"で置き換える⇒挿入 PRINT A$ 'ABCDXYZEFGと表示される
SMILE BASIC 小技(1)
覚え書きの文字列編でも書いた、文字変数に[]でアクセスすると任意の一文字を取り出せる技は、"でくくった文字列でも使える。
"文字列"[数字]
みたいに。
これを応用して、
"AB"[論理式]
のように書くと、
論理式が成立する時はBが、成立しない時はA
を取り出せる。
これを使ったカーソルの点滅の例:
VAR BLINK=0 WHILE 1 LOCATE 0,CSRY PRINT "■_"[BLINK<30] 'BLINKが30未満の時は_を、30以上の時は■を表示 BLINK=(BLINK+1) MOD 60 VSYNC 1 WEND
EDKANJIPNL Ver0.06
EDKANJIPNLをVer0.06にバージョンアップ。
公開キー: 73E3ED3Y