public PivotFighter(FighterStats stats, FightPlan fightPlan, string name, TrainingStat trainingStat) { this.Stats = stats; this.FightPlan = fightPlan; this.Name = name; this.StatAdjustments = GetStatAdjustment(trainingStat); }
public FighterFight(FighterStats stats, FightPlan fp) { this.Fighter = new Fighter() { Stats = stats }; this.FightPlan = fp; Reset(); }
public static FightTracker GetFightTracker() { Weebul.Core.Model.Fighter f1 = new Weebul.Core.Model.Fighter() { Stats = new FighterStats(Shared.Locator().Fighter1.SelectedFighter) }; Weebul.Core.Model.Fighter f2 = new Weebul.Core.Model.Fighter() { Stats = new FighterStats(Shared.Locator().Fighter2.SelectedFighter) }; Weebul.Core.Model.FightPlan fp1 = new Weebul.Core.Model.FightPlan() { FightPlanText = Shared.Locator().FightPlanF1.FightPlanText, WeblScript = new Scripting.WeblScript() }; Weebul.Core.Model.FightPlan fp2 = new Weebul.Core.Model.FightPlan() { FightPlanText = Shared.Locator().FightPlanF2.FightPlanText, WeblScript = new Scripting.WeblScript() }; if (!fp1.Validate()) { MessageBox.Show("Fight plan 1 is invalid"); return(null); } if (!fp2.Validate()) { MessageBox.Show("Fight plan 2 is invalid"); return(null); } FightTracker tracker = new FightTracker(f1, f2, fp1, fp2, Shared.Locator().Options.Options); return(tracker); }
public FightTracker(Fighter fighter1, Fighter fighter2, FightPlan fighter1Plan, FightPlan fighter2Plan, FightOptions options) : this() { this.Fighter1 = new FighterFight(fighter1, fighter1Plan); this.Fighter2 = new FighterFight(fighter2, fighter2Plan); this.Options = options; }
public static List <Fight> PlayMultiple(int numberOfTimes, Fighter f1, Fighter f2, FightPlan fp1, FightPlan fp2, FightOptions options) { int perEach = numberOfTimes / 20; var results = new ConcurrentBag <List <Fight> >(); Parallel.For(0, 20, (i) => { FightTracker tracker = new FightTracker(f1, f2, fp1.Copy(), fp2.Copy(), options); List <Fight> resTemp = tracker.PlayFights(perEach); results.Add(resTemp); }); List <Fight> ret = results.SelectMany(fr => fr).ToList(); if (ret.Count < numberOfTimes) { int numSim = ret.Count - numberOfTimes; FightTracker tracker = new FightTracker(f1, f2, fp1.Copy(), fp2.Copy(), options); var v = tracker.PlayFights(numSim); foreach (var res in v) { ret.Add(res); } } return(ret); }
public FighterFight(Fighter fighter, FightPlan fp) { this.Fighter = fighter; this.FightPlan = fp; Reset(); }