Exemplo n.º 1
0
        public void TestPairs()
        {
            NumValue valueTwo = new NumValue(2);
            Value    pair     = new PairValue <NumValue, NumValue>(valueTwo, valueTwo);

            Assert.AreEqual("< 2 , 2 >", pair.ToString());

            Expression test = new PairExpression <NumExpression, NumExpression>(two, two);

            Assert.AreEqual("< 2 , 2 >", testAsync(test, 500).Result);

            var trueTest = new PairExpression <LogicExpression, LogicExpression>(logicTrue, logicTrue);

            Assert.AreEqual("< True , True >", testAsync(trueTest, 500).Result);

            var loopTest = new PairExpression <LogicExpression, LogicExpression>(logicLoop, logicTrue);

            Assert.AreEqual(False, testAsync(loopTest, 500).Result);

            var pairTest = new LogicProjL(trueTest);

            Assert.AreEqual(True, testAsync(pairTest, 500).Result);

            var pairLoop = new LogicProjR(loopTest);

            Assert.AreEqual(True, testAsync(pairLoop, 500).Result);

            var pairLoop2 = new LogicProjL(loopTest);

            Assert.AreEqual(Loop, testAsync(pairLoop2, 500).Result);
        }
Exemplo n.º 2
0
        public Pokemon(Player owner, PokemonCustomInfo custom, GameSettings settings)
        {
            Id = settings.NextId();
              Owner = owner;
              TeamId = owner.TeamId;

              Name = custom.Name;
              PokemonType = DataService.GetPokemonType(custom.PokemonTypeId);
              Gender = custom.Gender;
              Lv = custom.Lv;
              Ability = DataService.GetAbility(custom.AbilityId);
              Nature = custom.Nature;

              {
            Moves = new Move[4];
            int i = 0;
            foreach (int moveId in custom.MoveIds)
              if (i < 4) Moves[i++] = new Move(moveId, settings);
            StruggleId = settings.NextId();
            SwitchId = settings.NextId();
              }

              Base = new ReadOnly6D(PokemonType.BaseHp, PokemonType.BaseAtk, PokemonType.BaseDef, PokemonType.BaseSpAtk, PokemonType.BaseSpDef, PokemonType.BaseSpeed);
              Iv = new ReadOnly6D(custom.HpIv, custom.AtkIv, custom.DefIv, custom.SpAtkIv, custom.SpDefIv, custom.SpeedIv);
              Ev = new ReadOnly6D(custom.HpEv, custom.AtkEv, custom.DefEv, custom.SpAtkEv, custom.SpDefEv, custom.SpeedEv);
              Static = new ReadOnly6D(GetState(StatType.Hp), GetState(StatType.Atk), GetState(StatType.Def), GetState(StatType.SpAtk), GetState(StatType.SpDef), GetState(StatType.Speed));

              if (custom.ItemId.HasValue) Item = DataService.GetItem(custom.ItemId.Value);
              State = PokemonState.Normal;
              Hp = new PairValue(Static.Hp, Static.Hp, 48);
        }
Exemplo n.º 3
0
        public void Mfn_LearningTestMethod()
        {
            double[,] w = new double[2, 3];
            w[0, 0]     = 0.1;
            w[0, 1]     = -0.2;
            w[0, 2]     = 0.1;
            w[1, 0]     = 0.1;
            w[1, 1]     = -0.1;
            w[1, 2]     = 0.3;
            Mfn network = new Mfn(w, Activation.Sigmoid, ActivationD.Sigmoid);

            double[,] w1 = new double[1, 3];
            w1[0, 0]     = 0.2;
            w1[0, 1]     = 0.2;
            w1[0, 2]     = 0.3;
            network.AddLayer(w1, Activation.Sigmoid, ActivationD.Sigmoid);
            PairValue test = new PairValue();

            test.Input     = new double[2];
            test.Input[0]  = 0.9;
            test.Input[0]  = 0.1;
            test.Output    = new double[1];
            test.Output[0] = 0.9;
            double actual = network.Learning(new PairValue[1] {
                test
            });
            double expected = 0.039720;

            Assert.AreEqual(expected, actual, 0.000001);
        }
Exemplo n.º 4
0
 internal PokemonOutward(OnboardPokemon pm, PairValue hp)
 {
     _listeners = new List<IPokemonEvent>();
       OwnerId = pm.Owner.Id;
       Id = pm.Id;
       Hp = hp;
       Lv = pm.Lv;
       Position = pm.Position;
 }
Exemplo n.º 5
0
        private void LifeBar_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (e.OldValue is PairValue)
            {
                ((PairValue)e.OldValue).PropertyChanged -= LifeChanged;
            }
            PairValue pair = DataContext as PairValue;

            if (pair != null)
            {
                pair.PropertyChanged += LifeChanged;
                maxHp    = pair.Origin;
                yellowHp = maxHp >> 1;
                redHp    = maxHp / 5;
                current  = hp = pair.Value;
                CurrentChanged();
            }
        }
