void MoveAction() throws IOException{
		
		char direction_choice = GetActionInput() ;
		int newx = this.position.GetX();
		int newy = this.position.GetY();
		boolean moved = false;
		
		while (!moved){		
		System.out.println("Please choose your movement direction. Enter :");
		System.out.println("W to go north (up)");
		System.out.println("S to go south (down)");
		System.out.println("A to go west (left)");
		System.out.println("D to go east (right)");
		System.out.println("Q to cancel movement");
		Position new_position = new Position(newx,newy);
			switch (direction_choice){
			case 'q' :
			case 'Q' : break;
			case 'w' :
			case 'W' :  new_position.SetPosition(newx-1, newy);
						moved = Move(new_position);					
						break;
			case 's' :
			case 'S' :  new_position.SetPosition(newx+1,newy);
						moved = Move(new_position);					
						break;
			case 'a' :
			case 'A' :  new_position.SetPosition(newx,newy-1);
						moved = Move(new_position);					
						break;
			case 'd' :
			case 'D' :  new_position.SetPosition(newx,newy+1);
						moved = Move(new_position);					
						break;						
			default  :  System.out.println("This is not allowed. Please enter : ");
						System.out.println("W to go north (up)");
						System.out.println("S to go south (down)");
						System.out.println("A to go west (left)");
						System.out.println("D to go east (right)");
						System.out.println("Q to cancel movement");						
						direction_choice = this.GetActionInput();
			}
		}
		
		if (moved) {
			this.DcrMovement_points();
		}
		return;

		
		
		
	}