sc=0 ;スコア
ball_z=0
*main
stick key
if key&256{
//クリックされた瞬間
sc++
}
if sc=10:ball_z+1
redraw 0
color 255,255,255:boxf:color:pos 0,0
mes "クリックするとスコアが1増えます"
mes "スコア:"+sc
mes "ball_z:"+ball_z
redraw 1
await 30
goto *main
おそらくプログラムはこんな感じになっているのだろうと推測します。
スコアを増やしていくと、スコアが10である間ずっとball_zが増え続けます。
ゲームなどではこのようにループを使用しますが、このような判定の仕方だと、ループが1回行われるたびに
if sc=10:ball_z+1
の行を通るので結果的にスコアが10である間ball_zが増え続けます。
> どうしたらスコアが10ずつ上がるときにball__zは一つ足されていくでしょうか?
とありますが、minさんがおっしゃった通り、「スコアが上がるとき」にball_zを足すかどうかの判定を行えばよいのです。即ち、この例の場合
if key&256{
//クリックされた瞬間
sc++
if sc=10:ball_z+1
}
というようにします。