不完全ですけど、とりあえず修正してみるなら、 2行あるIFを1行にする。 そのTHENのあとでXとYの両方を戻す。(X=P_P:Y=O_O) でどうですか? 今だとXだけを戻してから再度判定しているせいでおかしくなってそうです。