プチコン3号 SmileBASIC コミュニティ返信[13]親投稿otta777 otta777a2016/6/16 5:38プチコン3号では同じ配列変数へのDIM命令の記述が複数ある場合は Duplicate variableを出しますがループに組み込んで1カ所しか 記述が無い場合はエラーになりませんね。 配列のサイズを小さくしても消費メモリーは減らないようですけど。 1そうだね プレイ済み2017/11/03 12:59:54に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿otta777 otta777a2016/6/15 17:5818~19行目を SPCHR SP,SC-((SX DIV 10)MOD 2!=0) としても同じ動作になります。 1そうだね プレイ済み2017/11/03 12:59:54に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿otta777 otta777a2016/6/15 1:17ボタンのオフチェックですね。ボタンを放した状態からボタンを押した瞬間を 検出したいときには同じような方法を使います。 だにえるさんの言われるようにWHILE~WENDを使って記述すると ラベルを使わずにループをさせる事が出来るのでそういう方法も 覚えておくと良いかと思います。1そうだね プレイ済み2017/11/03 12:59:58に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿otta777 otta777a2016/6/14 0:4812行目をPRINT IとしてみればIの値がどのように変化しているかが分かります。 その結果が思う通りになるようにFOR命令のIの範囲を変えてみて下さい。1そうだね プレイ済み2017/11/03 13:00:41に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿otta777 otta777a2016/6/10 21:25まずユーザー定義命令や関数は同じ名前は使えません。 現状特に動作に影響の無いユーザー定義命令MAKEMAPが2カ所 あるためにエラーが発生します。 同様に同じ名前の配列変数の宣言も出来ません。 同じ配列変数に他の数値や文字列を格納する場合は配列の宣言は しなくても上書きをする事は出来ます。 例) DIM A[10] A[0]=5:A[1]=10 処理 REM DIM A[10] この行は不要 A[0]=10:A[1]=20 0そうだね プレイ済み2017/11/03 13:02:38に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿otta777 otta777a2016/6/10 19:40BGLOAD命令ではBGデータを格納した数値配列を指定する必要があります。 詳しくはBGLOADのヘルプを読んで下さい。 1そうだね プレイ済み2017/11/03 13:02:11に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿otta777 otta777a2016/6/10 18:57ACLSだとスプライトもフォントも初期化されてしまうんでVer3.3.0以降 限定ですがACLS TRUE,TRUE,TRUEでスプライト画像初期化、 BG画像初期化、SPDEF初期化、フォント初期化を無効にした方が 良いかと思います。 LOAD命令でスプライトやフォントのデータを読み込まずに済みます。 602行目のGOTO @MAINLOOP_2としている部分はGOTO @MAINLOOPの 間違いではないですか?@MAINLOOP_2にジャンプすると無限ループになります。 @MAINLOOP付近のプログラムやマップの表示をどうしているかが 分からないんでこれ以上は現状分かりません。2そうだね プレイ済み2017/11/03 13:02:38に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿otta777 otta777a2016/6/10 8:38@KAIDANに処理が移った場合に画面を消去してLOAD命令で フォントデータとスプライトデータをダイアログ表示をせずに読み込む 処理を無限に繰り返すようになってます。 想定通りの動作ですか? またIF命令を使用してますがその前でA=0を実行しているので必ず条件が 成立します。IF~ENDIFを使わなくても結果は同じになります。 1そうだね プレイ済み2017/11/03 13:02:38に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿otta777 otta777a2016/6/10 1:02カタログIPには00SAMPLEというサンプルプログラムが収録されています。 コメント付きで解説もしてあるのでこれを参考にしましょう。0そうだね プレイ済み2017/11/03 13:02:18に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿otta777 otta777a2016/6/9 4:44動かなくなったときに表示されたエラーメッセージを書きましょう。 エラーメッセージの末尾にin~とエラーが検出された行番号が 表示されているんでその辺りのプログラムをスクリーンショットに 貼りましょう。 原因を特定するのに情報が少なすぎてこれだけでは追加した部分に 問題が有るんじゃ無いかとしか言えませんよ。0そうだね プレイ済み2017/11/03 18:06:23に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿otta777 otta777a2016/6/7 23:51mz-2500のM25-BASICを思い出します。 FOR ループ変数I=0 TO 9 LOCATE ループ変数I*5,5:PRINT "#"; NEXT なんて漢字の変数名を書けるBASICがあったんですよ。0そうだね プレイ済み2017/11/03 13:03:11に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿otta777 otta777a2016/6/7 20:44TOPMENUの作品を見るから[SYS]を選んでサンプルプログラムを 実行してどんな事が出来るかを見てみるのが良いかと思います。 ファイル名の頭にEXが付いている物がサンプルプログラムで ファイル名の頭にGAMEが付いている物はゲームです。0そうだね プレイ済み2017/11/03 13:03:21に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿otta777 otta777a2016/6/6 22:53配列変数に譜面データを設定するのにDATA命令で譜面データを記述して READ命令又はCOPY命令で読み込ませているのかも知れませんね。 スプライトの配置は現在演奏してる楽譜の位置を変数に持たせてその 位置から表示出来る範囲の音符マークを表示するって方法が 考えられますが思いつきなんで具体的な実装方法までは考えてません。0そうだね プレイ済み2017/11/03 18:06:30に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿otta777 otta777a2016/6/6 20:18考え方を少し変えてみてFPで各ステータスのボーナスポイントを加減算する と考えればスッキリするかも知れませんね。 FPが0の場合はステータスのボーナスポイントは加算しない。 ステータスのボーナスポイントが0の場合はFPを加算しない。 これでどうでしょうか? FPの振り分けが終わったらステータスにボーナスポイントを 加算してゲーム内で使用すれば良いでしょう。 1そうだね プレイ済み2017/11/03 13:04:02に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿otta777 otta777a2016/6/5 23:15C=0;R=RND(100)+1は C=0:R=RND(100)+1に 訂正して下さい。コロンをセミコロンと間違えて タイプしてしまいました。3そうだね プレイ済み2017/11/03 18:06:35に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿otta777 otta777a2016/6/5 23:11ACLS C=0;R=RND(100)+1 REPEAT C=C+1 INPUT ”1~100までのせいすうのすうじをあててね ",N IF R<N THEN PRINT "もっとちいさいよ。” IF R>N THEN PRINT ”もっとおおきいよ。" UNTIL R==N PRINT ”せいかい! " PRINT C;”かいであたりました。” END 簡単な数当てゲームです。 3そうだね プレイ済み2017/11/03 18:06:35に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿otta777 otta777a2016/6/5 11:27ユーザー定義関数内で使用している変数はローカル変数として 定義しておいた方が良いかと思います。 PETVER関数を呼び出す前にV$,V2$,V3$,V4$,VX$に代入されていた 内容がユーザー定義関数内で変更されてしまいます。 あとV2$~V4$でVERSION関数の戻り値を取り出す際に左から何文字と いう指定をしているのでVX$の内容を見る限り意図した文字列が 取得できないと思われます。MID$関数を使うと良いでしょう。2そうだね プレイ済み2017/11/03 13:04:30に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿otta777 otta777a2016/6/5 1:58WHILE~WENDとREPEAT~UNTILは囲まれた命令を条件によって 実行しない場合があるか、条件にかかわらず必ず1回は実行するかの 違いがあるんで用途に合わせて使い分ける必要がありますね。 2そうだね プレイ済み2017/11/03 13:04:39に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿otta777 otta777a2016/6/4 12:54RESTORE命令でREAD命令でデータを読む位置を指定できます。 DATA命令の前にラベル名を追加してFOR命令の前にRESTORE命令を 追加してそのラベル名を指定すればエラーは回避できます。 0そうだね プレイ済み2017/11/03 13:05:03に取得
プチコン3号 SmileBASIC コミュニティ返信[23]親投稿otta777 otta777a2016/6/3 0:11幅、高さは原点からの距離を指定します。って部分、間違えてました。 幅、高さは始点からの距離を指定します。の間違いですね^^;;;0そうだね プレイ済み2017/11/03 18:07:32に取得