#[non_exhaustive]pub struct AutobalancePlan {
pub title: String,
pub entrants: Vec<(String, Option<String>)>,
pub groups: BTreeMap<String, Vec<String>>,
pub default_entrants: Vec<String>,
pub checks: PlaytestChecks,
pub stage: Box<dyn TunableStage>,
}Expand description
What autobalance searches on one of the game’s stages
(GameTools::autobalance_plan): who plays it and how they are judged,
as a PlaytestPlan says, and the stage it may change, its type the
game’s (Tunable). The command picks the entrants asked for and runs
the search (shuyi_core::autobalance_by), each setting’s tries played
on every core and judged once. Build it with AutobalancePlan::new
and assign the rest (ADR-0039).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.title: StringShown at the top of the answer: the stage and its tier, say.
entrants: Vec<(String, Option<String>)>Every entrant, in report order: its name and a label (a mode), if any.
groups: BTreeMap<String, Vec<String>>Named groups of entrants ("all"), which --entrant takes too.
default_entrants: Vec<String>The entrants that play when --entrant isn’t given (all of them
if empty).
checks: PlaytestChecksThe checks over the entrants that play, given their names: the bands the search lands them in.
stage: Box<dyn TunableStage>The stage as authored, its knobs, how a try is played on a changed
stage and how one is written: most simply a boxed Tunable.
Implementations§
Source§impl AutobalancePlan
impl AutobalancePlan
Sourcepub fn new(
title: impl Into<String>,
entrants: Vec<(String, Option<String>)>,
checks: PlaytestChecks,
stage: Box<dyn TunableStage>,
) -> Self
pub fn new( title: impl Into<String>, entrants: Vec<(String, Option<String>)>, checks: PlaytestChecks, stage: Box<dyn TunableStage>, ) -> Self
The plan titled title: entrants judged by checks on stage.
It has no groups, and every entrant plays unless
--entrant says (default_entrants
empty).