private void incrementCounts(SpecificAccumulator sa) { switch (sa.Female) { case true: femalesCreated++; break; case false: malesCreated++; break; } switch (sa.Trait) { case "Pilot": pilotsCreated++; break; case "Engineer": engineersCreated++; break; case "Scientist": scientistsCreated++; break; } if (sa.Badass) { badassCreated++; } if (sa.Tourist) { touristCreated++; } }
internal KerbalKreationForm(Roster roster) { InitializeComponent( ); specAccum = new SpecificAccumulator( ); this.roster = roster; UpdateDisplay( ); }
public frm_Krb_Gen( ) { InitializeComponent( ); generator = new Therapist( ); specAccum = new SpecificAccumulator( ); randAccum = new RandomAccumulator( ); }
//for right now, all created kerbals are automagically hired. //TODO: allow kerbals to be applicants too! private KeyValuePair <string, string> GenerateTypePair(SpecificAccumulator sa) { float picker = Util.GetRandomFloat( ); if (picker > .31f) { return(new KeyValuePair <string, string> ("type", "Crew")); } return(new KeyValuePair <string, string> ("type", "Applicant")); }
/// <summary> /// Create a New Kerbal, and Add to the Temporary Roster /// </summary> /// <param name="sa">The Specific Accumulator To Use.</param> internal void KreateKerbal ( SpecificAccumulator sa ) { Kerbal k = new KerbalMaker ( ).KreateKerbal ( sa ); switch ( PreviewKerbal ( k ) ) { case DialogResult.Yes: roster.AddKerbal ( k ); break; default: break; } UpdateKerbalStats ( ); UpdateSaveStats ( ); }
private SpecificAccumulator RandomToSpecificAccumulator(RandomAccumulator ra) { SpecificAccumulator sa = new SpecificAccumulator( ); //get our gender first, so that we can generate a gender appropriate name; sa.Female = PickRandomAccumGender(ra); //always true. I forgot, we pick our names during Kerbal Generation. sa.RandName = true; //just copy isKerman from RA to SA. sa.IsKerman = ra.isKerman; //assign our traits; sa.Trait = assignTrait(ra); //generate our stupid and brave values; sa.Brave = Util.GetRandomFloatInRange(ra.MinBrave, ra.MaxBrave); sa.Dumb = Util.GetRandomFloatInRange(ra.MinStupid, ra.MaxStupid); //just some counting variables. //TODO: Move This if (badassCreated < ra.MinNumberOfBadasses) { sa.Badass = true; } else { //Each kerbal has a 50/50 shot of being badass. if (Util.GetRandomFloat( ) > .5f) { sa.Badass = true; } else { sa.Badass = false; } } if (touristCreated < ra.MaxNumberOfTourists) { //Each Kerbal has a ~5% chance of being a tourist. if (Util.GetRandomFloat( ) > .95f) { sa.Tourist = true; } else { sa.Tourist = false; } } return(sa); }
private List <KeyValuePair <string, string> > GenerateList(SpecificAccumulator sa) { List <KeyValuePair <string, string> > list = new List <KeyValuePair <string, string> > ( ); list.Add(GenerateNamePair(sa)); list.Add(GenerateGenderPair(sa)); list.Add(GenerateTypePair(sa)); list.Add(GenerateTraitPair(sa)); list.Add(GenerateBravePair(sa)); list.Add(GenerateDumbPair(sa)); list.Add(GenerateBadsPair(sa)); list.Add(GenerateTourPair(sa)); list.Add(GenerateStatePair( )); list.Add(GenerateToDPair( )); list.Add(GenerateIdxPair( )); return(list); }
private SpecificAccumulator RandomToSpecificAccumulator(RandomAccumulator ra) { SpecificAccumulator sa = new SpecificAccumulator( ); //get our gender first, so that we can generate a gender appropriate name; sa.Female = PickRandomAccumGender(ra); //always true. I forgot, we pick our names during Kerbal Generation. sa.RandName = true; //just copy isKerman from RA to SA. sa.IsKerman = ra.isKerman; //assign our traits; sa.Trait = assignTrait(ra); //generate our stupid and brave values; sa.Brave = Util.GetRandomFloatInRange(ra.MinBrave, ra.MaxBrave); sa.Dumb = Util.GetRandomFloatInRange(ra.MinStupid, ra.MaxStupid); //Tourist or Badass? sa.Badass = PickRandomAccumBadAss(ra); sa.Tourist = PickRandomAccumTourist(ra); return(sa); }
//todo: create an UpdateSpecificAccumulator method. private void btn_spe_reset_Click(object sender, EventArgs e) { txt_spe_kerbname.Text = ""; rd_spe_genderfemale.Checked = true; rd_spe_pilot.Checked = true; chk_spe_badass.Checked = false; chk_spe_tourist.Checked = false; tbar_spe_brave.Value = 0; tbar_spe_stupid.Value = 0; btn_spe_generate.Enabled = false; lbl_spe_stupiddisp.Text = "0"; lbl_spe_bravedisp.Text = "0"; chk_spe_rndBrave.Checked = false; chk_spe_rndStupid.Checked = false; specAccum = specAccum.Reset( ); }
private KeyValuePair <string, string> GenerateNamePair(SpecificAccumulator sa) { return(new KeyValuePair <string, string> ("name", ng.GenerateName(sa.Name, sa.RandName, sa.Female, sa.IsKerman))); }
private KeyValuePair <string, string> GenerateTourPair(SpecificAccumulator sa) { return(new KeyValuePair <string, string> ("tour", sa.Tourist.ToString( ))); }
public Kerbal KreateKerbal(SpecificAccumulator sa) { Logger.LogEvent("Generating A New Kerbal"); return(new Kerbal(GenerateList(sa))); }
private KeyValuePair <string, string> GenerateDumbPair(SpecificAccumulator sa) { return(CreateFloatPair("dumb", sa.RandDumb, sa.Dumb)); }
private KeyValuePair <string, string> GenerateBadsPair(SpecificAccumulator sa) { return(new KeyValuePair <string, string> ("badS", sa.Badass.ToString( ))); }
private KeyValuePair <string, string> GenerateBravePair(SpecificAccumulator sa) { return(CreateFloatPair("brave", sa.RandBrave, sa.Brave)); }
private KeyValuePair <string, string> GenerateTraitPair(SpecificAccumulator sa) { return(new KeyValuePair <string, string> ("trait", sa.Trait)); }
private void btn_spe_reset_Click(object sender, EventArgs e) { specAccum = specAccum.Reset( ); }
private KeyValuePair <string, string> GenerateGenderPair(SpecificAccumulator sa) { string female = sa.Female ? "Female" : "Male"; return(new KeyValuePair <string, string> ("gender", female)); }
//for right now, all created kerbals are automagically hired. //NOTTODO: allow kerbals to be applicants too! //F**k that. That's annoying. All Kerbals are Automagic. private KeyValuePair <string, string> GenerateTypePair(SpecificAccumulator sa) { return(new KeyValuePair <string, string>("type", "Crew")); }