投稿
タイラだ doraemon611
前回に引き続き、まったく同じところで詰まってます....。上からランダムに玉が降ってくるにはどうすればいいでしょうか...?前回、助言をいただいた方には申し訳ございません...。
4そうだね
プレイ済み
返信[1]
親投稿
bigslope bigslope
49行目の所ですが、WHILEの条件の所が、『敵の縦座標(EY)が29より大きい間』になっていますね。 EYには0が入っているので、条件に合わずにそのまま抜けてしまっているので、WHILE EY<29(29より小さい間)に直しましょう。 あと、48~54行目の処理を行う順番ですが、この順番だと、 EYに1を足す(縦1)→敵をスペースで消す(縦1)→敵を表示する(縦1) →EYに1を足す(縦2)→敵をスペースで消す(縦2)→敵を表示する(縦2) …というような感じで、スペースで消すべき座標を、先に+1してしまっているので、実際には消えていない事になります。 なので、51行目と52行目を入れ替える事で、 敵をスペースで消す(縦1)→EYに1を足す(縦2)→敵を表示する(縦2) のように、正しく落ちてくるようになります。
0そうだね
プレイ済み
返信[2]
親投稿
まーくん MARK6502
補足です。 このプログラムだと、bigslopeさんご指摘の修正をしても、人が1フレーム分動く間に、敵は一気に画面の上から、下まで移動してしまいますね。 本来は、人が1フレーム動くときに、敵も1フレーム落ちてくる。 としたいのではないでしょうか? であれば、@TEKIのなかのWHILEループは不要です。 また、このループの中で、毎回EX、EYを初期化していますが、 ここも、敵が出てくるタイミングを判断して、出現する条件になったら敵を出して、敵が存在していたら処理をするという風にしなければなりません。 当然、敵が1匹でない場合は、その数分を多重に処理する必要があるので、敵のデータは配列で保持して、敵の数分ループして処理をしてやる必要も出てきます。
0そうだね
プレイ済み
返信[3]
親投稿
bigslope bigslope
ループの中だけ見ていましたが、全体を見ると確かにそうですね。 自分を動かす→敵を動かす→自分を動かす…と交互にやらないと。
0そうだね
プレイ済み
返信[4]
親投稿
タイラだ doraemon611
皆さんありがとうございます!! おかげで出来ました!!
1そうだね
プレイ済み