public JsonResult Delete(int gameId, int playerId) { LudoGame game = _games.GetOrCreateGame(gameId); //tar ut den spelaren som har just detta id Player player = game.GetPlayers().Single(m => m.PlayerId == playerId); game.DeletePlayer(player); return(new JsonResult(game.GetPlayers())); }
public JsonResult Get(int gameId, int playerId) { LudoGame game = _games.GetOrCreateGame(gameId); //tar ut den spelaren som har just detta id, player blir då ett objekt Player player = game.GetPlayers().Single(m => m.PlayerId == playerId); //gö om detta till en JSON return(new JsonResult(player)); }
public JsonResult Get(int id) { // hämtar spelet där spelaren skall skapas LudoGame game = _games.GetOrCreateGame(id); // hämta alla spelare i spelet Player[] players = game.GetPlayers(); // retunera all spelare i JSON format return(new JsonResult(players)); }
public JsonResult Get(int gameId) { LudoGame game = _games.GetOrCreateGame(gameId); return(new JsonResult(new { gameId, currentPlayer = game.GetCurrentPlayer(), players = game.GetPlayers(), pieces = game.GetAllPiecesInGame() })); }
public JsonResult Put(int gameId, int playerId, int color, string name) { //hämtat ett spel som har de Id LudoGame game = _games.GetOrCreateGame(gameId); //tar ut den spelaren som har just detta id, player blir då ett objekt Player player = game.GetPlayers().Single(m => m.PlayerId == playerId); player.PlayerColor = (PlayerColor)color; player.Name = name; return(new JsonResult(player)); }
public GameModel Get(int gameId) { LudoGame game = _games[gameId]; int numberOfPlayers = game.GetPlayers().Count(); var currentPlayer = game.GetCurrentPlayer(); return(new GameModel() { GameId = gameId, CurrentPlayerId = currentPlayer == null ? 0 : currentPlayer.PlayerId, NumberOfPlayers = numberOfPlayers, State = game.GetGameState().ToString() }); }
public ActionResult Post(int id, string name, int color) { // hämtar spelet där spelaren skall skapas LudoGame game = _games.GetOrCreateGame(id); //kontroller så att alla spelare har unika färger if (game.GetPlayers().Where(p => (int)p.PlayerColor == color).Count() > 0) { //BadRequest = en felaktig för frågan. BadRequest är en http standard fel. return(BadRequest($"Unable to add player because color is already used")); } // lägg till en ny spelare till spelet Player player = game.AddPlayer(name, (PlayerColor)color); // retunera den nya spelaren return(new JsonResult(player)); }
public ActionResult Put(int gameId) { LudoGame game = _games.GetOrCreateGame(gameId); if (game.GetGameState() == GameState.Ended) { // Retunera spelaren vann return(new JsonResult( new { winner = game.GetWinner() })); } // kontrollera att spelet har startat första gången någon flyttar en pjäs, annars starta spelet först if (game.GetGameState() == GameState.NotStarted) { //Skickar fel tillbaka om det är för få spelare if (game.GetPlayers().Count() < 2) { return(BadRequest($"Can not start game, minimum 2 players")); } game.StartGame(); } // Hämta nuvarande spelare Player player = game.GetCurrentPlayer(); // Kasta tärningen int diece = game.RollDiece(); // hämta första pjäsen från spelaren som är på målsträckan Piece piece = player.Pieces.FirstOrDefault(m => m.State == PieceGameState.GoalPath); // om ingen pjäs är på målsträckan, ta en som är på spel planen istället if (piece == null) { piece = player.Pieces.FirstOrDefault(m => m.State == PieceGameState.InGame); } // om ingen pjäs är på spelplanen, ta en från boet if (piece == null) { piece = player.Pieces.FirstOrDefault(m => m.State == PieceGameState.HomeArea); } // vi har en pjäs som spelaren kan flytta if (piece != null) { game.MovePiece(player, piece.PieceId, diece); } // Avsluta spelarens tur, om hen slår sex, får de spela om if (diece != 6) { game.EndTurn(player); } // kontrollera om någon vunnit eller ej if (game.GetGameState() != GameState.Ended) { // Retunera spelaren som spelade, så man kan se pjäsen flyttat på sig return(new JsonResult( new { diece, piece, player })); } else { // Retunera spelaren vann return(new JsonResult( new { winner = game.GetWinner() })); } }