Exemplo n.º 6
0
        public void Mfn_Learning_2_2_2_1_100_TestMethod()
        {
            double[,] w = new double[2, 3];
            w[0, 0]     = 2;
            w[0, 1]     = -2;
            w[0, 2]     = -2;
            w[1, 0]     = 2;
            w[1, 1]     = 3;
            w[1, 2]     = 3;
            Mfn network = new Mfn(w, Activation.Sigmoid, ActivationD.Sigmoid);

            double[,] w1 = new double[2, 3];
            w1[0, 0]     = 3;
            w1[0, 1]     = -2;
            w1[0, 2]     = -4;
            w1[1, 0]     = -2;
            w1[1, 1]     = 2;
            w1[1, 2]     = 2;
            network.AddLayer(w1, Activation.Sigmoid, ActivationD.Sigmoid);
            double[,] w2 = new double[1, 3];
            w2[0, 0]     = -2;
            w2[0, 1]     = 3;
            w2[0, 2]     = 1;
            network.AddLayer(w2, Activation.Sigmoid, ActivationD.Sigmoid);

            PairValue test = new PairValue();

            test.Input     = new double[2];
            test.Input[0]  = 0.1;
            test.Input[0]  = 0.9;
            test.Output    = new double[1];
            test.Output[0] = 0.9;
            Mfn nn = network.Learning(1000, new PairValue[1] {
                test
            }, 0.8, 0, 0.000001);

            double[] result   = nn.Calc(test.Input);
            double   actual   = result[0];
            double   expected = 0.899924294265539;

            Assert.AreEqual(expected, actual, 0.000001);
        }
        internal SimPokemon(int id, SimPlayer owner, IPokemonData custom)
        {
            Id     = id;
            Owner  = owner;
            TeamId = owner.Team;

            Gender       = custom.Gender;
            Lv           = custom.Lv;
            nature       = custom.Nature;
            abilityIndex = custom.AbilityIndex;
            Moves        = custom.Moves.Select((m) => new Move(m.Move, m.PP)).ToArray();
            Item         = custom.Item;
            iv           = new ReadOnly6D(custom.Iv);
            ev           = new ReadOnly6D(custom.Ev);
            _hp          = new PairValue(GameHelper.GetHp(custom.Form.Data.Base.Hp, (byte)iv.Hp, (byte)ev.Hp, (byte)Lv));

            Form       = custom.Form;
            originForm = Form;
            Name       = custom.Name ?? GameString.Current.Pokemon(_form.Species.Number);
        }
        /// <summary>
        /// Returns a SubClass and Argument as Pair.
        /// </summary>
        /// <param name="inputString">The string to deconstruct. Example: command(argument)</param>
        public static PairValue GetSubClassArgumentPair(string inputString)
        {
            PairValue p = new PairValue();

            string command  = inputString;
            string argument = "";

            if (command.Contains("(") == true & command.EndsWith(")") == true)
            {
                argument = command.Remove(0, command.IndexOf("(") + 1);
                argument = argument.Remove(argument.Length - 1, 1);
                command  = command.Remove(command.IndexOf("("));
            }

            argument = Convert.ToString(EvaluateConstruct(argument));

            p.Command  = command;
            p.Argument = argument;

            return(p);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="key"></param>
 /// <param name="value"></param>
 public void AddItem(string key, string value)
 {
     if (!string.IsNullOrWhiteSpace(key) && !string.IsNullOrWhiteSpace(value))
     {
         bool itemFound = false;
         foreach (PairValue item in ItemsListbox.Items)
         {
             if (item.Key.Equals(key))
             {
                 item.Value = value;
                 itemFound  = true;
                 break;
             }
         }
         if (!itemFound)
         {
             PairValue item = new PairValue(key, value);
             ItemsListbox.Items.Add(item);
             ItemsListbox.ScrollIntoView(item);
         }
     }
 }
Exemplo n.º 10
0
        public void Mfn_Learning_2_2_2_1_TestMethod()
        {
            double[,] w = new double[2, 3];
            w[0, 0]     = 2;
            w[0, 1]     = -2;
            w[0, 2]     = -2;
            w[1, 0]     = 2;
            w[1, 1]     = 3;
            w[1, 2]     = 3;
            Mfn network = new Mfn(w, Activation.Sigmoid, ActivationD.Sigmoid);

            double[,] w1 = new double[2, 3];
            w1[0, 0]     = 3;
            w1[0, 1]     = -2;
            w1[0, 2]     = -4;
            w1[1, 0]     = -2;
            w1[1, 1]     = 2;
            w1[1, 2]     = 2;
            network.AddLayer(w1, Activation.Sigmoid, ActivationD.Sigmoid);
            double[,] w2 = new double[1, 3];
            w2[0, 0]     = -2;
            w2[0, 1]     = 3;
            w2[0, 2]     = 1;
            network.AddLayer(w2, Activation.Sigmoid, ActivationD.Sigmoid);

            PairValue test = new PairValue();

            test.Input     = new double[2];
            test.Input[0]  = 0.1;
            test.Input[0]  = 0.9;
            test.Output    = new double[1];
            test.Output[0] = 0.9;
            double actual = network.Learning(new PairValue[1] {
                test
            }, 0.8, 0);
            double expected = 0.0289141550069473;

            Assert.AreEqual(expected, actual, 0.000001);
        }
Exemplo n.º 11
0
        internal SimPokemon(int id, SimPlayer owner, IPokemonData custom)
        {
            Id     = id;
            Owner  = owner;
            TeamId = owner.Team;

            Gender       = custom.Gender;
            Lv           = custom.Lv;
            nature       = custom.Nature;
            abilityIndex = custom.AbilityIndex;
            Moves        = custom.Moves.Select((m) => new Move(m.Move, m.PP)).ToArray();

            Item      = custom.Item;
            Happiness = custom.Happiness;

            iv  = new ReadOnly6D(custom.Iv);
            ev  = new ReadOnly6D(custom.Ev);
            _hp = new PairValue(GameHelper.GetHp(custom.Form.Data.Base.Hp, (byte)iv.Hp, (byte)ev.Hp, (byte)Lv));

            Form       = custom.Form;
            originForm = Form;
            Name       = custom.Name ?? GameString.Current.Pokemon(_form.Species.Number);

            HiddenPower = GameHelper.HiddenPower(iv);
            for (int i = 0; i < Moves.Length; ++i)
            {
                if (Moves[i].Type.Id == Ms.HIDDEN_POWER)
                {
                    Moves[i] = new Move(new MoveType(Moves[i].Type.Id, HiddenPower, Moves[i].Type.Category, Moves[i].Type.Power, Moves[i].Type.Accuracy, Moves[i].Type.PP, Moves[i].Type.Range), Moves[i].PP.Value);
                }
                if (Moves[i].Type.Id == Ms.NATURAL_GIFT)
                {
                    Moves[i] = new Move(new MoveType(Moves[i].Type.Id, GameHelper.NatureGift(Item), Moves[i].Type.Category, Moves[i].Type.Power, Moves[i].Type.Accuracy, Moves[i].Type.PP, Moves[i].Type.Range), Moves[i].PP.Value);
                }
            }
        }
Exemplo n.º 12
0
        public void Mfn_Number_TestMethod()
        {
            Perceptron p63     = new Perceptron(63, 6, Activation.Threshold, 0, ActivationD.Threshold);
            Mfn        network = new Mfn(p63);
            Perceptron p6      = new Perceptron(6, 9, Activation.Threshold, 0, ActivationD.Threshold);

            network.AddLayer(p6);

            //Perceptron p63 = new Perceptron(63, 9, Activation.Threshold, 0.5, ActivationD.Threshold);
            //Mfn network = new Mfn(p63);

            PairValue t0 = new PairValue();

            t0.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t0.Output = new double[9] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };

            PairValue t1 = new PairValue();

            t1.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t1.Output = new double[9] {
                1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };

            PairValue t2 = new PairValue();

            t2.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t2.Output = new double[9] {
                0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };

            PairValue t3 = new PairValue();

            t3.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t3.Output = new double[9] {
                0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };

            PairValue t4 = new PairValue();

            t4.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t4.Output = new double[9] {
                0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };

            PairValue t5 = new PairValue();

            t5.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t5.Output = new double[9] {
                0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0
            };

            PairValue t6 = new PairValue();

            t6.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t6.Output = new double[9] {
                0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0
            };

            PairValue t7 = new PairValue();

            t7.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t7.Output = new double[9] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0
            };

            PairValue t8 = new PairValue();

            t8.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t8.Output = new double[9] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0
            };

            PairValue t9 = new PairValue();

            t9.Input = new double[63] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
            };
            t9.Output = new double[9] {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0
            };

            //Mfn nn = network.Learning(1000, new PairValue[10] { t0, t1, t2, t3, t4, t5, t6, t7, t8, t9 });
            Mfn nn = network.Learning(1000, new PairValue[10] {
                t0, t1, t2, t3, t4, t5, t6, t7, t8, t9
            }, 0.3, 0.7, 0.00001);

            double[] result   = nn.Calc(t0.Input);
            double   actual   = result[0];
            double   expected = 0;

            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t1.Input);
            actual   = result[0];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t2.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t3.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t4.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t5.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t6.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t7.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t8.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 1;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 0;
            Assert.AreEqual(expected, actual);

            result   = nn.Calc(t9.Input);
            actual   = result[0];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[1];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[2];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[3];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[4];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[5];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[6];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[7];
            expected = 0;
            Assert.AreEqual(expected, actual);
            actual   = result[8];
            expected = 1;
            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 13
