Работа со списком List<> - C#
Формулировка задачи:
Здравствуйте! Есть задание реализовать футбольный матч. Есть класс с именем и возрастом игрока
Есть класс в котором в зависимости от возраста игрока генерируется его уровень игры
Помогите сделать класс Team реализующий список добавленных игроков в основной программе посредством List<Player>, что бы можно было суммировать их командный уровень игры а потом сравнить для определения результата, а то я чет совсем запутался.
Пока что он у меня может только выводить уровень игры команды, да и то сравнить две команды не удается
Вот тут есть еще класс Game
ну и основная программа
namespace FoothballGame { abstract class Person { protected string abstractName; protected int abstractAge; } }
class Player:Person { int lvl; public Player(string name, int age) { abstractName = name; abstractAge = age; } public int Player_LVL() { Random r=new Random(); for (int i = 0; i < 5; i++) if (abstractAge < 30) lvl = r.Next(20, 70); else lvl = r.Next(30, 50); return lvl; } public string Name{get { return abstractName;}} public int Age {get { return abstractAge;}} }
class Team { public int getTeamLvl(List<Player> players) { int lvl = 0; foreach (Player pl in players) { lvl += pl.Player_LVL(); } return lvl; } }
class Game { public string Winner(int firstTeam, int secondTeam) { if (firstTeam > secondTeam) return "Победил Шахтер!"; else return "Металист чемпион!"; } }
class Program { static void Main(string[] args) { List<Player>sostav1=new List<Player>(); List<Player> sostav2 = new List<Player>(); Team masterLevel = new Team(); Console.WriteLine("Шахтер"); sostav1.Add(new Player("Shevchenko", 32)); sostav1.Add(new Player("Voronin", 29)); foreach (Player player in sostav1) { Console.Write(player.Name + " "); Console.Write(player.Age + " "); Console.WriteLine("Rank playing: " + player.Player_LVL()); } Console.WriteLine("Уровень игры первой команды "+masterLevel.getTeamLvl(sostav1)); Console.WriteLine(); Console.ReadKey(); Console.WriteLine("Металист"); sostav2.Add(new Player("Petrenko", 25)); sostav2.Add(new Player("Ivanov", 33)); foreach (Player player in sostav2) { Console.Write(player.Name + " "); Console.Write(player.Age + " "); Console.WriteLine("Rank playing: " + player.Player_LVL()); } Console.WriteLine("Уровень игры второй команды " + masterLevel.getTeamLvl(sostav2)); Console.ReadKey(); Game rezult = new Game(); Console.WriteLine(rezult.Winner(masterLevel.getTeamLvl(sostav1), masterLevel.getTeamLvl(sostav2))); Console.ReadKey(); }
Решение задачи: «Работа со списком List<>»
textual
Листинг программы
class Team { string team_name; string trainerName; List<Player> Players=new List<Player>(); int team_level; Trainer trainer; public Team(string team_name, string trainername, List<Player>players) { trainerName = trainername; trainer=new Trainer(trainername); this.team_name = team_name; Players = players; int i = 0; Console.WriteLine("Team "+Team_name); foreach (Player player in players) { i++; Console.Write(i+". "+player.Name + " Age: "+player.Age+"\n Personal level: "+player.Player_LVL()); Console.WriteLine(); team_level+= player.Player_LVL(); } Console.WriteLine("Their treaner is: "+trainer.TrainerName+"He is "+trainer.Trainer_Age()+". Hes expirience in trainning costs: "+trainer.TrainLevel()); team_level *= trainer.TrainLevel(); Thread.Sleep(100); } public int Team_level {get { return team_level;}} public string Team_name { get { return team_name; } } public string TrainerName {get { return trainerName; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д