예제 #1
0
        /// <summary>
        /// Inititalize a challenge based on its enumeration
        /// </summary>
        /// <param name="challenge">The challenge to initialize</param>
        /// <returns>The class associated with the challenge enumeration specified</returns>
        public static IChallenge InitializeChallenge(ChallengeEnum challenge)
        {
            // Initialize the appropriate class based on the provided enumeration
            switch (challenge)
            {
            case ChallengeEnum.None:
                return(null);

            case ChallengeEnum.Challenge1:
                return(new Challenge1());

            case ChallengeEnum.Challenge2:
                return(new Challenge2());

            case ChallengeEnum.Challenge3:
                return(new Challenge3());

            case ChallengeEnum.Challenge4:
                return(new Challenge4());

            case ChallengeEnum.Challenge5:
                return(new Challenge5());

            case ChallengeEnum.Challenge6:
                return(new Challenge6());

            case ChallengeEnum.Challenge7:
                return(new Challenge7());

            case ChallengeEnum.Challenge8:
                return(new Challenge8());

            case ChallengeEnum.Challenge9:
                return(new Challenge9());

            case ChallengeEnum.Challenge10:
                return(new Challenge10());

            case ChallengeEnum.Challenge11:
                return(new Challenge11());

            case ChallengeEnum.Challenge12:
                return(new Challenge12());

            case ChallengeEnum.Challenge13:
                return(new Challenge13());

            case ChallengeEnum.Challenge14:
                return(new Challenge14());

            /*
             * case ChallengeEnum.Challenge15:
             *  return new Challenge15();
             * /*
             * case ChallengeEnum.Challenge16:
             *  return new Challenge16();
             * /*
             * case ChallengeEnum.Challenge17:
             *  return new Challenge17();
             * /*
             * case ChallengeEnum.Challenge18:
             *  return new Challenge18();
             * /*
             * case ChallengeEnum.Challenge19:
             *  return new Challenge19();
             * /*
             * case ChallengeEnum.Challenge20:
             *  return new Challenge20();
             * /*
             * case ChallengeEnum.Challenge21:
             *  return new Challenge21();
             * /*
             * case ChallengeEnum.Challenge22:
             *  return new Challenge22();
             * /*
             * case ChallengeEnum.Challenge23:
             *  return new Challenge23();
             * /*
             * case ChallengeEnum.Challenge24:
             *  return new Challenge24();
             * /*
             * case ChallengeEnum.Challenge25:
             *  return new Challenge25();
             * /*
             * case ChallengeEnum.Challenge26:
             *  return new Challenge26();
             * /*
             * case ChallengeEnum.Challenge27:
             *  return new Challenge27();
             * /*
             * case ChallengeEnum.Challenge28:
             *  return new Challenge28();
             * /*
             * case ChallengeEnum.Challenge29:
             *  return new Challenge29();
             * /*
             * case ChallengeEnum.Challenge30:
             *  return new Challenge30();
             * /*
             * case ChallengeEnum.Challenge31:
             *  return new Challenge31();
             * /*
             * case ChallengeEnum.Challenge32:
             *  return new Challenge32();
             * /*
             * case ChallengeEnum.Challenge33:
             *  return new Challenge33();
             * /*
             * case ChallengeEnum.Challenge34:
             *  return new Challenge34();
             * /*
             * case ChallengeEnum.Challenge35:
             *  return new Challenge35();
             * /*
             * case ChallengeEnum.Challenge36:
             *  return new Challenge36();
             * /*
             * case ChallengeEnum.Challenge37:
             *  return new Challenge37();
             * /*
             * case ChallengeEnum.Challenge38:
             *  return new Challenge38();
             * /*
             * case ChallengeEnum.Challenge39:
             *  return new Challenge39();
             * /*
             * case ChallengeEnum.Challenge40:
             *  return new Challenge40();
             * /*
             * case ChallengeEnum.Challenge41:
             *  return new Challenge41();
             * /*
             * case ChallengeEnum.Challenge42:
             *  return new Challenge42();
             * /*
             * case ChallengeEnum.Challenge43:
             *  return new Challenge43();
             * /*
             * case ChallengeEnum.Challenge44:
             *  return new Challenge44();
             * /*
             * case ChallengeEnum.Challenge45:
             *  return new Challenge45();
             * /*
             * case ChallengeEnum.Challenge46:
             *  return new Challenge46();
             * /*
             * case ChallengeEnum.Challenge47:
             *  return new Challenge47();
             * /*
             * case ChallengeEnum.Challenge48:
             *  return new Challenge48();
             * /*
             * case ChallengeEnum.Challenge49:
             *  return new Challenge49();
             * /*
             * case ChallengeEnum.Challenge50:
             *  return new Challenge50();
             * /*
             * case ChallengeEnum.Challenge51:
             *  return new Challenge51();
             * /*
             * case ChallengeEnum.Challenge52:
             *  return new Challenge52();
             * /*
             * case ChallengeEnum.Challenge53:
             *  return new Challenge53();
             * /*
             * case ChallengeEnum.Challenge54:
             *  return new Challenge54();
             * /*
             * case ChallengeEnum.Challenge55:
             *  return new Challenge55();
             * /*
             * case ChallengeEnum.Challenge56:
             *  return new Challenge56();
             * /*
             * case ChallengeEnum.Challenge57:
             *  return new Challenge57();
             */
            default:
                return(null);
            }
        }
