Пример #1
0
        private void button1_Click(object sender, System.EventArgs e)
        {
            if (question1.AnswerIndex == 0)
            {
                (CSharpExpert.getDataFrame("Ivanov").getSlot("scoreLess50")).slotValue = true;
            }
            else
            {
                (CSharpExpert.getDataFrame("Ivanov").getSlot("scoreLess50")).slotValue = false;
            }

            if (question2.AnswerIndex == 0)
            {
                (CSharpExpert.getDataFrame("Ivanov").getSlot("scoreMore50AndLess80")).slotValue = true;
            }
            else
            {
                (CSharpExpert.getDataFrame("Ivanov").getSlot("scoreMore50AndLess80")).slotValue = false;
            }

            if (question3.AnswerIndex == 0)
            {
                (CSharpExpert.getDataFrame("Ivanov").getSlot("scoreMore80")).slotValue = true;
            }
            else
            {
                (CSharpExpert.getDataFrame("Ivanov").getSlot("scoreMore80")).slotValue = false;
            }

            (CSharpExpert.getDataFrame("Ivanov").getSlot("decision")).slotValue = "";
            ((ScoreAdviser)CSharpExpert.getRulesetFrame("ScoreAdviser")).initContext("Ivanov");
            ProductionSystem.consult("ScoreAdviser", "decision");

            txtDecision.Text = (string)(CSharpExpert.getDataFrame("Ivanov").getSlot("decision")).slotValue;
        }
Пример #2
0
        public void DemandTest()
        {
            var em       = new EntityManager();
            var entity   = em.CreateEntity();
            var producer = CreateWidgetFactory();

            entity.AddComponent(producer);
            var inventory = new Inventory();

            inventory.Size = 10;
            entity.AddComponent(inventory);
            var productionSystem = new ProductionSystem(_mockEngine);

            productionSystem.Run(entity);

            var demand = new Demand();

            demand.Demands.Add("widget", 1);
            entity.AddComponent(demand);
            var demandSystem = new DemandSystem(_mockEngine);

            demandSystem.Run(entity);

            Assert.Less(inventory.Items.Count, 10);
        }
Пример #3
0
        public CombatDrone()
        //////public Program()
        {
            shipComponents = new ShipComponents();
            LocateAllParts();
            log = new Logger(Me.CubeGrid, shipComponents);

            communicationSystems = new CommunicationSystem(log, Me.CubeGrid, shipComponents);
            navigationSystems    = new NavigationSystem(log, Me.CubeGrid, shipComponents);
            productionSystems    = new ProductionSystem(log, Me.CubeGrid, shipComponents);
            storageSystem        = new StorageSystem(log, Me.CubeGrid, shipComponents);
            trackingSystems      = new TrackingSystem(log, Me.CubeGrid, shipComponents);
            weaponSystems        = new WeaponSystem(log, Me.CubeGrid, shipComponents);

            operatingOrder.AddLast(new TaskInfo(LocateAllParts));
            operatingOrder.AddLast(new TaskInfo(FollowOrders));
            operatingOrder.AddLast(new TaskInfo(SensorScan));
            operatingOrder.AddLast(new TaskInfo(AnalyzePlanetaryData));
            operatingOrder.AddLast(new TaskInfo(InternalSystemScan));
            //operatingOrder.AddLast(new TaskInfo(MaintainAltitude));
            operatingOrder.AddLast(new TaskInfo(UpdateTrackedTargets));
            operatingOrder.AddLast(new TaskInfo(FollowOrders));
            operatingOrder.AddLast(new TaskInfo(UpdateDisplays));
            maxCameraRange = 5000;
            maxCameraAngle = 80;

            //set new defaults
            hoverHeight = 100;
        }
Пример #4
0
        static void Main(string[] args)
        {
            //
            // TODO: Add code to start application here
            //
            bool firstStart = false;
            bool askData    = true;

            try
            {
                CSharpExpert.loadKnoweldgeBase();
            }
            catch
            {
                CSharpExpert.firstStart();
                (CSharpExpert.getDataFrame("MyHouse").getSlot("priceCalculator")).slotValue = new CalcCottagePriceFunc(MainClass.priceCalcOfHouses);
                firstStart = true;
            }
            if (!firstStart)
            {
                Console.WriteLine("Do you want re-enter all data?");
                Console.WriteLine("1 - yes");
                Console.WriteLine("2 - no");
                askData = (getUint("Enter the value from 1 to 2: ", 2) == 1)? true : false;
            }
            bool repeat = true;

            while (repeat)
            {
                if (askData)
                {
                    (CSharpExpert.getDataFrame("Buyer").getSlot("moneyAmount")).slotValue        = getUint("Enter money amount (1 -- 1 000 000): ", 1000000);
                    (CSharpExpert.getDataFrame("MyHouse").getSlot("space")).slotValue            = getUint("Enter house's living space (1 -- 5000): ", 5000);
                    (CSharpExpert.getDataFrame("MyHouse").getSlot("distanceFromSPb")).slotValue  = getUint("How far is this house located from SPb?(1 -- 1000): ", 1000);
                    (CSharpExpert.getDataFrame("MyHouse").getSlot("numberOfBedrooms")).slotValue = getUint("How many bedroms in the house?(1 -- 200): ", 200);
                    (CSharpExpert.getDataFrame("MyHouse").getSlot("numberOfFloors")).slotValue   = getUint("How many floors in the house? (1 -- 10): ", 10);
                }
                else
                {
                    askData = true;
                }

                ((MoneyEnough)CSharpExpert.getRulesetFrame("MoneyEnough")).initContext("MyHouse");
                (CSharpExpert.getDataFrame("Buyer").getSlot("isMoneyEnough")).slotValue = null;
                ProductionSystem.consult("MoneyEnough");
                Console.WriteLine("Money amount: {0}", (uint)(CSharpExpert.getDataFrame("Buyer").getSlot("moneyAmount")).slotValue);
                Console.WriteLine("Price of the house: {0}", (uint)(CSharpExpert.getDataFrame("MyHouse").getSlot("priceOfHouse")).slotValue);
                Console.WriteLine("Is money enough: {0}", (bool)(CSharpExpert.getDataFrame("Buyer").getSlot("isMoneyEnough")).slotValue);

                Console.WriteLine("One more time?");
                Console.WriteLine("1 - yes");
                Console.WriteLine("2 - exit");
                repeat = (getUint("Enter the value from 1 to 2: ", 2) == 1)? true : false;
            }
            CSharpExpert.saveKnoweldgeBase();
        }
