private FeatureContext ComputeOutOfBend(FeatureContext features, int nbOut) { if (nbOut > 0) { FeatureContext result = features.Clone(); if (ContextEngine.Instance.gameContext.state == GameStateType.Race) { result.tire = features.tire - nbOut; } else if (ContextEngine.Instance.gameContext.state == GameStateType.Qualification) { result.outOfBend += nbOut; } return(result); } else { return(features); } }
private FeatureContext ComputeUseBrake(FeatureContext features, int de, bool isStandWay, int nbCase) { FeatureContext result = features.Clone(); if (ContextEngine.Instance.gameContext.state == GameStateType.Race && !isStandWay) { int difDe = de - nbCase; if (difDe >= 6) { result.brake = features.brake - 3; result.tire = features.tire - 3; } else if (difDe == 5) { result.brake = features.brake - 3; result.tire = features.tire - 2; } else if (difDe == 4) { result.brake = features.brake - 3; result.tire = features.tire - 1; } else if (difDe == 3) { result.brake = features.brake - 3; } else if (difDe == 2) { result.brake = features.brake - 2; } else if (difDe == 1) { result.brake = features.brake - 1; } } return(result); }
private FeatureContext ComputeUseBrake(FeatureContext features, int de, bool isStandWay, int nbCase) { FeatureContext result = features.Clone(); if (ContextEngine.Instance.gameContext.state == GameStateType.Race && !isStandWay) { int difDe = de - nbCase; if (difDe >= 6) { result.brake = features.brake - 3; result.tire = features.tire - 3; } else if (difDe == 5) { result.brake = features.brake - 3; result.tire = features.tire - 2; } else if (difDe == 4) { result.brake = features.brake - 3; result.tire = features.tire - 1; } else if (difDe == 3) { result.brake = features.brake - 3; } else if (difDe == 2) { result.brake = features.brake - 2; } else if (difDe == 1) { result.brake = features.brake - 1; } } return result; }
private FeatureContext ComputeOutOfBend(FeatureContext features, int nbOut) { if (nbOut > 0) { FeatureContext result = features.Clone(); if (ContextEngine.Instance.gameContext.state == GameStateType.Race) { result.tire = features.tire - nbOut; } else if (ContextEngine.Instance.gameContext.state == GameStateType.Qualification) { result.outOfBend += nbOut; } return result; } else { return features; } }