implement 5 types of move in GameLogic