Пример #5
0
        static void Main(string[] args)
        {
            int result = 1;

            while (result == 1)
            {
                CSharpExpert.firstStart();

                Console.WriteLine("Show comments during consultation: ");
                Console.WriteLine("\t1 -- yes");
                Console.WriteLine("\t2 -- no");
                ProductionSystem.showComments = (getInt("Enter a value from 1 to 2: ", 2) == 1)? true : false;

                Console.Out.WriteLine("Type of grain: ");
                Console.Out.WriteLine("\t1 -- very coarse grain");
                Console.Out.WriteLine("\t2 -- coarse grain");
                Console.Out.WriteLine("\t3 -- medium grain");
                Console.Out.WriteLine("\t4 -- fine grain");
                Console.Out.WriteLine("\t5 -- very fine grain");
                (CSharpExpert.getDataFrame("Grain").getSlot("grains")).slotValue = getInt("Enter a value from 1 to 5: ", 5);

                Console.Out.WriteLine("Humidity of the charge: ");
                Console.Out.WriteLine("\t1 -- dry");
                Console.Out.WriteLine("\t2 -- normal");
                Console.Out.WriteLine("\t3 -- very wet");
                (CSharpExpert.getDataFrame("Charge").getSlot("humidity")).slotValue = getInt("Enter a value from 1 to 3: ", 3);

                Console.Out.WriteLine("Gas amount in the charge");
                Console.Out.WriteLine("\t1 -- low");
                Console.Out.WriteLine("\t2 -- less than normal");
                Console.Out.WriteLine("\t3 -- normal");
                Console.Out.WriteLine("\t4 -- more than normal");
                Console.Out.WriteLine("\t5 -- high");
                (CSharpExpert.getDataFrame("Charge").getSlot("gasAmount")).slotValue = getInt("Enter a value from 1 to 5: ", 5);
                //
                QualityOfGlass.Quality quality  = QualityOfGlass.Quality.undefined;
                QualityOfGlass         ruleset1 = (QualityOfGlass)CSharpExpert.getRulesetFrame("QualityOfGlass");
                ruleset1.initContext();
                ruleset1.initParameters(quality);
                ProductionSystem.consult("QualityOfGlass");

                ruleset1.getRefValues(ref quality);
                Console.WriteLine("~~~~~~Result~~~~~~");
                Console.WriteLine("quartzous grains: {0}", (Glass.GrainType)(CSharpExpert.getDataFrame("Glass").getSlot("grainsAmount")).slotValue);
                Console.WriteLine("streakiness: {0}", (Glass.StreakinessType)(CSharpExpert.getDataFrame("Glass").getSlot("streakiness")).slotValue);
                Console.WriteLine("clearing: {0}", (Glass.ClearingType)(CSharpExpert.getDataFrame("Glass").getSlot("clearing")).slotValue);
                Console.WriteLine("foaming: {0}", (Glass.FoamingType)(CSharpExpert.getDataFrame("Glass").getSlot("foaming")).slotValue);
                Console.WriteLine("homogeneity of the charge: {0}", (Glass.HomogeneityType)(CSharpExpert.getDataFrame("Glass").getSlot("homogeneity")).slotValue);
                Console.WriteLine("QUALITY ESTIMATION: {0}", quality);

                Console.WriteLine();
                Console.WriteLine("1 -- one more consultation");
                Console.WriteLine("2 -- exit");
                result = getInt("Enter a value from 1 to 2: ", 2);
            }
        }
Пример #6
0
        public void InventoryLimitTest()
        {
            var em       = new EntityManager();
            var entity   = em.CreateEntity();
            var producer = CreateWidgetFactory();

            entity.AddComponent(producer);

            var inventory = new Inventory();

            inventory.Size = 10;
            entity.AddComponent(inventory);

            var productionSystem = new ProductionSystem(_mockEngine);

            productionSystem.Run(entity);
            Assert.AreEqual(10, inventory.Items.Count);
        }
Пример #7
0
        public void ProducedItemNameTest()
        {
            var em       = new EntityManager();
            var entity   = em.CreateEntity();
            var producer = CreateWidgetFactory();

            entity.AddComponent(producer);
            var inventory = new Inventory();

            inventory.Size = 10;
            entity.AddComponent(inventory);
            var productionSystem = new ProductionSystem(_mockEngine);

            productionSystem.Run(entity);

            var item = inventory.Items[0];
            var name = item.GetComponent <Item>().Type;

            Assert.AreEqual(name, producer.ProducedItems[0].product);
        }
Пример #8
0
 public void ConstructorTest()
 {
     var mockEngine       = new MockEngine(new EntityManager(), new MockLogger(), new MockMap());
     var productionSystem = new ProductionSystem(mockEngine);
 }