예제 #2
0
        /// <summary>
        /// Parse a line and fill the differents fields
        /// </summary>
        private void ParseLine(string line)
        {
            int i = -1;

            try
            {
                line = line.Trim();
                switch (m_flag)
                {
                case "<Spells>":
                    i = line.IndexOf('=');
                    if (i != -1)
                    {
                        string[] splitted = line.Split('=');
                        i    = Int32.Parse(splitted[1]);
                        line = splitted[0];
                    }
                    BSpell spell = new BSpell(GetSpellIdFromName(line), line);
                    spells.Add(spell, i);
                    SpellsCondition.Add(spell, m_cond);
                    break;

                case "<Targets>":
                    i = line.IndexOf('=');
                    if (i != -1)
                    {
                        string[] splitted = line.Split('=');
                        i    = Int32.Parse(splitted[1]);
                        line = splitted[0];
                    }
                    targets.Add(line, i);
                    TargetsCondition.Add(line, m_cond);
                    break;

                case "<Strategy>":
                    i = line.IndexOf('=');
                    if (i != -1)
                    {
                        string[] splitted = line.Split('=');
                        i    = Int32.Parse(splitted[1]);
                        line = splitted[0];
                    }
                    TacticEnum tactic = (TacticEnum)Enum.Parse(typeof(TacticEnum), line);
                    if (Enum.IsDefined(typeof(TacticEnum), tactic) | tactic.ToString().Contains(","))
                    {
                        strategy.Add(tactic, i);
                    }
                    else
                    {
                        throw new Exception("AI Script : Invalid strategy at line : " + line);
                    }
                    break;

                case "<Position>":
                    PlacementEnum position = (PlacementEnum)Enum.Parse(typeof(PlacementEnum), line);
                    if (Enum.IsDefined(typeof(PlacementEnum), position) | position.ToString().Contains(","))
                    {
                        positions.Add(position);
                    }
                    else
                    {
                        throw new Exception("AI Script : Invalid position at line : " + line);
                    }
                    break;

                case "<Challenges>":
                    ChallengeEnum challenge = (ChallengeEnum)Enum.Parse(typeof(ChallengeEnum), line);
                    if (Enum.IsDefined(typeof(ChallengeEnum), challenge) | challenge.ToString().Contains(","))
                    {
                        challenges.Add(challenge);
                    }
                    else
                    {
                        throw new Exception("AI Script : Invalid challenge at line : " + line);
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
        }