示例#1
0
            public SinuousWorld()
            {
                pa = 800;
                qa = 480;
                E  = 60;
                sa = 0.25;
                ha = 2;
                ca = 3;
                ta = 120;

                F    = new FClass[9];
                F[0] = new FClass(1.2, 100, 0.5);
                F[1] = new FClass(1.4, 200, 0.6);
                F[2] = new FClass(1.6, 300, 0.7);
                F[3] = new FClass(1.8, 450, 0.8);
                F[4] = new FClass(2.0, 600, 0.1);
                F[5] = new FClass(2.4, 800, 1.1);
                F[6] = new FClass(2.9, 1000, 1.3);
                F[7] = new FClass(3.5, 1300, 1.7);
                F[8] = new FClass(4.8, 2000, 2);

                m = new mClass(1, 1, false);
                s = 1;

                t = false;
            }
    static void Main(string[] args)
    {
        FClass fclass = new FClass();

        FClass.Show show = new FClass.Show(ReturnString);
        fclass.ShowDelegate(show);
        Console.ReadKey();
    }
示例#3
0
文件: Checker.cs 项目: B-CK/ConfigGen
        protected void DataError(Data data, string error)
        {
            FClass root = data.Host;

            while (!root.IsRoot)
            {
                root = root.Host;
            }
            string fullName = root.Define.FullName;
            var    config   = ConfigWrap.Get(fullName);
            var    cls      = ClassWrap.Get(fullName);
            int    index    = cls.Fields.IndexOf(config.Index);

            Util.LogError($"【{root.Values[index]}】{_define.Host.FullName} 字段:{_define.Name}({_define.FullName}) {error}");
        }
示例#4
0
        public override void GetClass(FClass data, ClassWrap info)
        {
            if (!info.Inherit.IsEmpty())
            {
                ClassWrap parent = ClassWrap.Get(info.Inherit);
                GetClass(data, parent);
            }

            var fields = info.Fields;

            for (int i = 0; i < fields.Count; i++)
            {
                var d = Data.Create(data, fields[i], this);
                data.Values.Add(d);
            }
        }
示例#5
0
 /// <summary>
 /// Creates a fightable character from a given lvl
 /// </summary>
 /// <param name="name"> See Character</param>
 /// <param name="description">See Character</param>
 /// <param name="id">See Character</param>
 /// <param name="f">Fighting Class of the character(can't be null)</param>
 /// <param name="l">Level of the character see the Level Class (can't be null)</param>
 /// <param name="s">Stats of the character (can't be null)</param>
 public FightableC(string name, string description, int id, FClass f, Race r, Level l, Stats s) : base(name, description, id)
 {
     if (!f.Equals(null) && !l.Equals(null) && !s.Equals(null) && !r.Equals(null))
     {
         Inventory   = new Inventory();
         Equipment   = new EquipmentSet();
         FClass      = f;
         LVL         = l;
         Stats       = s;
         Race        = r;
         currentHP   = GetMaxHP();
         resistances = new List <TypeDamages>();
         weaknesses  = new List <TypeDamages>();
     }
     else
     {
         throw new System.ArgumentNullException("This fightable character can't be constructed because one of your argument is null");
     }
 }
示例#6
0
        public override bool CheckColumn(bool remove)
        {
            if (_define.IsRaw)
            {
                base.CheckColumn(true);
                var config = ConfigWrap.Get(_define.Host.FullName);
                var cls    = _define.Host;
                int index  = cls.Fields.IndexOf(_define);
                var hash   = new HashSet <Data>(config.Data.Values.MapTo <Data, Data>((data) =>
                {
                    FClass fcls = data as FClass;
                    data        = fcls.Values[index];
                    return(data);
                }));

                bool isOk = hash.Count == config.Data.Values.Count;
                if (!isOk)
                {
                    Error($"Unique检查规则:数据重复!");
                }
                return(isOk);
            }
            return(true);
        }
示例#7
0
 public abstract void GetClass(FClass data, ClassWrap info);
示例#8
0
        public void SetClass(FClass figureFClass)
        {
            FigureFClass = figureFClass;
            IsAlive      = true;

            switch (figureFClass)
            {
            case FClass.Warrior:
                _intellect = 1;
                _vitality  = 7;
                _strength  = 7;
                _speed     = 5;
                break;

            case FClass.Wizard:
                _intellect = 9;
                _vitality  = 4;
                _strength  = 2;
                _speed     = 5;
                break;

            case FClass.Rogue:
                _intellect = 2;
                _vitality  = 3;
                _strength  = 6;
                _speed     = 9;
                break;

            case FClass.Paladin:
                _intellect = 5;
                _vitality  = 6;
                _strength  = 6;
                _speed     = 3;
                break;

            case FClass.Troll:
                _intellect = 2;
                _vitality  = 4;
                _strength  = 6;
                _speed     = 2;
                _giveXp    = 100;
                break;

            case FClass.Goblin:
                _intellect = 4;
                _vitality  = 3;
                _strength  = 2;
                _speed     = 6;
                _giveXp    = 150;
                break;

            case FClass.Orc:
                _intellect = 1;
                _vitality  = 5;
                _strength  = 7;
                _speed     = 4;
                _giveXp    = 175;
                break;

            case FClass.Demon:
                _intellect = 6;
                _vitality  = 6;
                _strength  = 6;
                _speed     = 6;
                _giveXp    = 666;
                break;

            default:
                Console.WriteLine("Didn't select a class");
                break;
            }

            var hpMod = _vitality * 4;
            var mpMod = _intellect * 4;

            _hp       = 100 + hpMod;
            _mp       = 100 + mpMod;
            _maxHp    = 100 + hpMod;
            _aDmg     = _strength * 4;
            _sDmg     = _intellect * 4;
            _potCount = 3;
            _lvl      = 1;
            _xp       = 0;
            _reqXp    = 100;
            _xpM      = 1;
        }
示例#9
0
        public ArcImsField(FClass fClass, Field field)
        {
            _field = field;

            if (field.Name == "#SHAPE#")
            {
                Alias = "SHAPE";
            }
            else if (String.IsNullOrEmpty(field.Alias))
            {
                Alias = ExtractShortName(field.Name);
            }
            else
            {
                Alias = field.Alias;
            }

            Name = field.Name;

            switch (field.Type)
            {
            case FieldType.BigInteger:
                Type = CommonFieldType.BigInteger;
                break;

            case FieldType.Boolean:
                Type = CommonFieldType.Boolean;
                break;

            case FieldType.Date:
                Type = CommonFieldType.Date;
                break;

            case FieldType.Double:
                Type = CommonFieldType.Double;
                break;

            case FieldType.Shape:
                Type = CommonFieldType.Geometry;

                switch (fClass.Type)
                {
                case FClassType.Line: GeometryType = OgcGeometryType.MultiLineString; break;

                case FClassType.Polygon: GeometryType = OgcGeometryType.MultiPolygon; break;
                }
                break;

            case FieldType.Integer:
                Type = CommonFieldType.Integer;
                break;

            case FieldType.RowID:
                Type = CommonFieldType.ID;
                break;

            case FieldType.Float:
                Type = CommonFieldType.Single;
                break;

            case FieldType.SmallInteger:
                Type = CommonFieldType.SmallInteger;
                break;

            case FieldType.Character:
            case FieldType.String:
            case FieldType.Clob:
            case FieldType.NVarChar:
            case FieldType.NClob:
                Type = CommonFieldType.String;
                break;
            }
        }