投稿
Daisuke 0909daiki09
プチコン初心者です。 今まで3つのリンゴのうちの1つのリンゴが落ち終わった時に3つのリンゴをランダムで落とすようにしていたので 今度は3つのリンゴが落ち終わった時にまた新しくランダムで3つのリンゴを落とすように SPCHK(1) から SPCHK(i)にしたら エラーになってしまいました…親切な方教えて下さい…
2そうだね
プレイ済み
返信[1]
親投稿
そういう時はRPINT IとしてIの中身を表示してみるといいですよ。そしてIが想定外の数字だとしたらなんでその数字になっているのかを調べたり考えてみたり、流れがおかしくないか考え方が間違っていないかを確認してみるといいと思います。
0そうだね
プレイ済み
返信[2]
親投稿
Daisuke 0909daiki09
でんぺんさん»PRINTで変数の中身を調べられるんですね!そんな方法がありましたか!
0そうだね
プレイ済み
返信[3]
親投稿
Daisuke 0909daiki09
中身を調べてここに組めばいいかなと思った所にSPCHKを置いたんですが、エラーになってしまいました…
0そうだね
プレイ済み
返信[4]
親投稿
Daisuke 0909daiki09
これがエラーの種類です…
0そうだね
プレイ済み
返信[5]
親投稿
ループでチェックすればいいというのに気づいたのは良かったんですが、そこに入れる感じだとおかしくなりますね〜。 その場所はリンゴを3つランダムな位置に表示して動かすための処理なので、そこに入れても希望のタイミングにならないですし、そもそもとして表示前に処理が通っておかしくなると思いますよ。 今までSPCHK(1)で動いていたなら、その場所で1〜3の3つ調べる形にしないと流れ的におかしくなってしまいますよ。
0そうだね
プレイ済み
返信[6]
親投稿
Daisuke 0909daiki09
でんぺんさん»表示前のさらに前のラベルに飛ぶ所でリンゴを表示させるかさせないかの処理をすればいいということですね?
0そうだね
プレイ済み
返信[7]
親投稿
Daisuke 0909daiki09
後、今更気になったんですが、SPCHKで複数のリンゴをチェックするにはどうすればいいんですか?
0そうだね
プレイ済み
返信[8]
親投稿
とりあえず3つ調べる一例だけ書いてみます(このやり方が絶対というわけじゃないし他のやり方もあります) SPCHKは1つを調べる事しか出来ないので複数調べるには何回も書くかループを使うことになります。 汎用的なのはループなので一例を書くと、 C=0 FOR I=1 TO 3 IF SPCHK(I) != 0 THEN C=C+1 NEXT こう書くとCには動いているリンゴの数が入ります。なので、全てのリンゴが落ちた(止まった)時に何か処理をしたい場合は、その後に、 IF C==0 THEN 〜 みたいに書けばいい事になります。 一応そんな感じですが、たぶん他にも色々と調整しないといけない部分が出てくると思うので、流れを見ながら考えてみてください〜
0そうだね
プレイ済み
返信[9]
親投稿
Daisuke 0909daiki09
でんぺんさんありがとうございます!でんぺんさんのアドバイスのおかげで出来ました! でんぺんさんの C=C+1 IF C==0 THEN… のやり方は初心者の僕が使うと頭がこんがらがってしまったので使いませんでした…
0そうだね
プレイ済み
返信[10]
親投稿
僕のやり方は予めチェックして数を変数Cにカウントしておいて後で判定に使うというやり方なだけで基本は同じですよ〜。すぐでなくてもいいのでやり方は覚えておくと後で役に立つときが来るかもです。 何にしてもうまく出来たようなので良かったです。 やり方は自由ですし、まずは動くのが大事だと思いますから、これからも頑張って覚えていってください〜。
0そうだね
プレイ済み
返信[11]
親投稿
Daisuke 0909daiki09
でんぺんさんありがとうございます!
0そうだね
プレイ済み