add magic animation and organize battle code

call finish() when start new intent