Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
145 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6572
次のページ(過去)
返信[13]
親投稿
otta777 otta777a
MONコマンド 3DS内のメモリを直接書き換え可能なモニター機能の呼び出し。 アセンブラ、逆アセンブラも完備のN88 BASIC仕様がいいかな。
2そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
>initial Dさん テンポの指定は512までのため無限ループさせるとエラーで プログラムが停止してしまいます。 TMP=TMP+5 を IF TMP<510 THEN TMP=TMP+5 とするか GOTO @LOOP を IF TMP<510 THEN GOTO @LOOP としてエラーにならないような工夫が必要ですね。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
MMLでテンポを指定するTはMML内部変数で指定できません。 同じフレーズを徐々に早く演奏したい場合は 演奏したいフレーズをマクロ登録してテンポを変更しながら マクロを利用して演奏する方法があります。 BGMPLAY "{A=FEDC} T100{A}T150{A}T200{A}"
1そうだね
プレイ済み
返信[13]
親投稿
otta777 otta777a
ポーカーのカードの強さならJQKAとなるから...で 続いていても不自然じゃ無いですよね。
1そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
MODで余りを取得して割り切れるか判定をしていますね。 余りが0か否かで判定しないと正しく割り切れるか判定 できません。 また閏年かどうか判別する部分ですが 4で割り切れる年のうち100で割り切れない年、 または400で割り切れる年が閏年になるので 判別は E==0 && F!=0 || G==0 としないと上手く行かないと思います。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
壁を描くところは一瞬で表示が終わってしまっているんで なぜこんな風に表示しているか分からないと思います。 NEXTの前にWAIT 30と入れるとどのように壁を描いているか 見やすくなります。
1そうだね
プレイ済み
返信[10]
親投稿
otta777 otta777a
あと@CHECKの部分ですが、事前に変数にチェックしたい スロットの出目を代入しておいて @CHECKでその変数の内容をチェックするようにすれば わざわざ@CHECK2、@CHECK3のサブルーチンを使わなくても 配当の判別はできますよ。 IF~(省略)THEN GOSUB @CHECK2 ↓ IF~(省略)THEN CN=P11:GOSUB @CHECK @CHECK IF CN==1 THEN G=G+~(省略) IF CN==2 THEN G=G+~(省略) という具合に変更すると@CHECKで配当の判定が共用できます。
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
上手く動いて良かったですね。 プログラムの場所を変えたら正常に動いた理由を説明します。 スロットの出目を配列変数Pに代入していますが 判別を見やすくするための変数P00~P22に配列変数Pの 数値を入れてから判別を行わないと画面に表示された スロットと判別をする為の変数の内容が一致してない ため1~8の数字が揃ったと判別されなかったというわけです。
0そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
更新された方を見ずにコメントしていました。すみません。 配列変数の内容を変数に入れるプログラムは 73行目の当たり処理の後に入れて下さい。
0そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
×判定に関しては ◎判定に関しての問題は 意味が分かりづらい文章になっていました。
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
2)で指摘した件は私の勘違いでした。配当となるメダルは複数ラインの当たっていても上書きされずに加算されています。 判定に関しては1)で指摘したとおり106行目のGOTO命令の 飛び先に有ります。 スロットを回す度にGを0にしていないため判定の条件が 成立したときに前回配当があったメダル数が加算されて しまい出目と配当が一致していません。 @MAINの次の行にG=0を追加してみて下さい。 IF P[0,2]!=P[1,2] THEN GOTO @BET としていますがこの場合も IF G!=0 THEN GOSUB @HIGHLOW の処理をしてください。
0そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
DIM BUF[16]はプログラム中1回宣言すれば良いので サブルーチンの中では無くプログラムの頭の方で 宣言して下さい。 エラーの内容は変数や配列変数を重複宣言してしまった 事が原因です。 別々のプログラムで実行してもエラーにならない様に それぞれのプログラムにDIM命令を書いていました。 説明が足りませんでしたね。
0そうだね
プレイ済み
返信[14]
親投稿
otta777 otta777a
自分の投稿プログラム、仕様を満たせていませんでした。 解決方法も見通しが立たないので残念ですがこれ以上 手を加えられません。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
一つ提案ですが判定処理で配列変数を羅列するため 1行が長くなってしまい読みづらくなってしまいます。 P00=P[0,0]:P01=P[0,1]:P02=P[0,2] P10=P[1,0]:P11=P[1,1]:P12=P[1,2] P20=P[2,0]:P21=P[2,1]:P22=P[2,2] とした上で IF P00==P01 && P01==P02 THEN GOSUB @CHECK という様に1行で揃っているラインを判別する方が プログラムが見やすくなるかと思います。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
1)数字が揃っていても106行目の判定で@BETに飛んでいる ためP[0,2]とP[1,2]が一致しないと揃っている処理が されません。 2)後にチェックした配当が有効になるため複数のラインで 数字が揃っていても先に判別された配当が後から判別された 配当に上書きされています。 3)数字を表示する際にSPSETを行うと表示座標が[0,0]の位置に変更されたり拡大率がリセットされます。
0そうだね
プレイ済み
返信[11]
親投稿
otta777 otta777a
あ~。プチコン3号はFORMAT$で文字列化できるのをすっかり 失念していました。これはシンプルですね。
0そうだね
プレイ済み
返信[10]
親投稿
otta777 otta777a
整数化したのち0の場合はエラーにならないように例外処理をしてから常用対数を使って桁数を計算しました。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
GPAGE命令で表示ページを1と指定するとGRP1の画面が 表示されます。
0そうだね
プレイ済み
返信[12]
親投稿
otta777 otta777a
>とりゅふさん でんぺんさんが指摘されているように十字ボタンを 検知したときのBX,BYに加算、減算をしている部分を 1または-1を代入するようにすれば解決できます。 つまり移動量は1または-1となるようにすれば壁を 検知できずにすり抜けることは無くなります。 毎ループごとにBX=0:BY=0実行するとボタンを離したときに プレイヤーキャラが停止するようになり今までと動きが 変わります。
0そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
でんぺんさんのご指摘のように変更することですり抜けは 防ぐことができます。 何故すり抜けてしまうのか説明しますと、 このプログラムでは変数BX,BYはプレイヤーキャラの 移動量となっています。この数字が2になると1個おきに 移動するようになってしまうので壁のキャラが検知できずに すり抜けたように見えます。 【すり抜けが起きる場合】BX=2,BY=0とする。 ◎□□□□■□ □□◎□□■□ □□□□◎■□ □□□□□■◎ ◎プレイヤー □空白 ■壁
0そうだね
プレイ済み