あと動きですが、 これはクリボーの動きだと思いますが、スプライト番号で判定するよりも、座標のように配列を持って、1がマリオ、2がクリボー・・・というように区分を持たせた方がいいかも。 上のプログラムでIを1から振ろうとされていますが、結局23から振られてしまって動かないと思いますが、こういう不具合が起きるにくくなると思います。