Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
146 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 6672
次のページ(過去)
返信[2]
親投稿
otta777 otta777a
カービィさんの提案された方法にもう一つ付け足しで 拡張PADは接続の確認に成功するとシステム変数RESULTに TRUEが入るのでXON EXPADを実行後にRESULTの値を フラグ用の変数に代入すると良いかと思います。
1そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
配列変数の表記を間違えていました。 5行目は IF BUF[8+I]!=0 THEN NM$=NM$+CHR$(BUF[8+I]) にして下さい。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
読み込むときはLOADした数値配列変数の内容を 目的の変数に代入します。 文字列変数の内容はCHR$関数で文字に変換して 文字列に復元します。 DIM BUF[16] LOAD "DAT:SAVEDATA",BUF HP=BUF[0]:MP=BUF[1]:GD=BUF[2] FOR I=0 TO 7 IF BUF[8+I]!=0 THEN NM$=NM$+CHR$(BUF(8+I)) NEXT
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
【続き】 DIM BUF[16] HP=100:MP=50:GLD=100:NM$="OTTA" BUF[0]=HP:BUF[1]=MP:BUF[2]=GD FOR I=0 TO LEN(NM$)-1 BUF[8+I]=ASC(MID$(NM$,I,1)) NEXT SAVE "DAT:SAVEDATA",BUF 数値配列変数BUFに保存したい数値変数を代入し、 文字列変数のNM$はASC関数でキャラクターコードに 変換して数値配列変数に代入します。 保存したい情報が入った数値配列変数BUFをSAVE命令で 保存します。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
変数の内容をファイルに保存するには方法が2つ有り それぞれファイル種別が異なります。 1)数値配列を保存 "DAT:" 今回はこちらで保存します。 2)文字列変数を保存 "TXT:" 数値の場合は数値配列変数に代入すればいいのですが 文字列の場合はそのまま数値配列変数には代入できないので 文字列変数の内容をASC関数でキャラクターコードにしてから数値配列変数に代入します。 SAVE "DAT:ファイル名",数値配列変数 【続く】
0そうだね
プレイ済み
返信[26]
親投稿
otta777 otta777a
REMや'でコメントが記述できない 入力出来る文字が大文字英字と数字と記号のみ
4そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
プログラムはこんな感じです。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
自分がやってみた方法は 1)画面をスクロールする 2)一定の場所に表示する文字を表示する部分に表示されている内容をCHKCHR関数を使って配列変数に記憶する。 3)一定の場所に文字を表示する。 4)VSYNCで時間待ちする。 5)配列変数に記憶しておいた内容を一定の場所に表示した文字を表示した位置に表示する。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
>イェァさん その条件ですとXが0.5や5.5の場合でも真になってしまいます。 ナツキさんの書き方が分かりやすくて良いかと思います。
1そうだね
プレイ済み
返信[10]
親投稿
otta777 otta777a
他には5行目のLOCATE I,はLOCATE 0,IとしてY軸方向の 表示位置指定に変更して下さい。 十字キーをスキャンスしてYPOSを加減算する処理は FOR~NEXTの外に出して下さい。 WENDの前にVSYNC 1を入れて処理待ちをしないと とんでもないスピードで画面が切り替わってしまいます。
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
マップを表示するときに PRINT A$[YPOS+I]としているためYPOS+Iが0以下になったり 文字配列変数A$[n]の要素で指定できる数値を超えると エラーになってしまいます。YPOSを加算するときは 文字配列変数A$の要素数(LEN(A$)で求められます)-29 以下であるときに加算、減算するときは0以上の時と 条件を増やすとSubscript out of rangeは出なくなります。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
桁下げを行うと見やすくなりますよ。 IF A==0 THEN A=A+1 ELSE A=A+10 ENDIF こんな感じで。
3そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
昔雑誌に載っていたBASICのゲームを移植してみたいと思い プチコンを購入しました。8ビットPCの実機なんてなかなか 手に入らないし、出先でもプログラムが編集できる プチコンは大変魅力的でした。 スプライト、BGも標準装備でキャラクターのデータも あるという豪華なファミリーBASICって印象がありました。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
Aボタンを押したときにSP0と衝突してるスプライトの 管理番号を取得してその番号が1だったらACLSを行う という方法ではどうでしょう?
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
スプライトの表示位置を変更するのはSPOFS命令で 可能です。 この順番だとSPDEFで設定した定義テンプレートが反映 されないのでSPDEFの後にSPSETをして下さい。
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
グラッフィック画面はスプライトより後ろの画面と なっているのでGPUTCHRで描いた文字がスプライトに 隠されてしまいます。 GPRIO -1としてグラフィック画面の表示位置を スプライトより手前にして下さい。
1そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
GPUTCHRで指定している色コードが15となっていますが これだと黒色に近い色で描写します。 RGB関数で描画したい色コードを指定をして下さい。 ACLSのHELPを参照して頂ければ分かると思いますが ACLS命令でスプライト、BGはプチコンが標準で 搭載してるデータを読み込むようになっています。 スプライト、BGのデータを読み込む前にACLSをする ようにして以後は必要な画面の初期化をするように すると良いかと思います。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
英数字の前に&Hを付けるとその表記が16進数として 扱われます。 A=&HFF とすると変数Aには255が代入されます。
2そうだね
プレイ済み
返信[118]
親投稿
otta777 otta777a
STARTボタン、SELECTボタンの誤爆でプログラムが 使用者の意図しないところで停止しないように 「プログラムを中断しますか? はい/いいえ」 のダイアログを表示後「はい」をタッチでプログラムの 中断、「いいえ」をタッチでダイアログからの復帰という 操作に変更していただけませんか? SMILEキーから起動したプログラムはCONTコマンドで 再開できないのでこうしていただけるとありがたいです。
4そうだね
プレイ済み
返信[117]
親投稿
otta777 otta777a
コンソール画面のスクロール範囲を矩形範囲で設定する 機能が欲しいです。 昔の8ビットPCのBASICではCONSOLE命令で実装されていたものです。 SCROLL命令でコンソール画面全体がスクロールしてしまうと スコアなど固定表示したいものもスクロールしてしまうので この機能があると便利かなと思います。
1そうだね
プレイ済み