Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1672
次のページ(過去)
返信[3]
親投稿
otta777 otta777a
C++やJavaでプログラムが組みたい方はそちらを選べばいいのですし 強制ではありませんよ。選択肢の一つです。 私は学生時代に8ビットパソコンでBASICや機械語でプログラムを 作った経験があったので当時を懐かしむことも目的にプチコン3号を 購入しました。プチコンBIGは16ドットのフォントで表示ができ 大きな画面でプログラムが編集できることにメリットを感じて購入をしました。 あなたの肌には合わないのかもしれませんがこのソフトを楽しんでいる 人間がいることも忘れないで下さいね。
8そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
文字を書いてその位置に書いた文字を消して新しい位置に文字を 書き直せば動いているように見えますよ。 FOR Y=0 TO 25 LOCATE 20,Y:? "V" WAIT 5 LOCATE 20,Y:? " " NEXT
1そうだね
プレイ済み
返信[10]
親投稿
otta777 otta777a
Break on ~というのはキー操作によってプログラムの実行を 中断したときに表示されます。~行目を実行中にプログラムを 中断しましたっていうメッセージでエラーとは違います。 一旦フリーズしたとありますがその時にSTARTまたはSELECTボタンを 押したかソフトウエアキーボードのSTOPキーをタッチしていませんか? フリーズは前述の無限ループが原因です。
0そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
こちらではINPUT命令でエラーは発生しませんでした。エラーが発生した 場合はどんなエラーが出たか書いて頂けると解決の近道になります。 このプログラムだと名前を入力した場合にREPEAT~UNTIL 0を 繰り返すためプログラムが先に進まなくなります。 こういう場合を無限ループと言います。今回の場合はREPEATとUNTIL 0は 不要だと思いますよ。
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
IF命令で条件分岐をしてINPUT命令で入力した文字変数の中身が 空っぽだった場合にINPUT命令に戻るプログラムを追加すると 良いかと思います。 @NAMEIN LOCATE 0,26:INPUT (以下省略) IF NM$=="" THEN GOTO @NAMEIN LOCATE命令を使ってINPUT命令でガイド文字を表示する座標を 指定するようにすると繰り返し名前を入力するときに画面が スクロールしなくなります。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
103行目のINPUT命令で既に実装できていると思うのですがそれでは 不十分と言うことですか? ぴくとさんがおっしゃっているのは質問をする度に新規投稿をすると同じ 話題のトピックが分散してしまうので最初に質問したトピックのレスに 追加の質問をした方がいいよって事だと思います。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
INKEY$関数はこの命令が実行されるときに押されている文字を一文字 取得する関数です。 名前を入力する場合はINPUT命令の方が簡単に処理ができます。 INPUT命令でNM$,AGを変数として指定していますが名前以外に 入力する項目があるならその事をガイド文字列で説明して おいた方が良いかと思います。
2そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
CTR=CTR+1:TIM=CTR DIV 60+(CTR MOD 60)/100 1フレームごとにカウンタ値を加算してカウンタ値を60で割った商を秒にして 60で割った余りを100で割って加算すると言うのはどうですか?
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
INPUT命令のヘルプは読まれましたか? 変数の部分に定数は使えません。入力した内容を保存する 変数名を記述します。名前を入力するなら文字変数を指定して下さい。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
BGPUT命令のX,Y座標はキャラクター座標なのでグラッフィック座標を BGのキャラクターサイズで割った数値にする必要があります。 BG画面のサイズより大きい座標を指定したためにOut of rangeが 出ていますね。
1そうだね
プレイ済み
返信[10]
親投稿
otta777 otta777a
セミコロンを付けたことによってそれ以降のELSEIFを数値変数として 一緒に表示しようとしてType Mismatchになっていると思います。 コロンを省略する場合は気をつけないと思わぬところでバグの 原因となるので注意しましょう。
3そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
すいません。GCOPY命令のコピーモードのパラメータを一つ書き忘れていました。 末尾に,TUREを追加して下さい。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
無いと思います。もし今持っているお金で足りないのであれば 毎月少しずつ貯金して買うのも一つの方法だと思います。 大人でも高額な物は毎月少しずつ積み立てて買ったりしますよ。
6そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
GCOPY命令のHELPを一度良く読むと分かりますがグラフィックは コピー先の座標にコピーされるのでSPDEFのU,Wの設定をその位置に 変更しないと別のグラフィックが設定されます。 SYO21=96に変更すればコピーした位置のグラフィックを設定出来ます。
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
LOAD "GRP2:SYOUNEN.2.GRP" GPAGE 0,4 GCOPY 2,0,0,104,200,96,0 コピー先のページをGPAGE命令で操作ページに指定した後に GCOPY命令でコピー元のページ指定付きでコピーして下さい。 SPDEF命令の元画像の座標は画像をコピーした位置に合わせて下さい。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
グラフィックデータが2つのファイルに分かれているようでしたら一つの ファイルにまとめるか2つめのスプライトのグラフィックをGRP4以外の ページ(未使用なら2か3が望ましい)に読み込んでGCOPY命令で スプライト用のページに画像をコピーしてテンプレートの設定を変える 方法が考えられます。
2そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
設定値を確認した限りはスプライト同士は重ならないと思いますが そちらの実行画面はどうなっていますか?スクリーンショットがあれば 貼って下さい。 GRP4にSYOUNEN.GRPをロードして定義番号140にスプライトの テンプレートを定義した後にGRP4にSYOUNEN.2.GRPをロードして 定義番号141にスプライトのテンプレートを定義していますね。 これだと定義番号140のスプライトもSYOUNEN.2.GRPのグラフィックに 置き換えられてしまいます。
1そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
DEF ユーザ命令 ~ OUT 変数と記述するとユーザー命令の中の 変数の内容を呼び出し先に戻します。 ただしこの時点では変数の内容は何も格納されていない状態で この状態で変数を参照するとUnInitialize variable usedになります。 変数=変数+1やINC 変数,1の様に変数の値を参照する命令を 実行する前に変数に初期値を代入するようにするとこのエラーは 回避できます。
1そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
文字配列変数MAKEMAP$にマップのデータをセットして 17行以降のFOR~NEXTで文字配列変数MAKEMAP$から一文字ずつ キャラクタを取り出してそのキャラクタに合わせてBGPUT命令で BGを配置してマップを描画しています。 IF ~ THEN ~ ELSEIF ~ THEN ~ ENDIF の羅列になっているのはキャラクターによって描画するBGのレイヤーが 違うためだと思われます。 MAKEMAP$[Y][X]と指定をするとMAKEMAP$[Y]のX文字目の キャラクタを取り出し出来ます。
2そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
もしフリーズして入力したプログラムが消えてしまうのが心配なら 先にセーブしてから実行しましょう。
0そうだね
プレイ済み