増えたスプライトをSPSETで定義するとき、定義番号は定数で指定しているのでしょうか。
0そうだね プレイ済み
増えたスプライトがイチゴになるのは、定義番号が0になっていると思われます。増えたスプライトの定義番号の値を確認して、どこで0になっているかを調べてみてはどうでしょうか。
0そうだね プレイ済み
まげさんの仰る様にSPANIMがよい方法だと思います。補足点は、定義番号に計算式を使えばいいと思います。
SPCHRを使う例をスクショに示します。分かりにくい例ですみません。

プレイ済み
すべての道は、プログラミングに続くだと思います。プログラムする対象がなんなのかを知らなければ、何も出来ませんから。
方法は違いますが、テレパシーに近い技術に脳インタフェースが研究されているそうです。事故や病気で意思伝達に障害のある方には朗報です。一方、おちおち妄想も出来ない社会にならないかも心配です。
0そうだね プレイ済み
小説家によると、言葉は「知、情、意」(知識、感情、意思)を伝えるものだそうです。プログラム言語もゲームやCG、シンセサイザー、ロボットなどの道具がそろうことで、言葉や音楽、舞踊などの自然言語に近づいているのかもしれませんね。
2そうだね プレイ済み
更新ありがとうございます。
さっそく、EASY&ONでやらせて頂きます。
0そうだね プレイ済み
推定ですので間違っていたら、申し訳ありません。
初回に78行目で当たり判定を検出出来ないため、Lが0のまま変化しないため、77-87行目が無限ループになっているのでは無いでしょうか。
0そうだね プレイ済み
ページ3/3
2)プログラムスロット1の配列変数をプログラムスロット1のCOMMON DEFで使う例
’プログラムスロット0メインルーチン
USE 1
GOSUB "1:@INIT
・・・
’プログラムスロット1のユーザ定義命令を呼び出す
FN ’引数は必要に応じて
’プログラムスロット1のサブルーチン
@INIT
DIM A[10]
RETURN
’プログラムスロット1のユーザ定義命令
COMMON DEF FN ’引数は必要に応じて
’Aを使った処理
END
0そうだね プレイ済み
ページ2/3
1)プログラムスロット0の配列変数をプログラムスロット1のCOMMON DEFで使う例
’プログラムスロット0メインルーチン
USE 1
DIM A[10]
・・・
’プログラムスロット1のユーザ定義命令を呼び出す
FN A ’追加の引数は必要に応じて
’プログラムスロット1のユーザ定義命令
COMMON DEF FN A
’Aを使った処理
END
0そうだね プレイ済み
ページ1/3
質問の意図が、以下の3パターンと解釈できました。
間違っていたら、ご指摘お願いします。
(説明の都合上、プログラムスロットは、限定させて頂きました。また、メインルーチンはプログラムスロット0で実行することとします。)
1)プログラムスロット0の配列変数をプログラムスロット1のCOMMON DEFで使いたい。
2)プログラムスロット1の配列変数をプログラムスロット1のCOMMON DEFで使いたい。
3)COMMON DEF内でローカルな配列変数を使いたい。
3は、通常のDEF内で配列変数を宣言したときと同様です。
0そうだね プレイ済み
プログラムスロット0で実行中なら
GOTO "0:@STAGE"
でも出来ますが、
将来出来なくなる可能性が高いのでおすすめできません。
0そうだね プレイ済み
DEF-END内から外へGOTOしている為に発生していると思います。
対処としては、MENU命令で処理結果を返すように、OUT引数を追加するか、関数にして、22行目でその結果を判定して@STAGEにジャンプする必要があります。
0そうだね プレイ済み
アルゴリズムまで出来ているのでしたら、公式HPで命令表やスペックを見てプチコンが出来ることを当てはめていけば出来そうな気がします。
1そうだね プレイ済み
システム変数に「TABSTEP:TABによる移動量(代入可)」とあり、PRINT命令で引数の間を「,」で区切るとTABSTEPの値によって位置合わせの幅が変わってきます。プチコンでは文字やキーとしてのTABは、機能が無くなりましたが、PRINT命令の位置合わせでのみTABの考え方が残っていると思われます。
1そうだね プレイ済み
起動時に、上画面はGPAGE 0,0に、下画面はGPAGE 1,1に初期化されます。下画面にGPAGE 0,0を設定して、グラフィックページ0に描くと、上と下に同じ絵が表示されるのは、仕様通りだと思います。
0そうだね プレイ済み
計算結果の位置調整は、FORMAT$関数を使うと楽になると思います。
例
? FORMAT$("X:%6D Y:&6D",X,Y)
1そうだね プレイ済み
限度を知っておく必要があるので一応調べましたが、これが仕様かどうかがわからないのが問題です。MMLと違い、256文字あれば、困ることは少ないと思います。
1そうだね プレイ済み
1の例
N=0
ループの中
IF N==0 AND (BTN AND 16)==16 THEN
弾を撃つ処理
ENDIF
N=N+1:IF N>Nの最大値 THEN N=0
2の例
ループの外
BREPEAT 4,4,4
ループの中
BTN=BUTTON(1)
IF (BTN AND 16)==16 THEN
弾を撃つ処理
ENDIF
2そうだね プレイ済み