private void AdicionaPagarAluguel(IPlayerGameState playerState, Jogada jogada) { var propriedade = _gameState.Propriedades[playerState.PosiçãoAtual]; if (propriedade.TemDono && propriedade.Dono != playerState.Player) { jogada.AçõesPossíveis.Add(Ação.PagarAluguel); } }
private void AdicionaComprar(IPlayerGameState playerState, Jogada jogada) { var propriedade = _gameState.Propriedades[playerState.PosiçãoAtual]; if (!propriedade.TemDono && propriedade.ValorDeVenda <= playerState.Carteira.Coins) { jogada.AçõesPossíveis.Add(Ação.Comprar); } }
private void AdicionaPassar(IPlayerGameState playerState, Jogada jogada) { var propriedade = _gameState.Propriedades[playerState.PosiçãoAtual]; if ((propriedade.TemDono && propriedade.Dono == playerState.Player) || !propriedade.TemDono) { jogada.AçõesPossíveis.Add(Ação.Passar); } }
private IJogada CriarJogada(IPlayerGameState playerState, int dado) { var jogada = new Jogada() { Dado = dado, Propriedade = _gameState.Propriedades[playerState.PosiçãoAtual], Saldo = playerState.Carteira.Coins, AçõesPossíveis = new List <Ação>() }; var propriedade = _gameState.Propriedades[playerState.PosiçãoAtual]; AdicionaPassar(playerState, jogada); AdicionaComprar(playerState, jogada); AdicionaPagarAluguel(playerState, jogada); return(jogada); }