public void testLTP() { BuildingGS initialGS = new BuildingGS(); initialGS.setStockpile(ResourceType.Gold, 1000); initialGS.addResourcePerTick(ResourceType.Gold, 0); initialGS.setStockpile(ResourceType.Stone, 1000); initialGS.addResourcePerTick(ResourceType.Stone, 0); initialGS.setStockpile(ResourceType.Wood, 1000); initialGS.addResourcePerTick(ResourceType.Wood, 0); BuildingGS targetGS = new BuildingGS(); targetGS.setStockpile(ResourceType.Gold, 2000); targetGS.addResourcePerTick(ResourceType.Gold, 10); targetGS.setStockpile(ResourceType.Stone, 2000); targetGS.addResourcePerTick(ResourceType.Stone, 5); targetGS.setStockpile(ResourceType.Wood, 2000); targetGS.addResourcePerTick(ResourceType.Wood, 6); targetGS.setStockpile(ResourceType.Silver, 200); targetGS.addResourcePerTick(ResourceType.Silver, 9); ltp.plan(initialGS, targetGS, callback); }
public void hillClimb() { BuildingGS initialGS = new BuildingGS(); initialGS.setStockpile(ResourceType.Gold, 500); initialGS.addResourcePerTick(ResourceType.Gold, 0); initialGS.setStockpile(ResourceType.Stone, 500); initialGS.addResourcePerTick(ResourceType.Stone, 0); initialGS.setStockpile(ResourceType.Wood, 500); initialGS.addResourcePerTick(ResourceType.Wood, 0); BuildingGS targetGS = new BuildingGS(); //targetGS.setStockpile(ResourceType.Gold, 200); targetGS.addResourcePerTick(ResourceType.Gold, 5); //targetGS.setStockpile(ResourceType.Stone, 200); targetGS.addResourcePerTick(ResourceType.Stone, 5); // targetGS.setStockpile(ResourceType.Wood, 200); targetGS.addResourcePerTick(ResourceType.Wood, 5); //targetGS.setStockpile(ResourceType.Silver, 200); targetGS.addResourcePerTick(ResourceType.Silver, 5); //targetGS.setStockpile(ResourceType.Coal, 200); targetGS.addResourcePerTick(ResourceType.Coal, 5); //targetGS.setStockpile(ResourceType.Iron, 200); targetGS.addResourcePerTick(ResourceType.Iron, 5); //targetGS.setStockpile(ResourceType.Steel, 200); targetGS.addResourcePerTick(ResourceType.Steel, 5); UnityEngine.Debug.Log(Stopwatch.Frequency); UnityEngine.Debug.Log("StartTime: " + Stopwatch.GetTimestamp()); ltp.plan(initialGS, targetGS, callback); }
private void setStartGameState() { BuildingGS initialGs = new BuildingGS(); initialGs.setStockpile(ResourceType.Gold, 1000); initialGs.addResourcePerTick(ResourceType.Gold, 0); initialGs.setStockpile(ResourceType.Stone, 1000); initialGs.addResourcePerTick(ResourceType.Stone, 0); initialGs.setStockpile(ResourceType.Wood, 1000); initialGs.addResourcePerTick(ResourceType.Wood, 0); GameController.gameState = initialGs; aiCurrentGameState = new BuildingGS(initialGs); }
private void setTargetGameStates() { BuildingGS targetGs = new BuildingGS(); targetGs.setStockpile(ResourceType.Gold, 2000); targetGs.addResourcePerTick(ResourceType.Gold, 10); targetGs.setStockpile(ResourceType.Stone, 2000); targetGs.addResourcePerTick(ResourceType.Stone, 5); targetGs.setStockpile(ResourceType.Wood, 2000); targetGs.addResourcePerTick(ResourceType.Wood, 6); targetGs.setStockpile(ResourceType.Silver, 200); targetGs.addResourcePerTick(ResourceType.Silver, 9); targetGameStates.Add(targetGs); BuildingGS targetGs2 = new BuildingGS(); targetGs2.setStockpile(ResourceType.Gold, 4000); targetGs2.addResourcePerTick(ResourceType.Gold, 10); targetGs2.setStockpile(ResourceType.Stone, 4000); targetGs2.addResourcePerTick(ResourceType.Stone, 5); targetGs2.setStockpile(ResourceType.Wood, 4000); targetGs2.addResourcePerTick(ResourceType.Wood, 6); targetGs2.setStockpile(ResourceType.Silver, 400); targetGs2.addResourcePerTick(ResourceType.Silver, 9); targetGameStates.Add(targetGs2); BuildingGS targetGs3 = new BuildingGS(); targetGs3.setStockpile(ResourceType.Gold, 8000); targetGs3.addResourcePerTick(ResourceType.Gold, 20); targetGs3.setStockpile(ResourceType.Stone, 8000); targetGs3.addResourcePerTick(ResourceType.Stone, 20); targetGs3.setStockpile(ResourceType.Wood, 8000); targetGs3.addResourcePerTick(ResourceType.Wood, 20); targetGs3.setStockpile(ResourceType.Silver, 800); targetGs3.addResourcePerTick(ResourceType.Silver, 20); targetGameStates.Add(targetGs3); Debug.Log("target game states size: " + targetGameStates.Count); for (int indexActor = 0; indexActor < noOfActors; indexActor++) { updateTargetDisplay(targetGameStates[currentTargetGsIndex[indexActor]], indexActor); } }
private BuildingGS modifyGameStateForPersonality(BuildingGS targetGsHuman, AIPersonalityType aiPersonality) { switch (aiPersonality) { case AIPersonalityType.GoldDigger: targetGsHuman.setStockpile(ResourceType.Gold, targetGsHuman.getStockpile(ResourceType.Gold) * 2); targetGsHuman.addResourcePerTick(ResourceType.Gold, targetGsHuman.getChangePerTick(ResourceType.Gold) * 2); break; case AIPersonalityType.Pragmatist: foreach (ResourceType rt in targetGsHuman.getStockpileResourceTypes()) { targetGsHuman.setStockpile(rt, (int)(targetGsHuman.getStockpile(rt) * 1.3)); } break; case AIPersonalityType.Warrior: case AIPersonalityType.ScienceGeek: case AIPersonalityType.Conservative: default: break; } return(targetGsHuman); }
public void onClick() { int igs; int istos; int iws; int isils; int iis; int ics; int istes; int tgs; int tstos; int tws; int tsils; int tis; int tcs; int tstes; int tgcpt; int tstocpt; int twcpt; int tsilcpt; int ticpt; int tccpt; int tstecpt; try { igs = int.Parse(initialGoldStock.text); istos = int.Parse(initialStoneStock.text); iws = int.Parse(initialWoodStock.text); isils = int.Parse(initialSilverStock.text); iis = int.Parse(initialIronStock.text); ics = int.Parse(initialCoalStock.text); istes = int.Parse(initialSteelStock.text); tgs = int.Parse(targetGoldStock.text); tstos = int.Parse(targetStoneStock.text); tws = int.Parse(targetWoodStock.text); tsils = int.Parse(targetSilverStock.text); tis = int.Parse(targetIronStock.text); tcs = int.Parse(targetCoalStock.text); tstes = int.Parse(targetSteelStock.text); tgcpt = int.Parse(targetGoldIncome.text); tstocpt = int.Parse(targetStoneIncome.text); twcpt = int.Parse(targetWoodIncome.text); tsilcpt = int.Parse(targetSilverIncome.text); ticpt = int.Parse(targetIronIncome.text); tccpt = int.Parse(targetCoalIncome.text); tstecpt = int.Parse(targetSteelIncome.text); BuildingGS initialGS = new BuildingGS(); if (igs != 0) { initialGS.setStockpile(ResourceType.Gold, igs); } if (istos != 0) { initialGS.setStockpile(ResourceType.Stone, istos); } if (iws != 0) { initialGS.setStockpile(ResourceType.Wood, iws); } if (isils != 0) { initialGS.setStockpile(ResourceType.Silver, isils); } if (iis != 0) { initialGS.setStockpile(ResourceType.Iron, iis); } if (ics != 0) { initialGS.setStockpile(ResourceType.Coal, ics); } if (istes != 0) { initialGS.setStockpile(ResourceType.Steel, istes); } BuildingGS targetGS = new BuildingGS(); if (tgs != 0) { targetGS.setStockpile(ResourceType.Gold, tgs); } if (tstos != 0) { targetGS.setStockpile(ResourceType.Stone, tstos); } if (tws != 0) { targetGS.setStockpile(ResourceType.Wood, tws); } if (tsils != 0) { targetGS.setStockpile(ResourceType.Silver, tsils); } if (tis != 0) { targetGS.setStockpile(ResourceType.Iron, tis); } if (tcs != 0) { targetGS.setStockpile(ResourceType.Coal, tcs); } if (tstes != 0) { targetGS.setStockpile(ResourceType.Steel, tstes); } if (tgcpt != 0) { targetGS.addResourcePerTick(ResourceType.Gold, tgcpt); } if (tstocpt != 0) { targetGS.addResourcePerTick(ResourceType.Stone, tstocpt); } if (twcpt != 0) { targetGS.addResourcePerTick(ResourceType.Wood, twcpt); } if (tsilcpt != 0) { targetGS.addResourcePerTick(ResourceType.Silver, tsilcpt); } if (ticpt != 0) { targetGS.addResourcePerTick(ResourceType.Iron, ticpt); } if (tccpt != 0) { targetGS.addResourcePerTick(ResourceType.Coal, tccpt); } if (tstecpt != 0) { targetGS.addResourcePerTick(ResourceType.Steel, tstecpt); } MidLevelManager.targetGS = targetGS; MidLevelManager.initialGS = initialGS; SceneManager.LoadScene("AIControlled"); } catch (System.FormatException e) { } }