public void AddTeamPlayer(int teamId, TeamPlayer teamPlayer) { TeamPlayer currentTeamPlayer = teamPlayerStorage.GetPlayerByName(teamPlayer.Name, teamId); if (currentTeamPlayer != null) throw new Exception("Такой футболист уже есть"); teamPlayerStorage.AddPlayer(teamPlayer); }
public void BuyPlayer(int playerId, int teamId) { Player player = playerStorage.GetPlayerById(playerId); TeamDataLogic teamDataLogic = new TeamDataLogic(); TeamData teamData = teamDataLogic.GetTeamData(teamId); int playersNumber = teamData.PlayersNumber; if (playersNumber == 11) throw new Exception("Команда полностью укомплектована"); TeamPlayerLogic teamPlayerLogic = new TeamPlayerLogic(); int budget = teamData.Budget; if (budget < player.Price) throw new Exception("Недостаточно денежных средств"); TeamPlayer teamPlayer = new TeamPlayer { Age = player.Age, Name = player.Name, Position = player.Position, Atack = player.Atack, Defence = player.Defence, Price = player.Price, TeamId = teamId, Number = playersNumber + 1 }; teamPlayerLogic.AddTeamPlayer(teamId, teamPlayer); teamDataLogic.UpdateBudget(budget - player.Price, teamId); teamDataLogic.UpdatePlayerNumber(teamId); }
public void UpdatePlayer(int playerId, TeamPlayer teamPlayer) { TeamPlayer currentTeamPlayer = GetPlayerById(playerId); currentTeamPlayer = teamPlayer; currentContext.SaveChanges(); }
public void DeletePlayer(TeamPlayer teamPlayer) { currentContext.TeamPlayers.Remove(teamPlayer); currentContext.SaveChanges(); }
public void AddPlayer(TeamPlayer teamPlayer) { currentContext.TeamPlayers.Add(teamPlayer); currentContext.SaveChanges(); }
public bool IsBlocked(int attackTeamId, int defTeamId, out TeamPlayer striker) { striker = SelectStriker(attackTeamId); if (striker == null) return true; int strikerAttack = striker.Atack; double averageDefence = CountAverageDefence(defTeamId); double blockProbability; if (strikerAttack >= averageDefence) blockProbability = 0.75; else blockProbability = 0.75 + (averageDefence - strikerAttack) / 100; if (blockProbability >= 1) blockProbability = 0.99; double index = GetRandomValue(); if (index < blockProbability) return true; return false; }