public void AddTeamPlayer(int teamId, TeamPlayer teamPlayer)
 {
     TeamPlayer currentTeamPlayer = teamPlayerStorage.GetPlayerByName(teamPlayer.Name, teamId);
     if (currentTeamPlayer != null)
         throw  new Exception("Такой футболист уже есть");
     teamPlayerStorage.AddPlayer(teamPlayer);
 }
예제 #2
0
 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();
 }
예제 #6
0
 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;
 }