とりあえずSPHITSPの使い方が間違っています。落ち着いて、上の説明を読んでください( ´ ω ` ) SPHITSPは「指定したSPと当たっているSPの番号を教えてくれる」ものなので、「指定したSPと、指定したもうひとつのSPが当たっているかどうかを教えてくれる」ものではありません。 設置する場所もおかしいです。プログラムは基本的に上から下に向かって動くので、その位置だと武器が出ていないときに当たり判定を取っていることになってしまいます。なので、武器と敵が当たりそうなところ、具体的にはメインループの中に移します。 また、それをそのまま正しい位置に移してもIFを使っていないので、SPHITSPの結果に関係なく敵が消えてしまいます(・ω・)