Tidy up the code and add sound, but there're some little bugs did't fix yet.