示例#1
0
        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( );
 }
示例#4
0
        //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"));
        }
示例#5
0
		/// <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 ( );
		}
示例#6
0
        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);
        }
示例#7
0
        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);
        }
示例#8
0
        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( );
        }
示例#10
0
 private KeyValuePair <string, string> GenerateNamePair(SpecificAccumulator sa)
 {
     return(new KeyValuePair <string, string> ("name", ng.GenerateName(sa.Name, sa.RandName, sa.Female, sa.IsKerman)));
 }
示例#11
0
 private KeyValuePair <string, string> GenerateTourPair(SpecificAccumulator sa)
 {
     return(new KeyValuePair <string, string> ("tour", sa.Tourist.ToString( )));
 }
示例#12
0
 public Kerbal KreateKerbal(SpecificAccumulator sa)
 {
     Logger.LogEvent("Generating A New Kerbal");
     return(new Kerbal(GenerateList(sa)));
 }
示例#13
0
 private KeyValuePair <string, string> GenerateDumbPair(SpecificAccumulator sa)
 {
     return(CreateFloatPair("dumb", sa.RandDumb, sa.Dumb));
 }
示例#14
0
 private KeyValuePair <string, string> GenerateBadsPair(SpecificAccumulator sa)
 {
     return(new KeyValuePair <string, string> ("badS", sa.Badass.ToString( )));
 }
示例#15
0
 private KeyValuePair <string, string> GenerateBravePair(SpecificAccumulator sa)
 {
     return(CreateFloatPair("brave", sa.RandBrave, sa.Brave));
 }
示例#16
0
 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( );
 }
示例#18
0
        private KeyValuePair <string, string> GenerateGenderPair(SpecificAccumulator sa)
        {
            string female = sa.Female ? "Female" : "Male";

            return(new KeyValuePair <string, string> ("gender", female));
        }
示例#19
0
 //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"));
 }