Ejemplo n.º 1
0
        public MainForm()
        {
            mClassList = new Dictionary<string, Student>();
            mGroupList = new Dictionary<int, Group>();
            mListWildCard = new List<Student>();
            mListProgrammers = new List<Student>();
            mListArtists = new List<Student>();
            mListDesigners = new List<Student>();
            mNumberOfStudents = 0;
            mNumberOfGroups = 0;
            mExtraStudents = 0;
            mGroupSize = 0;
            mGroupSizeSet = false;
            mVoteServer = new Server();
            mMrRandom = new Random();

            mDelegateFillGroup = FillSecondary;

            InitializeComponent();
        }
Ejemplo n.º 2
0
        public MainForm()
        {
            mClassList        = new Dictionary <string, Student>();
            mGroupList        = new Dictionary <int, Group>();
            mListWildCard     = new List <Student>();
            mListProgrammers  = new List <Student>();
            mListArtists      = new List <Student>();
            mListDesigners    = new List <Student>();
            mNumberOfStudents = 0;
            mNumberOfGroups   = 0;
            mExtraStudents    = 0;
            mGroupSize        = 0;
            mGroupSizeSet     = false;
            mVoteServer       = new Server();
            mMrRandom         = new Random();

            mDelegateFillGroup = FillSecondary;

            InitializeComponent();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Creates random groups based on skill pools
        /// </summary>
        public void CreateGroups()
        {
            Dictionary<string, Student> CopyClassList = new Dictionary<string, Student>();
            CopyClassList = mClassList;

            // adds the students to the lists based on preference
            foreach (Student i in mClassList.Values)
            {
                if (i.FirstChoice == Job.WildCard)
                {
                    mListWildCard.Add(i);
                }
                else if (i.FirstChoice == Job.Programming)
                {
                    mListProgrammers.Add(i);
                }
                else if (i.FirstChoice == Job.Art)
                {
                    mListArtists.Add(i);
                }
                else if (i.FirstChoice == Job.Design)
                {
                    mListDesigners.Add(i);
                }
            }

            #region Fill The Groups

            int JobCounter = 3;

            // used to point at the necessary fill function
            mDelegateFillGroup = FillSecondary;

            // fill groups based on primary choice, then fill secondary, then tertiary
            for (int i = 0; i < JobCounter; i++)
            {
                if (FillGroups(mListProgrammers, NUMBER_PROGRAMMERS) == GroupFillResult.NotEmpty)
                {
                    mDelegateFillGroup(mListProgrammers);
                }

                if (FillGroups(mListArtists, NUMBER_ARTISTS) == GroupFillResult.NotEmpty)
                {
                    mDelegateFillGroup(mListArtists);
                }

                if (FillGroups(mListDesigners, NUMBER_DESIGNERS) == GroupFillResult.NotEmpty)
                {
                    mDelegateFillGroup(mListDesigners);
                }

                switch (i)
                {
                    case 0:
                        mDelegateFillGroup = FillTertiary;
                        break;

                    case 1:
                        mDelegateFillGroup = FillWildCard;
                        break;
                }
            }

            // distribute wildcards
            if (mListWildCard.Count > 0)
            {
                FillGroups(mListWildCard, mListWildCard.Count);
            }

            #endregion
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates random groups based on skill pools
        /// </summary>
        public void CreateGroups()
        {
            Dictionary <string, Student> CopyClassList = new Dictionary <string, Student>();

            CopyClassList = mClassList;

            // adds the students to the lists based on preference
            foreach (Student i in mClassList.Values)
            {
                if (i.FirstChoice == Job.WildCard)
                {
                    mListWildCard.Add(i);
                }
                else if (i.FirstChoice == Job.Programming)
                {
                    mListProgrammers.Add(i);
                }
                else if (i.FirstChoice == Job.Art)
                {
                    mListArtists.Add(i);
                }
                else if (i.FirstChoice == Job.Design)
                {
                    mListDesigners.Add(i);
                }
            }

            #region Fill The Groups

            int JobCounter = 3;

            // used to point at the necessary fill function
            mDelegateFillGroup = FillSecondary;

            // fill groups based on primary choice, then fill secondary, then tertiary
            for (int i = 0; i < JobCounter; i++)
            {
                if (FillGroups(mListProgrammers, NUMBER_PROGRAMMERS) == GroupFillResult.NotEmpty)
                {
                    mDelegateFillGroup(mListProgrammers);
                }

                if (FillGroups(mListArtists, NUMBER_ARTISTS) == GroupFillResult.NotEmpty)
                {
                    mDelegateFillGroup(mListArtists);
                }

                if (FillGroups(mListDesigners, NUMBER_DESIGNERS) == GroupFillResult.NotEmpty)
                {
                    mDelegateFillGroup(mListDesigners);
                }

                switch (i)
                {
                case 0:
                    mDelegateFillGroup = FillTertiary;
                    break;

                case 1:
                    mDelegateFillGroup = FillWildCard;
                    break;
                }
            }

            // distribute wildcards
            if (mListWildCard.Count > 0)
            {
                FillGroups(mListWildCard, mListWildCard.Count);
            }

            #endregion
        }