Exemplo n.º 1
0
        /// <summary> Deletes a team from the data & removes it from any queue or tournament
        /// </summary>
        /// <param name="t">The team that you wish to delete</param>
        /// <returns>String of thee report</returns>
        public string deleteTeam(Team t)
        {
            if (teams.Contains(t))
            {
                //remove from the queue if its there
                if (QueuedTeams.Contains(t))
                {
                    Queue <Team> temp = new Queue <Team>();// = inQ;
                    for (int i = 0; i < QueuedTeams.Count; i++)
                    {
                        Team deq = QueuedTeams.Dequeue();
                        if (deq != t)
                        {
                            temp.Enqueue(deq);
                        }
                    }
                    QueuedTeams = temp;
                }
                //remove it from the tournament
                for (int i = 0; i < InTourney.Length; i++)
                {
                    if (InTourney[i] == t)
                    {
                        InTourney[i] = null;
                    }
                }
                //if its a winner or challenger:
                if (Winner == t)
                {
                    Winner     = Challenger;
                    Challenger = (QueuedTeams.Count != 0) ? QueuedTeams.Dequeue() : null;
                }
                else if (Challenger == t)
                {
                    Challenger = (QueuedTeams.Count != 0) ? QueuedTeams.Dequeue() : null;
                }

                //finally remove it for good
                teams.Remove(t);
                return("Removed " + t);
            }
            else
            {
                return("Remove failed! " + t + " Does not exist");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Removes a team from the queue
        /// </summary>
        /// <param name="pos">index of the team in queue</param>
        public void removeFromQueue(int pos)
        {
            Queue <Team> tempQueue = new Queue <Team>();

            int a = QueuedTeams.Count;

            for (int i = 0; i < a; i++)
            {
                if (i != pos)
                {
                    tempQueue.Enqueue(QueuedTeams.Dequeue());
                }
                else
                {
                    QueuedTeams.Dequeue();
                }
            }
            QueuedTeams = tempQueue;
        }