Package web.servlets

Source Code of web.servlets.MovePlayer

package web.servlets;

import javax.servlet.http.HttpServletRequest;

import org.scotlandyard.engine.Game;
import org.scotlandyard.engine.GameException;
import org.scotlandyard.engine.Player;
import org.scotlandyard.engine.Token;
import org.scotlandyard.engine.constants.TransportationMethod;
import org.scotlandyard.engine.json.JsonFactory;
import org.scotlandyard.impl.engine.GameEngine;

public class MovePlayer extends AbstractServlet implements IRequestProcessor {

  @Override
  public Object getOutput(HttpServletRequest request, GameEngine engine)
      throws Exception {

    final String playerEmail = engine.getUsers().get(getSessionId()).getEmail();
    final String gameId=request.getParameter("gameId");
    final String positionReg=request.getParameter("positionReq");
    final String transportationMethod=request.getParameter("transportationMethod");

    final Game game = engine.getLobby().getGame(gameId);

    if(game.isPlayable()==false){
      throw new GameException("the game is still not playable.");
    }

    String position = game.getPlayerPosition(playerEmail);
    Player player=game.getPlayer(playerEmail);

    Token token = player.getTokens(game.getIdentifier())
      .get(TransportationMethod.valueOf(transportationMethod));

    token.consumeTicket();

    player.useTokenToMove(game.getIdentifier(), token, positionReg);


    return JsonFactory.toJson(position);
  }

  @Override
  public void validateRequest(HttpServletRequest request, GameEngine engine)
      throws Exception {
  }

}
TOP

Related Classes of web.servlets.MovePlayer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.