public FightState(Fight fight) { this.Fight = fight; this.FightControl = CalcFightControl(); this.F1 = new FighterState(fight.Fighter0()); this.F2 = new FighterState(fight.Fighter1()); //We should add some randomness here? FightDistance = FightControl * F1.PreferredDistance(F2) + (1 - FightControl) * F2.PreferredDistance(F1); FightStats = new List <FightStats>(); this.TimeOfStoppage = -1; this.Scorecards = new int[3, 2]; this.Punches = new List <List <Block.PunchResult> >(); InitNextRound(); }