public dynamic GetCurrentGameData(bool detailed = false) { var currentPlay = m_Game.GetLastPlay(); var lastTurnPlay = m_Game.GetLastTurnPlay(); var lastTurnPlayerName = m_Game.GetLastTurnPlayerName(); var simpleHistory = lastTurnPlayerName + "="; if (lastTurnPlay != null && lastTurnPlay.Count > 0) { simpleHistory += BigTwoLogic.ToString(lastTurnPlay); } var data = new { play = currentPlay != null && currentPlay.Count > 0 ? BigTwoLogic.ToString(currentPlay) : "", history = simpleHistory, last = m_Game.GetLastPlayerName(), current = m_Game.GetCurrentTurnPlayerName(), state = m_Game.GetGameState(), turns = m_Game.GetCurrentTurns(), players = new List <string>(), scores = new List <int>(), cards = new List <string>(), }; var gamePlayers = m_Game.GetPlayers(); foreach (var gamePlayer in gamePlayers) { data.players.Add(gamePlayer.PlayerName); data.scores.Add(gamePlayer.GameScore); if (detailed) { data.cards.Add(BigTwoLogic.EncodeCards(gamePlayer.CurrentHand.GetCards())); } else { data.cards.Add(gamePlayer.CurrentHand.GetNumberOfCards().ToString()); } } return(data); }
private void UpdateGameDisplay() { btnPlayerA.Enabled = false; btnPlayerB.Enabled = false; btnPlayerC.Enabled = false; btnPlay.Enabled = false; var currentPlayer = m_Game.GetCurrentTurnPlayerName(); var lastPlayer = m_Game.GetLastPlayerName(); var players = m_Game.GetPlayers(); foreach (var player in players) { if (player.PlayerName == "You") { if (player.CurrentHand == null) { LoadCardImages(null); } else { LoadCardImages(player.CurrentHand.GetCards()); } btnPlay.Enabled = (currentPlayer == player.PlayerName); btnPass.Enabled = lastPlayer == currentPlayer ? false : btnPlay.Enabled; btnGive.Enabled = btnPlay.Enabled || btnPass.Enabled; } else if (player.PlayerName == "PlayerA") { lblPlayerA.Text = "[ ? ]"; if (player.CurrentHand != null) { lblPlayerA.Text = "[ " + player.CurrentHand.GetNumberOfCards() + " ]"; var cards = HandToString(player.CurrentHand.GetCards()); lbHandA.Items.Clear(); lbHandA.Items.AddRange(cards.Split(',')); } btnPlayerA.Enabled = (currentPlayer == player.PlayerName); } else if (player.PlayerName == "PlayerB") { lblPlayerB.Text = "[ ? ]"; if (player.CurrentHand != null) { lblPlayerB.Text = "[ " + player.CurrentHand.GetNumberOfCards() + " ]"; var cards = HandToString(player.CurrentHand.GetCards()); edtHandB.Text = cards; } btnPlayerB.Enabled = (currentPlayer == player.PlayerName); } else if (player.PlayerName == "PlayerC") { lblPlayerC.Text = "[ ? ]"; if (player.CurrentHand != null) { lblPlayerC.Text = "[ " + player.CurrentHand.GetNumberOfCards() + " ]"; var cards = HandToString(player.CurrentHand.GetCards()); lbHandC.Items.Clear(); lbHandC.Items.AddRange(cards.Split(',')); } btnPlayerC.Enabled = (currentPlayer == player.PlayerName); } } }