0
 internal SimMove(MoveType type)
 {
     Type = type;
     PP   = new PairValue(5);
 }
Exemplo n.º 14
0
 internal SimMove(Move move)
 {
     Type = move.Type;
     PP   = (PairValue)move.PP;
 }
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            if (_data == null)
            {
                return;
            }
            bool isDataValide = true;

            try
            {
                Type t = _data.GetType();
                foreach (FrameworkElement control in ContentGrid.Children)
                {
                    if (control.Tag is ControlTag tag)
                    {
                        string       propertyName = tag.PropertyName;
                        string       regexValue   = tag.ValidationRegex;
                        PropertyInfo prop         = t.GetProperty(propertyName);
                        string       propertyType = prop.PropertyType.Name;
                        if (control is TextBox textbox)
                        {
                            string text = textbox.Text;

                            if ("Int32".Equals(propertyType))
                            {
                                if (Regex.IsMatch(text, regexValue))
                                {
                                    textbox.Style = Application.Current.Resources["PropertiesIntTextboxStyle"] as Style;
                                    if (int.TryParse(text, out int val))
                                    {
                                        prop.SetValue(_data, val);
                                    }
                                }
                                else
                                {
                                    textbox.Style = Application.Current.Resources["PropertiesIntFailureTextboxStyle"] as Style;
                                    isDataValide  = false;
                                }
                            }
                            else if ("String".Equals(propertyType))
                            {
                                if (Regex.IsMatch(text, regexValue))
                                {
                                    textbox.Style = Application.Current.Resources["PropertiesTextboxStyle"] as Style;
                                    prop.SetValue(_data, text);
                                }
                                else
                                {
                                    textbox.Style = Application.Current.Resources["PropertiesFailureTextboxStyle"] as Style;
                                    isDataValide  = false;
                                }
                            }
                        }
                        else if (control is CheckBox checkbox)
                        {
                            if ("Boolean".Equals(propertyType))
                            {
                                bool?val = checkbox.IsChecked;
                                prop.SetValue(_data, val);
                            }
                        }
                        else if (control is ListControl listControl)
                        {
                            if ("String[]".Equals(propertyType))
                            {
                                ItemCollection items = listControl.ItemsListbox.Items;
                                string[]       val   = new string[items.Count];
                                for (int i = 0; i < items.Count; i++)
                                {
                                    val[i] = items.GetItemAt(i).ToString();
                                }

                                prop.SetValue(_data, val);
                            }
                        }
                        else if (control is DictionaryControl dictControl)
                        {
                            if ("Dictionary`2".Equals(propertyType))
                            {
                                ItemCollection items = dictControl.ItemsListbox.Items;
                                Dictionary <string, string[]> val = new(items.Count);
                                for (int i = 0; i < items.Count; i++)
                                {
                                    PairValue pair      = items[i] as PairValue;
                                    string[]  itemValue = pair.Value.Split(';');
                                    val.Add(pair.Key, itemValue);
                                }

                                prop.SetValue(_data, val);
                            }
                        }
                    }
                }
                if (isDataValide)
                {
                    _writer.Write(_data);
                    SaveStatusTextBlock.Style = Application.Current.Resources["SaveSuccessTextBlock"] as Style;
                }
                else
                {
                    SaveStatusTextBlock.Style = Application.Current.Resources["SaveFailureTextBlock"] as Style;
                }
            }
            catch
            {
                SaveStatusTextBlock.Style = Application.Current.Resources["SaveFailureTextBlock"] as Style;
            }
        }
Exemplo n.º 16
0
Arquivo: Move.cs Projeto: sunoru/PBO
 public Move(int id, Move move, GameSettings settings)
 {
     Id = id;
       Type = move.Type;
       PP = new PairValue(5);
 }
Exemplo n.º 17
0
Arquivo: Move.cs Projeto: sunoru/PBO
 public Move(int moveType, GameSettings settings)
 {
     Id = settings.NextId();
       Type = DataService.GetMoveType(moveType);
       PP = new PairValue((int)(Type.PP * settings.PPUp));
 }
Exemplo n.º 18
0
 public PokemonOutward(int id, int teamId, int maxHp)
 {
     Id        = id;
     _position = new Position(teamId, 0);
     Hp        = new PairValue(maxHp);
 }