あ、そっか。このゲームのメッセージは濁点や半濁点をメッセージとは
別の行に表示してるんですね。
考えられる方法はINSTR関数を使う方法ですかね?
INPUT命令で入力した文字列を一文字ずつINSTR関数で
濁点のある文字列の中に一致する文字があるか調べれば
濁点無しの仮名文字と濁点に切り離す事は出来ると思います。
INSTR("がぎぐげご…(濁点の付く文字全てを列挙)",INPUT命令で
入力した文字のうちの任意の一文字)で-1以上の数値が返ってきた
場合は濁点を含んでいます。
文字コードを-1すると濁点無しの仮名文字に変換できます。
半濁点の場合は文字コードを-2します。
1そうだね プレイ済み
入力した文字を6文字までにするのなら文字列操作関数を
使う方法があります。文字数制限出来るINPUT命令を自作する
方法も考えられますが手間が掛かります。
LEFT$(INPUT命令で入力した内容を格納した文字変数,6)で
INPUT命令で入力した最初の6文字を取り出す事が出来ます。
「濁音などを離すようにしないと濁音などが使えなくなる」というのが
どういうことを想定しているか分からなかったんですが
「がくぎょう」と入力した場合にどのように変数に格納したいと考えてますか?
1そうだね プレイ済み
FOR I=1 TO LEN(配列変数名)-2
PRINT 配列変数名[I]
NEXT
で配列の先頭と末尾以外の要素を参照できます。
0そうだね プレイ済み
お絵描きモードで黒色になってる部分を透明色(左上で四角の中に
斜線が入ってる)に置き換えれば変えられますがお絵描きでは黒色と
透明色は見た目で区別は出来ません。
3そうだね プレイ済み
SV1$の中身がファイル名として適切で無い可能性があります。
SV1$に格納されている文字列の内容を確認して下さい。
0そうだね プレイ済み
まず、エラーが出る場合はエラーの内容と行番号を書いて質問すると
回答しやすくなります。
ラベル名に"("や")"は使えません。
存在しないラベルへのGOTOやGOSUBはエラーになります。
Undefined labelが出る場合はラベル名の見直しをしましょう。
0そうだね プレイ済み
新しくプロジェクトを作成したいのか任意のプロジェクトにプログラムなどを
保存したいのか…?
これだけだとどちらの意味で質問をされているか判断しかねます。
もう少し具体的にどうしたいのを書けば回答が得られるかと思います。
0そうだね プレイ済み
プログラムを実行します。
エラーが出た行のプログラムを見直して修正します。
これをエラーが出なくなるまで繰り返します。
2そうだね プレイ済み
あ、でも元々HELPには記述は無いので仕様が変わったのではなく
挙動が変わったと言うべきですね。
3そうだね プレイ済み
Ver 3.2ではRUNボタン又はSELECTボタンでプログラムを起動してボタンを
押しっぱなしだった場合はBUTTON関数で8192が取得できていましたが
Ver 3.3では0が返るように仕様が変わってしまったようです。
5そうだね プレイ済み
ビット演算子の引数は符号付き32ビットの整数に変換されてから
処理されてると思いますよ。
1そうだね プレイ済み
メインループの中の薬の移動をする部分が1個分しかないので
画面右側に留まったままになりますね。
移動処理は
A=1:FOR I=0 TO 50
SPOFS A OUT X1,Y1
X1,Y1に関する処理(長いので省略)
SPOFS A,X1,Y1
NEXT
SPの当たり判定は
IF SPHITSP(0,1,51)!=-1 THEN BREAK
とするか
WHILE 1を
WHILE SPHITSP(0,1,51)==-1に変更して
どちらかでメインループを抜ければ良いかと。
1そうだね プレイ済み
配列変数の添え字部分が[1](いち)となっていますが、I(アイ)の
間違いって事は無いですか?
FOR命令でIを使っているならそこを直さないと複数の敵の移動には
ならないと思います。
1そうだね プレイ済み
ではプログラムの頭の部分(特にゲーム画面を描画している部分)を
提示してください。そこを見ないと移動先のキャラクターを判別して
いる部分が適正か分かりません。
0そうだね プレイ済み
当たり判定がひどいだけでは何をどうしたいかが分かりませんよ。
もう少し具体的に書いた方が回答を得られるかと思います。
転送位置がおかしいのは部屋を移動したときにBGの位置に合わせて
プレイヤーのスプライトの座標を変更してしていないためだと思います。
3そうだね プレイ済み
ACLSやCLS命令を実行すると画面をCHR$(0)で埋め尽くします。
47行目のCHR$(XC)!=" "が成立するためMXには移動前のX座標が
代入されるためキャラクターは移動しません。
画面の消去を
LOCATE 0,0:PRINT " "*50*30;
として画面上を" "で埋め尽くすか、キャラクターの消去を
PRINT CHR$(0);に変更して、IF命令での判別を
IF XC!=0 THEN MX=XX
とCHR$(0)を検出できなかったときに移動前の座標に
戻すようにしたらいいかと思います。
Y座標も同様です。
0そうだね プレイ済み
ソートしたい二次元配列の範囲の数値を一次元配列にコピーして
SORT命令で並べ替えた後に一次元配列の数値を二次元配列に
書き戻すとか。
DIM A[10,2],B[10]
FOR I=0 TO 9
B[I]=A[I,0]
NEXT
SORT B
FOR I=0 TO 9
A[I,0]=B[I]
NEXT
2そうだね プレイ済み