すみません、以下のスクリプトで、当たり判定がうまくいきません。
なぜでしょうか?
そして、当たり判定がうまくいったら
とった文字ごとのスコアを加算するシステムをつけようと思います。
例えば、「あ」をとったら5点、「い」をとったら4点、という感じです。
いろいろ試してみましたが、どうもうまいこと点数を振り分けられないです。どうやったらいいか教えてください。
randomize dim x,10 //落下物x座標用配列 dim y,10 //落下物y座標用配列 dim fall,10 //落下物種類用 repeat 10 //落下物初期位置をランダムに決定 x(cnt) = rnd(436) //画面内に収まるように y(cnt) = -rnd(500) fall(cnt) = rnd(5)+1 //落下物を指定 loop repeat redraw 0 color 255,255,255 : boxf : color gosub *main gosub *PersonDraw redraw 1 await 30 loop *main repeat 5 if y(cnt) > 480 : fall(cnt) = 0 //画面外のとき落下物クリア if fall(cnt) > 0 { //落下物が指定されていたら y(cnt)+5 //落下物のy座標を下げる pos x(cnt),y(cnt) if fall(cnt) = 1 : mes "あ" if fall(cnt) = 2 : mes "い" if fall(cnt) = 3 : mes "う" if fall(cnt) = 4 : mes "え" if fall(cnt) = 5 : mes "お" if (x(cnt)>PersonX) & (x(cnt)<PersonX+20) & (y(cnt)>PersonY) & (y(cnt)+10<PersonY+20){//落下物が人に当たっているとき fall(cnt) = 0//落下物クリア } }else{ if fall(cnt)=0 { //落下物セット fall(cnt) = rnd(4)+1 x(cnt)=rnd(436) //座標をランダムに y(cnt)=-rnd(500) } } loop return *PersonDraw getkey key,37 getkey key2,39 PersonX = limit(PersonX,20,620) //人の移動可能範囲 if (key2 == 1) : PersonX+=6 //右カーソルキー押下時x座標右に if (key == 1) : PersonX-=6 //左カーソルキー押下時x座標左に font "メイリオ",20,1 color 0,0,255 pos PersonX,360 : mes "人" return