投稿
りょうま R-S1437
I'm making ninja game.(あまり英語は得意では無いのであやふや。何故英語なのかは聞かないで下さい。)です。公開キーは「8KD383JJ」です。Do you like ninja?
4そうだね
プレイ済み
返信[1]
親投稿
りょうま R-S1437
お暇がある方は感想等をコメントして下さると嬉しいです。
0そうだね
プレイ済み
返信[2]
親投稿
イカ ikasan1830
このプログラム、何かが起こる度にGOTOでメインループより上にすっ飛ばされるので1ループ内で何かが起こる度にGOTOの下にある処理されるべき命令が無視される形になっていますよ。
0そうだね
プレイ済み
返信[3]
親投稿
りょうま R-S1437
イカさんそれはどこの行でしょうか?僕の探した限り見つかりませんでした。 WHILEでメインループを作って敵を倒す、敵が画面外に行くの2つのどちらかの時に@LOOPへ、自分の体力が0になったときに@GAME_OVERに飛ばす様にしているのですが。
0そうだね
プレイ済み
返信[4]
親投稿
イカ ikasan1830
敵が画面外に出た瞬間に自機が移動中だと一瞬だけ自機の移動が早くなります。これは敵が画面外に出たときにループの最後にあるVSYNCが実行されないためです。 ループはループするからループなのであって(なんじゃそりゃ)こう頻繁にループから外れるのではループの意味がありません。
2そうだね
プレイ済み
返信[5]
親投稿
りょうま R-S1437
すいません、ご指摘ありがとうございます。WAITを挟んでスピード調整しました。
0そうだね
プレイ済み
返信[6]
親投稿
うらみの uraminoNew
VSYNCの置き場所はプチコナー達の永遠のテーゼになりそうね。 GOSUBやDEF関数で、ループの最後までたどり着くことを保証すればいいのかも。
2そうだね
プレイ済み
返信[7]
親投稿
てっく tekpro
他の方がGOSUBの利用を勧めるのも、イカさんの主張と似たよう理由ですね。 WHILE TRUE GOSUB @自機の操作 GOSUB @敵の操作 VSYNC WEND といった構造にすれば、無理なくメインループを維持できます。
2そうだね
プレイ済み
返信[8]
親投稿
イカ ikasan1830
ちょっと待って。 ループがループになってないのがこのプログラムの最大の問題であってWAITで調整というのは根本の解決になっていません。 他の人も言っているとおりGOSUBとか使ってみましょう。
2そうだね
プレイ済み
返信[9]
親投稿
りょうま R-S1437
GOSUBを進めるのは良いのですが、使いましょうと使ってと言うような事は少し違う気がします。これはあくまで僕の作ったゲームなのでやり方は個人で決めますし使いましょうと言う表現は少し強要させようとしている様に感じましたので出来ればその様な表現は止めて頂きたいです。一応GOSUBを使った方が良いと言うのは理解出来たのでGOSUBに少しずつ慣れていきます。
0そうだね
プレイ済み
返信[10]
親投稿
りょうま R-S1437
すいません誤字がありました。進めるではなく勧めるでした。
0そうだね
プレイ済み
返信[11]
親投稿
りょうま R-S1437
この様な理解で良いのでしょうか?
0そうだね
プレイ済み
返信[12]
親投稿
うらみの uraminoNew
とりあえずはいい感じ…だと思う。 個人的には、STICK OUTは、その手前のSX,SYより前に持ってきた方が 良さそうな感じ。 その方が、「ボタンを調べて処理にいく」という流れで、2つのGOSUBの中身が揃うからね。
1そうだね
プレイ済み
返信[13]
親投稿
うらみの uraminoNew
↑は、今後GOSUBを使う上で、ってことね。 自分の中で「定番のGOSUBの使い方」が出来ていると、 どんどんGOSUBが作れて、しかも後で見直しが楽ちん。 最後になるけど、いいNinjaゲー期待してるよ!
1そうだね
プレイ済み
返信[14]
親投稿
けい kei0baisoku
あ、すいません。私は元のプログラムは落としてないのですが、イカさんは決して何かを強要しているわけではなく、元のプログラムにバグがあるのを、直し方と共にただ優しく教えてくれているだけじゃないかと思います。 固く考えず、もっと肩の力を抜いて受け入れてみると良いと思いますよ。
3そうだね
プレイ済み
返信[15]
親投稿
僕も気になってましたが、りゅうNewさんの「STICK OUTは、その手前のSX,SYより前に持ってきた方が良さそうな感じ」に関しては同感です。 ループもそうですが流れを意識して全体を俯瞰してみれるようになると、その辺も気づきやすくなると思います。 あとFOR I=400 TO 400の意味がないと思うので、そこのFORはなくした方がいいんじゃないかな?
2そうだね
プレイ済み