何処が考えと違うのかは判らないけど、 ぱっと見、BUTTON()使ってるループ中に VSYNC か、または WAIT が無い。 これは余計なバグを作らないため必ず入れて下さい。 理由は、BUTTON()は 1フレーム(1/60秒)に1回しか更新されないからです。 一瞬だけボタンを押したつもりでも、SmileBASICはそれより可成り早く動作するため、ループを何十回も廻って、ボタンを押した時の処理を行ってしまうのです。 これはほぼバグになります。