投稿
nobu divine-creator
この時季に合った新作ソフト「適した花を選んで贈りたい」と「BMI&標準体重計子さん」を追加し、プチコン本体のアップデートに伴うTALKの不具合を修正し、使いたいソフトの選び方の説明(READ_ME)を添付した最新版ソフト集を公開いたします♪ 以前のバージョンをダウンロード済みの方は、一度NOBU_S_SOFTをフォルダごと全て消去してから、ダウンロードするようにしてください! 最新版の公開キーは、【43XE5X3D】です♪ これより前に書かれた公開キーは、全て無効になっておりますので、ご注意ください! なお、今回の公開キーも次回の更新までの期間限定で有効となります♪
3そうだね
プレイ済み
返信[1]
親投稿
Godot orz_127
先日質問された件。 これにあてはめると画像の様な使い方となります。 ご参考まで。
1そうだね
プレイ済み
返信[2]
親投稿
nobu divine-creator
その質問をした時の目的は、「花を選ぶソフト」で、カーソルによる選択をできるようにしたかったためでしたが、こちらの選択にも応用できるようにしていただけて、ありがとうございます♪ 今後のソフトでの選択にも、活かしたいと思います!
0そうだね
プレイ済み
返信[3]
親投稿
Godot orz_127
適当に改造してご使用下さい。 プログラムでちょっと気になったので…。 1つのファイル内で「PRINT」と「?」が要り混じっている気がします。 同じファイル内ではどちらかに統一した方が良いかなと。 あと前のコマンドの引数が数値で終わっている場合、「:」を省略して次のコマンドが書けてしまいますが、ちゃんと「:」で区切った方が良いかと。 もひとつ 全体的な流れですが それぞそれプログラムに進んだ後 そのまま終了ではなく、 EXECで一旦NOBU_S_SOFTに戻して 終了はNOBU_S_SOFTからの方がきれいかなと。 ご参考まで。
1そうだね
プレイ済み
返信[4]
親投稿
nobu divine-creator
最初のうちは、?だと分かりにくいと思ってPRINTにしていたのを、後から文字数(容量)を減らすため、?に変えるようになりました。その結果、変え忘れたものが残っていたからだと思われます…。次回の更新までには、?で統一したいと思います! :の省略も同じ理由(容量削減)でしたが、きちんと正したいと思います! ランチャーを使用し始めた時に、そのように戻るようにしたほうが良いと言われたことがありましたが、方法がよく分からなかったことと、複数のソフトを連続で使用したいと思う人がいるのかどうか不明なため、後回しにしていました…。 需要が在る無しに係わらず、戻るようにしておいたほうが、やはり良いでしょうか?
0そうだね
プレイ済み
返信[5]
親投稿
Godot orz_127
「PRINT→?」は「?」単にコマンドの別名なので良いと思いますが「:」の省略は、プログラムを読み難くする原因となるのでやめた方が良いかと。 バグった時何処かいけないかが明確になるようにコマンドの区切りはちゃんとしておくべきかなと。 1行を50文字に絶対収めたいとか、1画面とか、短かさを競うとかで制限がある場合だけにした方が良いかと。 実は自分も最近そういう動きをするやつを見つけましたw EXECで呼び出したら元のプログラムに戻れない仕様な筈なのにどうなっているんだ?と見てみたら…。 単純でした単に元のプログラムをEXECで呼んでいるだけでしたw 全体をひとつのまとまったプログラムとし、それぞれのプログラムをその中のひとつの機能と捉えるならば最初のメニュー迄戻って別なプログラムも実行できた方が良いかと。 途中で抜けたいなら多分勝手にSTARTボタンでBREAKするだろうし。
1そうだね
プレイ済み
返信[6]
親投稿
nobu divine-creator
ランチャーをOSのように考えるということですね♪ 現在のような「1つのフォルダに全てのソフトを入れて公開する」という形にしたのは、公開できる数に限りがあるためでして、細かいソフトを複数作るとすぐに10個以上になってしまうため、まとめるようにしました! もう少しソフトが増えたら、ナビキャラ毎にフォルダを分けたほうが良いのかと考えておりましたが、今のうちから複数のフォルダに分割して、整理し直したほうが良いのかもしれません…。(後から大幅な変更をすると、余計な手間が掛かって大変そうなので…。)
0そうだね
プレイ済み
返信[7]
親投稿
Godot orz_127
ここで言うOSという意味ではOSかな? ここでは単なる統合型ランチャーソフトをOSと呼んでいるようなので^^; プチコン3ではサブフォルダは作れないし、別のフォルダのファイルのアクセスも出来なそうな気が…。 プログラムをたくさん公開したいなら今の様にひとつのフォルダにまとめるしか無さそうです^^;
1そうだね
プレイ済み
返信[8]
親投稿
nobu divine-creator
私の理解不足かもしれませんけど、一番最初のコメント画像のプログラムを入力してみたのですが、何故だか旨く動きませんでした…orz。 基本的に画像のままの状態になるようにしたのですが、何処かにおかしな点はございませんか?(何かが抜けているとか?微妙に違っているとか?) 自力で解決を試みましたが不可能だったので、元の状態に戻すことになってしまいました…(>_<)。
0そうだね
プレイ済み
返信[9]
親投稿
Godot orz_127
入力した画面の画像を見ないと何処が悪いかわかりません。 せめてなんと言うエラーになったとかどういう状態になったとかの情報がないと…^^; あの画像はあとにSELECT関数の定義が続くと言うことが判るように定義の頭1行目しか書いてありません。 画像のまましか入力していないと エラーすると思います。 後にSELECT関数本体を続けて下さい。 もしかして、そこかな^^;
0そうだね
プレイ済み
返信[10]
親投稿
nobu divine-creator
あれは、続く…という意味でしたか…Σ(゚Д゚)!(気にはなっていたのですが…、どういうことかは分かりませんでした…(^_^;)。) それが無いと、選択肢が表示されないという状態になるのでしょうか?(発生したエラーは、選択肢の非表示でした…。) ただ、このプログラムはカーソル選択に変える必要がなくなりそうなので、このままでも構いません。 それよりも、ボタンによる選択を学ぶ必要がありそうです! A,B,X,Y,L,Rの6つのボタンを使った選択を可能にするには、どのような命令の構成をすれば良いのでしょうか? できれば、各ボタンを押して次に進むまでの流れを教えてください。よろしくお願い致します。
0そうだね
プレイ済み
返信[11]
親投稿
Godot orz_127
一画面に収まらなかったので省略しました。 ファイルを確認したら花を選ぶやつで使っていたようなので省略してもわかるかな?と 後ろを書かないと実行前の構文チェックの段階でにエラーになるかと。
1そうだね
プレイ済み
返信[12]
親投稿
Godot orz_127
他でも流用出来るのでABXYLRボタンでの選択は専用の関数を作っておくと良いかも。 作り方は ループしながらBUTTONが押されるのを待ちます。 ループにはVSYNCをひとついれておきます。(定石?) どのボタンが押されたかはビット演算でチェックします。 どれがどのビットに対応するかはヘルプに書いてあります。 IF 文で押されたボタンを検出したら結果として何が押されたかわかるように値を返せば良いかと。 その関数ができたら選択しを表示した後その関数を呼びだして結果を待って 結果に従った処理に進めば良いかと。
1そうだね
プレイ済み
返信[13]
親投稿
nobu divine-creator
言葉での説明だけでは、なかなかよく分かりません…(?_?)。 ここでのループは、何を使用した方法が一番良いのでしょうか?(お勧めのループはございますか?) 各ボタンの対応は、以前からヘルプで分かっているのですが、それをどう入力すべきかが分かっていない状態です…(?_?)。 値を返すという表現が、以前から正しく理解できておりません…。 結果に従った処理に進むための命令も、どれを使うのが適切なのか?分かっておりません…。
0そうだね
プレイ済み
返信[14]
親投稿
Godot orz_127
順番に…。ループはとりあえず無限ループでよいと思いますが無限ループのやり方はどういつた方法を知っていますか?まずはそのなかでちやんと理解している方法を使用した方が良いです。 ボタン処理ややこしいので一旦おいておきます。 値を返す、は以下DEFで関数または命令を定義するとその中でしよりした結果が返せます。電卓で1+1として=を押すと2と結果が返ると思います。 DEF HOGE() X=1+1 RETURN X END これはHOGE()という関数を定義しています。中では1+1を計算し、変数Xに代入。Xの値をRETURNで結果として返しています。HOGE()を実行すると結果が返ってくるので変数で受けます。 R=HOGE() 変数Rには2が代入される事になります。 値をかえす、この説明でわかります?
0そうだね
プレイ済み
返信[15]
親投稿
Godot orz_127
結果に従った処理に進む命令として理解しているのはどれですか? 状況によって変わるので一概にはきめられないかと。 とりあえず、お勧めとか最良はおいてといて、まずは自分が確実に理解出来ているコマンドだけを組み合わせて工夫しながら作って行く感じでよいと思います。 他にいい方法がないか?はその次の段階かと。 いちどにあれやこれやと詰め込むと自分で作ったプログラムでも直ぐに何をしているのが解らなくなったりします。
1そうだね
プレイ済み
返信[16]
親投稿
nobu divine-creator
そういえば、質問し忘れていたことがありました…! 最初に使用する記号を定義する時に、VARかDIMを使いますよね? この2つは説明書によると、同じ役割で「どちらを使っても良い」とされていますが、Godotさんは両方を使用していましたよね? …ということは、併用不可ではなく、両方を使用しても良いとなるはずですけど、Godotさんが併用している理由(利点)は何でしょうか? それと、2つのより良い使い分けがあるのでしょうか?(説明書では、そこまでは分かりません…。)
0そうだね
プレイ済み
返信[17]
親投稿
Godot orz_127
「記号」ではなく、「変数」ですよね。 プチコン3ではDIMもVARも同じに使えるのでどちらでも問題ないようですが自分の場合は、なるべく普通の変数はVARで宣言して、配列変数はDIMで宣言する様にしています。 昔のBASICだと配列の定義のときだけDIMで宣言し、普通の変数は特に何もせず使いだしていました。確かVARはなかったかと。 コマンド名としてもDIMはDimensionsの略で次元という意味であり、1次元以上の配列を定義するには適しているのかなと。 普通の変数を0次元配列ととらえると配列ともいえるし、普通の変数も配列変数もどちらも変数だ、と言えば、そうともるし…。 なのでプチコン3ではどちらでも良いのかも。
0そうだね
プレイ済み
返信[18]
親投稿
nobu divine-creator
そうです、変数です。いろいろな記号が使われているので、記号と書いておきました♪ 普通の変数はVAR、 配列変数はDIMですか、なるほど…です♪
0そうだね
プレイ済み
返信[19]
親投稿
nobu divine-creator
あまり良い仕組みではないかもしれませんが、一応ボタンを入力して選択する方式を作ることができました♪ 選択後の移動をラベルにしてしまったのですが、ラベルを使い過ぎると所謂スパゲッティプログラムになってしまうんですよね…?
0そうだね
プレイ済み
返信[20]
親投稿
Godot orz_127
プログラムが見えないのでどの様に作ったかわかりませんが… ラベル自体は問題ないです。 まずいのはラベルで飛んだ先でまた分岐してラベルで飛んでと、飛び回るのがだめです。 その様にプログラムの流れがゴチャゴチャにこんがらがつた状態をスパゲティと評しますw ラベルを使うのはよいですがGOTOで行ったきりになるプログラムではなく、GOSUBで行って帰ってくる様なプログラムを心掛けてください。 GOSUBで実行するプログラムはサブルーチンといって同じ様な処理をまとめる時に使います。 暗号化のプログラムは暗号化と復号の処理は同じで参照する文字列がちがうだけだったと思います。 この様な処理はサブルーチンとしてまとめる事ができます。 同じような処理がまとめられた簡潔なプログラムになります。
1そうだね
プレイ済み
返信[21]
親投稿
nobu divine-creator
やはり、そうなのですね…。気を付けます! GOSUBで移動した後、 RETURNで戻って来るようにすれば、 沢山のラベルを使った複雑な分岐でも構わないのですか?
0そうだね
プレイ済み
返信[22]
親投稿
Godot orz_127
どこにいったかわからなくなるようなプログラムが駄目なので なるべくメインのルートに戻って来るようにする方が良いです。 サブルーチンは同じ様な処理をまとめて簡潔にするのが目的なので複雑はダメですw 複雑になるとバグが発生し易くなります。 なるべく単純に簡潔になるようにしてください。
1そうだね
プレイ済み