public IRound <T, U> Next() { GroupRound <T, U> nextRound = new GroupRound <T, U>(this); T one = nextRound._firstPlayers.First.Value; nextRound._firstPlayers.RemoveFirst(); nextRound.TurnClockwise(); nextRound._firstPlayers.AddFirst(one); return(nextRound); }
private GroupRound(GroupRound <T, U> groupRound) { Count = groupRound.Count; _firstPlayers = new LinkedList <T>(groupRound._firstPlayers); _secondPlayers = new LinkedList <T>(groupRound._secondPlayers); }