コード例 #1
0
        void Row_Add(KmtCharacter character, KmtVehicle vehicle)
        {
            dgv_CPUs.Rows.Add(dict_character[character],
                              dict_vehicle[vehicle]);
            CPUs.Add(new KmtCPUEntry(character, vehicle));

            menu_Add.Enabled = (dgv_CPUs.Rows.Count < 11);
        }
コード例 #2
0
        public int Size; //0=Small; 1=Medium; 2=Large

        public CharacterSize(KmtCharacter character, int size)
        {
            Character = character;
            Size      = size;
        }
コード例 #3
0
        public Form_CharVeh(KmtCharacter selectedchar, KmtVehicle selectedveh)
        {
            InitializeComponent();
            Character = selectedchar;

            int max_width  = 0;
            int max_height = 0;

            void UpdateMax(int width, int height)
            {
                if (max_width < (width + padding_x * 2))
                {
                    max_width = width + padding_x * 2;
                }
                if (max_height < (height + padding_y * 2))
                {
                    max_height = height + padding_y * 2;
                }
            }

            #region Page 1
            Panel page1 = new Panel();
            pages.Add(page1);

            const int char_width      = 125;
            const int char_height     = 18;
            const int char_gap_width  = 6;
            const int char_gap_height = 6;

            List <Dictionary <string, CharacterSize> > charrows =
                new List <Dictionary <string, CharacterSize> >();
            #region Define Characters
            Dictionary <string, CharacterSize> characters;
            characters = new Dictionary <string, CharacterSize>();
            characters.Add("Baby Mario", new CharacterSize(KmtCharacter.BabyMario, 0));
            characters.Add("Baby Luigi", new CharacterSize(KmtCharacter.BabyLuigi, 0));
            characters.Add("Baby Peach", new CharacterSize(KmtCharacter.BabyPeach, 0));
            characters.Add("Baby Daisy", new CharacterSize(KmtCharacter.BabyDaisy, 0));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("Toad", new CharacterSize(KmtCharacter.Toad, 0));
            characters.Add("Toadette", new CharacterSize(KmtCharacter.Toadette, 0));
            characters.Add("Koopa Troopa", new CharacterSize(KmtCharacter.Koopa, 0));
            characters.Add("Dry Bones", new CharacterSize(KmtCharacter.DryBones, 0));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("Mario", new CharacterSize(KmtCharacter.Mario, 1));
            characters.Add("Luigi", new CharacterSize(KmtCharacter.Luigi, 1));
            characters.Add("Peach", new CharacterSize(KmtCharacter.Peach, 1));
            characters.Add("Daisy", new CharacterSize(KmtCharacter.Daisy, 1));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("Yoshi", new CharacterSize(KmtCharacter.Yoshi, 1));
            characters.Add("Birdo", new CharacterSize(KmtCharacter.Birdo, 1));
            characters.Add("Diddy Kong", new CharacterSize(KmtCharacter.DiddyKong, 1));
            characters.Add("Bowser Jr.", new CharacterSize(KmtCharacter.BowserJr, 1));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("Wario", new CharacterSize(KmtCharacter.Wario, 2));
            characters.Add("Waluigi", new CharacterSize(KmtCharacter.Waluigi, 2));
            characters.Add("Donkey Kong", new CharacterSize(KmtCharacter.DonkeyKong, 2));
            characters.Add("Bowser", new CharacterSize(KmtCharacter.Bowser, 2));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("King Boo", new CharacterSize(KmtCharacter.KingBoo, 2));
            characters.Add("Rosalina", new CharacterSize(KmtCharacter.Rosalina, 2));
            characters.Add("Funky Kong", new CharacterSize(KmtCharacter.FunkyKong, 2));
            characters.Add("Dry Bowser", new CharacterSize(KmtCharacter.DryBowser, 2));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("S Mii A M", new CharacterSize(KmtCharacter.SMiiAM, 0));
            characters.Add("S Mii A F", new CharacterSize(KmtCharacter.SMiiAF, 0));
            characters.Add("S Mii B M", new CharacterSize(KmtCharacter.SMiiBM, 0));
            characters.Add("S Mii B F", new CharacterSize(KmtCharacter.SMiiBF, 0));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("S Mii C M", new CharacterSize(KmtCharacter.SMiiCM, 0));
            characters.Add("S Mii C F", new CharacterSize(KmtCharacter.SMiiCF, 0));
            characters.Add("S Mii", new CharacterSize(KmtCharacter.SMii, 0));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("M Mii A M", new CharacterSize(KmtCharacter.MMiiAM, 1));
            characters.Add("M Mii A F", new CharacterSize(KmtCharacter.MMiiAF, 1));
            characters.Add("M Mii B M", new CharacterSize(KmtCharacter.MMiiBM, 1));
            characters.Add("M Mii B F", new CharacterSize(KmtCharacter.MMiiBF, 1));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("M Mii C M", new CharacterSize(KmtCharacter.MMiiCM, 1));
            characters.Add("M Mii C F", new CharacterSize(KmtCharacter.MMiiCF, 1));
            characters.Add("M Mii", new CharacterSize(KmtCharacter.MMii, 1));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("L Mii A M", new CharacterSize(KmtCharacter.LMiiAM, 2));
            characters.Add("L Mii A F", new CharacterSize(KmtCharacter.LMiiAF, 2));
            characters.Add("L Mii B M", new CharacterSize(KmtCharacter.LMiiBM, 2));
            characters.Add("L Mii B F", new CharacterSize(KmtCharacter.LMiiBF, 2));
            charrows.Add(characters);

            characters = new Dictionary <string, CharacterSize>();
            characters.Add("L Mii C M", new CharacterSize(KmtCharacter.LMiiCM, 2));
            characters.Add("L Mii C F", new CharacterSize(KmtCharacter.LMiiCF, 2));
            characters.Add("L Mii", new CharacterSize(KmtCharacter.LMii, 2));
            charrows.Add(characters);
            #endregion

            int         char_newwidth      = 0;
            int         char_newheight     = 0;
            RadioButton char_firstbutton   = null;
            bool        char_isfirstbutton = false;
            bool        char_oneischecked  = false;
            for (int y = 0; y < charrows.Count; y += 1)
            {
                Dictionary <string, CharacterSize> charrow =
                    charrows[y];
                if (y > 0)
                {
                    char_newheight += char_gap_height;
                }
                int      offset_x  = 0;
                string[] charnames = charrow.Keys.ToArray();
                for (int x = 0; x < charrow.Count; x += 1)
                {
                    string       name  = charnames[x];
                    KmtCharacter charr = charrow[name].Character;
                    int          csize = charrow[name].Size;
                    if (x > 0)
                    {
                        offset_x += char_gap_width;
                    }
                    RadioButton button = new RadioButton();
                    buttonscharacters.Add(button, new CharacterSize(charr, csize));
                    if (char_isfirstbutton)
                    {
                        char_firstbutton   = button;
                        char_isfirstbutton = false;
                    }
                    button.AutoSize = false;
                    button.Location = new Point(offset_x, char_newheight);
                    button.Size     = new Size(char_width, char_height);
                    button.Text     = name;
                    void ButtonClicked(object sender, EventArgs e)
                    {
                        if (button.Checked)
                        {
                            Character    = buttonscharacters[button].Character;
                            vehicleclass = buttonscharacters[button].Size;
                        }
                    }

                    button.CheckedChanged += new EventHandler(ButtonClicked);
                    if (charr == Character)
                    {
                        char_oneischecked = true;
                        button.Checked    = true;
                    }
                    page1.Controls.Add(button);
                    offset_x += char_width;
                }
                if (char_newwidth < offset_x)
                {
                    char_newwidth = offset_x;
                }
                char_newheight += char_height;
            }
            if (!char_oneischecked & char_firstbutton != null)
            {
                char_firstbutton.Checked = true;
            }
            page1.Size = new Size(char_newwidth, char_newheight);


            UpdateMax(page1.Width, page1.Height);
            #endregion

            #region Page 2
            Panel page2 = new Panel();
            pages.Add(page2);

            const int veh_width      = 125;
            const int veh_height     = 18;
            const int veh_gap_width  = 6;
            const int veh_gap_height = 6;

            List <Dictionary <string[], KmtVehicle[]> > vehrows =
                new List <Dictionary <string[], KmtVehicle[]> >();
            #region Define Vehicles
            Dictionary <string[], KmtVehicle[]>   vehicles;
            KeyValuePair <string[], KmtVehicle[]> veh_kvp;
            KeyValuePair <string[], KmtVehicle[]> vehicle_KVP(
                string name_1, KmtVehicle code_1,
                string name_2, KmtVehicle code_2,
                string name_3, KmtVehicle code_3)
            {
                string[]     vehicle_name = new string[3];
                KmtVehicle[] vehicle_code = new KmtVehicle[3];
                vehicle_name[0] = name_1; vehicle_code[0] = code_1;
                vehicle_name[1] = name_2; vehicle_code[1] = code_2;
                vehicle_name[2] = name_3; vehicle_code[2] = code_3;
                return(new KeyValuePair <string[], KmtVehicle[]>
                           (vehicle_name, vehicle_code));
            }

            vehicles = new Dictionary <string[], KmtVehicle[]>();
            veh_kvp  = vehicle_KVP(
                "Standard Kart S", KmtVehicle.StandardKartS,
                "Standard Kart M", KmtVehicle.StandardKartM,
                "Standard Kart L", KmtVehicle.StandardKartL);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            veh_kvp = vehicle_KVP(
                "Standard Bike S", KmtVehicle.StandardBikeS,
                "Standard Bike M", KmtVehicle.StandardBikeM,
                "Standard Bike L", KmtVehicle.StandardBikeL);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            vehrows.Add(vehicles);

            vehicles = new Dictionary <string[], KmtVehicle[]>();
            veh_kvp  = vehicle_KVP(
                "Booster Seat", KmtVehicle.BoosterSeat,
                "Classic Dragster", KmtVehicle.ClassicDragster,
                "Offroader", KmtVehicle.Offroader);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            veh_kvp = vehicle_KVP(
                "Bullet Bike", KmtVehicle.BulletBike,
                "Mach Bike", KmtVehicle.MachBike,
                "Flame Runner", KmtVehicle.FlameRunner);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            vehrows.Add(vehicles);

            vehicles = new Dictionary <string[], KmtVehicle[]>();
            veh_kvp  = vehicle_KVP(
                "Mini Beast", KmtVehicle.MiniBeast,
                "Wild Wing", KmtVehicle.WildWing,
                "Flame Flyer", KmtVehicle.FlameFlyer);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            veh_kvp = vehicle_KVP(
                "Bit Bike", KmtVehicle.BitBike,
                "Sugarscoot", KmtVehicle.Sugarscoot,
                "Wario Bike", KmtVehicle.WarioBike);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            vehrows.Add(vehicles);

            vehicles = new Dictionary <string[], KmtVehicle[]>();
            veh_kvp  = vehicle_KVP(
                "Cheep Charger", KmtVehicle.CheepCharger,
                "Super Blooper", KmtVehicle.SuperBlooper,
                "Piranha Prowler", KmtVehicle.PiranhaProwler);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            veh_kvp = vehicle_KVP(
                "Quacker", KmtVehicle.Quacker,
                "Zip Zip", KmtVehicle.ZipZip,
                "Shooting Star", KmtVehicle.ShootingStar);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            vehrows.Add(vehicles);

            vehicles = new Dictionary <string[], KmtVehicle[]>();
            veh_kvp  = vehicle_KVP(
                "Tiny Titan", KmtVehicle.TinyTitan,
                "Daytripper", KmtVehicle.Daytripper,
                "Jetsetter", KmtVehicle.Jetsetter);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            veh_kvp = vehicle_KVP(
                "Magikruiser", KmtVehicle.Magikruiser,
                "Sneakster", KmtVehicle.Sneakster,
                "Spear", KmtVehicle.Spear);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            vehrows.Add(vehicles);

            vehicles = new Dictionary <string[], KmtVehicle[]>();
            veh_kvp  = vehicle_KVP(
                "Blue Falcon", KmtVehicle.BlueFalcon,
                "Sprinter", KmtVehicle.Sprinter,
                "Honeycoupe", KmtVehicle.Honeycoupe);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            veh_kvp = vehicle_KVP(
                "Jet Bubble", KmtVehicle.JetBubble,
                "Dolphin Dasher", KmtVehicle.DolphinDasher,
                "Phantom", KmtVehicle.Phantom);
            vehicles.Add(veh_kvp.Key, veh_kvp.Value);
            vehrows.Add(vehicles);
            #endregion

            int         veh_newwidth      = 0;
            int         veh_newheight     = 0;
            RadioButton veh_firstbutton   = null;
            bool        veh_isfirstbutton = false;
            bool        veh_oneischecked  = false;
            for (int y = 0; y < vehrows.Count; y += 1)
            {
                Dictionary <string[], KmtVehicle[]> vehrow =
                    vehrows[y];
                if (y > 0)
                {
                    veh_newheight += veh_gap_height;
                }
                int offset_x = 0;
                int x        = 0;
                foreach (KeyValuePair <string[], KmtVehicle[]> kvp
                         in vehrow)
                {
                    RadioButton button = new RadioButton();
                    buttonsvehicles.Add(button, kvp);

                    if (veh_isfirstbutton)
                    {
                        veh_firstbutton   = button;
                        veh_isfirstbutton = false;
                    }
                    button.AutoSize = false;
                    button.Location = new Point(offset_x, veh_newheight);
                    button.Size     = new Size(veh_width, veh_height);
                    void ButtonClicked(object sender, EventArgs e)
                    {
                        if (button.Checked)
                        {
                            KeyValuePair <string[], KmtVehicle[]> kmtveh =
                                (buttonsvehicles[button]);
                            Vehicle = kmtveh.Value[vehicleclass];
                        }
                    }

                    button.CheckedChanged += new EventHandler(ButtonClicked);
                    if (Array.IndexOf(kvp.Value, selectedveh) >= 0)
                    {
                        Vehicle          = selectedveh;
                        veh_oneischecked = true;
                        button.Checked   = true;
                    }

                    page2.Controls.Add(button);
                    offset_x += veh_width;

                    x += 1;
                }
                if (veh_newwidth < offset_x)
                {
                    veh_newwidth = offset_x;
                }
                veh_newheight += veh_height;
            }
            if (!veh_oneischecked & veh_firstbutton != null)
            {
                veh_firstbutton.Checked = true;
            }
            page2.Size = new Size(veh_newwidth, veh_newheight);

            UpdateMax(page2.Width, page2.Height);
            #endregion

            p_CharVeh.Size          = new Size(max_width, max_height);
            flp_CharVeh.MaximumSize = new Size(p_CharVeh.Width, 0);

            Display_Page_1();
        }