public void UpdateDB(EndGameModel model) { var game = _context.Games.Where(x => x.GameID == model.GameId).FirstOrDefault(); Player playerOne = null; Player playerTwo = null; if (game != null) { game.PlayerOneScore = model.PlayerOneScore; game.PlayerTwoScore = model.PlayerTwoScore; if (game.PlayerOne != null) { playerOne = _context.Players.FirstOrDefault(x => x.PlayerId == game.PlayerOne.PlayerId); } if (game.PlayerTwo != null) { playerTwo = _context.Players.FirstOrDefault(x => x.PlayerId == game.PlayerTwo.PlayerId); } if (playerOne != null && playerTwo != null) { if (model.PlayerOneScore > model.PlayerTwoScore) { playerOne.Win++; playerTwo.Lose++; } else { playerTwo.Win++; playerOne.Lose++; } } _context.SaveChanges(); } }
public ActionResult EndGame(EndGameModel model) { //UPDATE DB var pongRepo = new PongRepo(); var resultGameModel = new ResultGameModel(); if (model.GameId != -1) { pongRepo.UpdateDB(model); var finishedModel = pongRepo.GetLastGame(); resultGameModel.FinishedGame = finishedModel; } var statisticsModel = pongRepo.GetStatistics(); resultGameModel.StatisticsGame = statisticsModel; return(PartialView("EndGame", resultGameModel)); }
public ActionResult EndGame(EndGameModel endGame) { ViewBag.Player = endGame.Nickname; ViewBag.RoomID = endGame.RoomId; GameModel game = GameManagerModel.GetInstance().GetGame(endGame.RoomId); PlayerModel thisPlayer = game.GetPlayer(endGame.Nickname); PlayerModel winner = game.GetWinner(); if (thisPlayer.NickName.Equals(winner.NickName)) { ViewBag.MostLikely = "You won!"; } else { ViewBag.MostLikely = "The winner is " + winner.NickName + "!"; } ViewBag.MostPoints = "with " + winner.Points; return(View()); }
public void ShowWinners(EndGameModel endGameModel) { mainWindow.FillWiningGrid(endGameModel); mainWindow.ShowWinningGrid(); }
public void ShowWinners(EndGameModel endGameModel) { DrawHandler.GetInstance().ShowWinners(endGameModel); }
public void FillWiningGrid(EndGameModel endGameModel) { int counter = 1; Dictionary <string, int> sortedDictionary = endGameModel.Winners.OrderByDescending(x => x.Value).ToDictionary(x => x.Key, x => x.Value); foreach (KeyValuePair <string, int> item in sortedDictionary) { Application.Current.Dispatcher.Invoke(new Action(() => { switch (counter) { case 1: lblFirst.Content = string.Format("1st: {0} {1} points", item.Key, item.Value); break; case 2: lblSecond.Content = string.Format("2nd: {0} {1} points", item.Key, item.Value); break; case 3: lblThid.Content = string.Format("3rd: {0} {1} points", item.Key, item.Value); break; case 4: lblFourth.Content = string.Format("4rt: {0} {1} points", item.Key, item.Value); break; case 5: lblFifth.Content = string.Format("5th: {0} {1} points", item.Key, item.Value); break; case 6: lblSixth.Content = string.Format("6th: {0} {1} points", item.Key, item.Value); break; case 7: lblSeventh.Content = string.Format("7th: {0} {1} points", item.Key, item.Value); break; case 8: lblEigth.Content = string.Format("8th: {0} {1} points", item.Key, item.Value); break; default: break; } counter++; })); } if (counter < 8) { for (int i = counter; i <= 8; i++) { Application.Current.Dispatcher.Invoke(new Action(() => { switch (i) { case 1: lblFirst.Content = ""; break; case 2: lblSecond.Content = ""; break; case 3: lblThid.Content = ""; break; case 4: lblFourth.Content = ""; break; case 5: lblFifth.Content = ""; break; case 6: lblSixth.Content = ""; break; case 7: lblSeventh.Content = ""; break; case 8: lblEigth.Content = ""; break; default: break; } })); } } }
/// <summary> /// Handle thie incoming message, destination from: ReadMessage(); /// </summary> /// <param name="stringMessage"></param> private void HandleMessage(string stringMessage) { Message message = JsonConvert.DeserializeObject <Message>(stringMessage); switch (message.Type) { case MessageTypes.Inform: GuessModel guessModel = JsonConvert.DeserializeObject <GuessModel>(message.Data); DrawHandler.GetInstance().WriteMessage(guessModel.Word); break; case MessageTypes.SendDrawing: DrawPoint drawPoint = JsonConvert.DeserializeObject <DrawPoint>(message.Data); DrawHandler.GetInstance().DrawLine(drawPoint); break; case MessageTypes.NewDrawer: DrawHandler.GetInstance().CheckDrawer(JsonConvert.DeserializeObject <ClientModel>(message.Data)); break; case MessageTypes.NewHost: ClientHandler.GetInstance().SetHost(JsonConvert.DeserializeObject <ClientModel>(message.Data)); break; case MessageTypes.JoinRoom: RoomModel room = JsonConvert.DeserializeObject <RoomModel>(message.Data); ClientHandler.GetInstance().SetRoomname(room.Name); ClientHandler.GetInstance().SetRoomSize(room.AmountOfPlayers); break; case MessageTypes.StartGame: GameModel gameModel = JsonConvert.DeserializeObject <GameModel>(message.Data); ClientHandler.GetInstance().SetWordSize(gameModel.LengthOfWord); ClientHandler.GetInstance().SetRoundLabel(gameModel.CurrentRound); DrawHandler.GetInstance().HideHostGrid(); DrawHandler.GetInstance().HideWinners(); break; case MessageTypes.EndGame: EndGameModel endGameModel = JsonConvert.DeserializeObject <EndGameModel>(message.Data); ClientHandler.GetInstance().ShowWinners(endGameModel); ClientHandler.GetInstance().EndGame(); break; case MessageTypes.GuessWord: ClientHandler.GetInstance().SetWord(JsonConvert.DeserializeObject <GuessModel>(message.Data).Word); break; case MessageTypes.NewRound: gameModel = JsonConvert.DeserializeObject <GameModel>(message.Data); ClientHandler.GetInstance().SetWordSize(gameModel.LengthOfWord); ClientHandler.GetInstance().SetRoundLabel(gameModel.CurrentRound); DrawHandler.GetInstance().ClearCanvas(); break; case MessageTypes.UsernameCheck: bool validName = JsonConvert.DeserializeObject <ClientModel>(message.Data).ValidName; ClientHandler.GetInstance().CheckUsername(validName); break; case MessageTypes.Ping: this.sendMessage(new Message(MessageTypes.Pong, "")); break; default: break; } }