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; }
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); }
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; }
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(); }
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); } }
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); }
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); }
public void ConstructorTest() { var mockEngine = new MockEngine(new EntityManager(), new MockLogger(), new MockMap()); var productionSystem = new ProductionSystem(mockEngine); }