public zhuzhuang1(resstruct[] heidi, int x, int y, tjt main) { min.BorderStyle = BorderStyle.FixedSingle; //min.BackColor = Color.Blue; min.BackColor = Color.FromArgb(Pokemondata.MOVEDATA[(int)Pokemondata.EngMoveID[heidi[0].move]].color1 + (0xff << 24)); max.BorderStyle = BorderStyle.FixedSingle; //max.BackColor = Color.Red; max.BackColor = Color.FromArgb(Pokemondata.MOVEDATA[(int)Pokemondata.EngMoveID[heidi[0].move]].color2 + (0xff << 24)); //Color.FromArgb(0xaaaaaa); string[] sci = heidi[1].damagebfb.Substring(0, heidi[0].damagebfb.Length - 1).Split('-'); min.SetBounds(x, y, (int)(5 * double.Parse(sci[0])), 25); min.Text = Pokemondata.GetMoveName(Pokemondata.EnglishNametoMoveID(heidi[0].move)); min.TextAlign = ContentAlignment.MiddleCenter; max.SetBounds(x, y, (int)(5 * double.Parse(sci[1])), 25); minimg.SetBounds(x + 10, y + 25, 40, 40); while (!Pokemondata.EngPokemonID.Contains(heidi[1].pokemon)) { heidi[1].pokemon = heidi[1].pokemon.Substring(0, heidi[1].pokemon.LastIndexOf('-')); } minimg.Image = (Image)pokeimg.ResourceManager.GetObject(Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(heidi[1].pokemon)).name.Replace('-', 'T')); dmgdec.Location = new Point(x + 50, y + 40); statdec.Location = new Point(x + 50, y + 60); dmgdec.Text = Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(heidi[1].pokemon)).name; if (heidi[1].item != null) { dmgdec.Text += " " + Pokemondata.GetItemName(Pokemondata.EnglishNametoItemID(heidi[1].item)); } dmgdec.Text += "("; if (heidi[1].stat > 0) { dmgdec.Text += "+"; dmgdec.Text += heidi[1].stat.ToString() + " "; } else if (heidi[1].stat < 0) { dmgdec.Text += heidi[1].stat.ToString() + " "; } if (heidi[1].IVs.Value[2] != -1) { string scixing = (heidi[1].IVs.Value[2]).ToString(); if (heidi[1].defplus == 1) { scixing += "+"; } else if (heidi[1].defplus == -1) { scixing += "-"; } dmgdec.Text += string.Format("{0} HP {1} 物防)", heidi[1].IVs.Value[0], scixing); } else { string scixing = (heidi[1].IVs.Value[4]).ToString(); if (heidi[1].spaplus == 1) { scixing += "+"; } else if (heidi[1].spaplus == -1) { scixing += "-"; } dmgdec.Text += string.Format("{0} HP {1} 特防)", heidi[1].IVs.Value[0], scixing); } dmgdec.Text += "受到 " + Pokemondata.GetMoveName(Pokemondata.EnglishNametoMoveID(heidi[0].move)); if (heidi[0].movepow != 0) { dmgdec.Text += string.Format("({0} 威力)", heidi[0].movepow); } dmgdec.Text += " " + heidi[0].damagenum.Trim(); dmgdec.Text += string.Format(" ({0})", heidi[0].damagebfb); dmgdec.AutoSize = true; statdec.AutoSize = true; if (heidi[0].burn) { statdec.Text += ",灼伤"; } if (heidi[0].helpinghand) { statdec.Text += ",帮助"; } if (heidi[1].reflect) { statdec.Text += ",反射壁"; } if (heidi[1].lightscreen) { statdec.Text += ",光墙"; } if (heidi[1].auroraveil) { statdec.Text += ",极光幕"; } if (heidi[1].friendguard) { statdec.Text += ",友情防守"; } if (heidi[1].crit) { statdec.Text += ",CT"; } if (heidi[1].protect) { statdec.Text += ",保护"; } if (heidi[1].weather != null) { statdec.Text += "," + heidi[1].weather; } if (heidi[1].terrain != null) { statdec.Text += "," + heidi[1].terrain; } if (statdec.Text != "") { statdec.Text = "其他附加状态: " + statdec.Text.Substring(1); } if (heidi[0].damagedec.Contains("HKO")) { string mipha = Regex.Split(heidi[0].damagedec, "HKO")[0] + "HKO "; statdec.Text = mipha + statdec.Text; } main.Controls.Add(min); main.Controls.Add(dmgdec); main.Controls.Add(statdec); main.Controls.Add(max); main.Controls.Add(minimg); //main.Controls.Add(new Button()); }
public static PokemonInfo PStoPokemon_once(string PStext) { string[] data = Regex.Split(PStext.Trim(), "\r*\n"); string[] NameandItem = Regex.Split(data[0].Trim(), @"\s+@\s+"); // 昵称 string Item = null; string Name = NameandItem[0]; string move = ""; string Ability = null; Racial EVSfin = new Racial(); EVSfin.clear(); Racial IVsfin = new Racial(); IVsfin.fill(); int Level = 50; int Happiness = 160; if (NameandItem.Length > 1) { Item = Pokemondata.GetItemName(Pokemondata.EnglishNametoItemID(NameandItem[1])); } string[] ntemp = Regex.Split(Name, @"\s+\("); string nickname = null; string Nature = "Serious"; bool SHINY = false; if (ntemp.Length == 3) { nickname = ntemp[0]; Name = ntemp[1].Substring(0, ntemp[1].Length - 1); } else if (ntemp.Length == 2) { if (ntemp[1].Length <= 4) { Name = ntemp[0]; } else { Name = ntemp[1].Substring(0, ntemp[1].Length - 1); } } int qq = 9; //Name = Name.Replace("-Gmax", ""); PokemonInfo PB = new PokemonInfo(Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(Name.Replace("-Gmax", "")))); if (Name.Contains("-Gmax")) { PB.Gmax = true; } for (int i = 1; i < data.Length; ++i) { string[] temp = Regex.Split(data[i].Trim(), @"\s*:\s*"); switch (temp[0]) { case "Ability": Ability = Pokemondata.GetAbilityName(Pokemondata.EnglishNametoAbilityID(temp[1])); break; case "EVs": string[] EVs = Regex.Split(temp[1], @"\s*/\s*"); foreach (string item in EVs) { string[] orz = Regex.Split(item, @"\s+"); if (title(orz[1]) >= 0) { EVSfin.FromnumToSet(title(orz[1]), int.Parse(orz[0])); } } break; case "IVs": string[] IVs = Regex.Split(temp[1], @"\s*/\s*"); foreach (string item in IVs) { string[] orz = Regex.Split(item, @"\s+"); if (title(orz[1]) >= 0) { IVsfin.FromnumToSet(title(orz[1]), int.Parse(orz[0])); } } break; case "Level": Level = int.Parse(temp[1]); break; case "Shiny": if (temp[1] == "Yes") { SHINY = true; } break; case "Happiness": Happiness = int.Parse(temp[1]); break; default: string[] gg = data[i].Split(' '); if (gg[1] == "Nature") { Nature = gg[0]; } else { string move1 = Regex.Replace(data[i].Trim(), @"\s*-\s+", ""); if (move1.Contains("Hidden Power")) { if (move1.Contains("[")) { string wqeeq = move1.Substring(move1.IndexOf("[") + 1, move1.Length - move1.IndexOf("[") - 2); move1 = "觉醒力量-" + Pokemondata.GetTypeName (Pokemondata.GetEngTypeId(move1.Substring(move1.IndexOf("[") + 1, move1.Length - move1.IndexOf("[") - 2))); } else { move1 = "觉醒力量-" + Pokemondata.GetTypeName(Pokemondata.GetEngTypeId(IVsfin.getHiddenPowerType())); } if (move == "") { move = move1; } else { move += "," + (move1); } } else { if (move == "") { move = Pokemondata.GetMoveName(Pokemondata.EnglishNametoMoveID(move1)); } else { move += "," + Pokemondata.GetMoveName(Pokemondata.EnglishNametoMoveID(move1)); } } //move1 = Regex.Replace(move1, "\\[.+?\\]", "").Trim(); } break; } } string[] movelist = move.Split(','); PB.Pokemonextend(movelist, Item, Ability, SHINY, EVSfin, IVsfin, Level, Pokemondata.getNatureClass(Nature)); return(PB); }
private void tjt_Load(object sender, EventArgs e) { bd = new Label(); pic = new Panel(); bd.Paint += Bd_Paint; bd.BorderStyle = BorderStyle.FixedSingle; bd.SetBounds(basex, basey, 500, 20 + icefairy.GetLength(0) * 100); //pic.Controls.Add(bd); this.Height = 150 + icefairy.GetLength(0) * 100; pic.SetBounds(0, 0, this.Width, this.Height); //g2.DrawLine(p, 0, 100, 100, 100); Label[] markx = new Label[11]; for (int i = 0; i <= 10; ++i) { markx[i] = new Label(); markx[i].Text = string.Format("{0}%", 10 * i); markx[i].Location = new Point(basex + 50 * i - 5, 20 + icefairy.GetLength(0) * 100 + basey); markx[i].AutoSize = true; Controls.Add(markx[i]); } Label heidi0821 = new Label(); Label gazeru = new Label(); heidi0821.SetBounds(basex + 60, basey - 40, 40, 40); gazeru.Location = new Point(basex + 100, basey - 25); gazeru.AutoSize = true; if (flag == 0) { heidi0821.Image = (Image)pokeimg.ResourceManager.GetObject(Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(icefairy[0, 1].pokemon)).name.Replace('-', 'T')); gazeru.Text = "防守方: " + Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(icefairy[0, 1].pokemon)).name; int tempwg = 0; string item = ""; for (int i = 0; i < icefairy.GetLength(0); ++i) { tempwg = Math.Max(tempwg, icefairy[i, 1].IVs.Value[2]); if (icefairy[i, 1].item != "" && icefairy[i, 1].item != null) { item = icefairy[i, 1].item; } } string wg = tempwg.ToString(); if (icefairy[0, 1].defplus == 1) { wg += "+"; } else if (icefairy[0, 1].defplus == -1) { wg += "-"; } int temptg = 0; for (int i = 0; i < icefairy.GetLength(0); ++i) { temptg = Math.Max(temptg, icefairy[i, 1].IVs.Value[4]); } string tg = temptg.ToString(); if (icefairy[0, 1].spdplus == 1) { tg += "+"; } else if (icefairy[0, 1].spdplus == -1) { tg += "-"; } gazeru.Text += string.Format("({2} HP {0} 物防 {1} 特防)", wg, tg, icefairy[0, 1].IVs.Value[0]); if (item != "") { gazeru.Text += " @ " + Pokemondata.GetItemName(Pokemondata.EnglishNametoItemID(item)); } } else { heidi0821.Image = (Image)pokeimg.ResourceManager.GetObject(Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(icefairy[0, 0].pokemon)).name.Replace('-', 'T')); //heidi0821.Image = (Image)pokeimg.ResourceManager.GetObject(Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(icefairy[0, 1].pokemon)).name.Replace('-', 'T')); gazeru.Text = "进攻方: " + Pokemondata.GetPokemonBase(Pokemondata.EnglishNametopokeID(icefairy[0, 0].pokemon)).name; int tempwg = 0; string item = ""; for (int i = 0; i < icefairy.GetLength(0); ++i) { tempwg = Math.Max(tempwg, icefairy[i, 0].IVs.Value[1]); if (icefairy[i, 0].item != "" && icefairy[i, 0].item != null) { item = icefairy[i, 0].item; } } string wg = tempwg.ToString(); if (icefairy[0, 0].atkplus == 1) { wg += "+"; } else if (icefairy[0, 0].atkplus == -1) { wg += "-"; } int temptg = 0; for (int i = 0; i < icefairy.GetLength(0); ++i) { temptg = Math.Max(temptg, icefairy[i, 0].IVs.Value[3]); } string tg = temptg.ToString(); if (icefairy[0, 1].spaplus == 1) { tg += "+"; } else if (icefairy[0, 1].spaplus == -1) { tg += "-"; } gazeru.Text += string.Format("({0} 攻击 {1} 特攻)", wg, tg); if (item != "") { gazeru.Text += " @ " + Pokemondata.GetItemName(Pokemondata.EnglishNametoItemID(item)); } } Controls.Add(heidi0821); Controls.Add(gazeru); for (int i = 0; i < icefairy.GetLength(0); ++i) { if (flag == 0) { zhuzhuang aa = new zhuzhuang(new resstruct[] { icefairy[i, 0], icefairy[i, 1] }, basex, basey + 20 + 100 * i, this); } else { zhuzhuang1 aa = new zhuzhuang1(new resstruct[] { icefairy[i, 0], icefairy[i, 1] }, basex, basey + 20 + 100 * i, this); } } Controls.Add(bd); Pen pen2 = new Pen(Color.Blue, 3); pen2.DashStyle = DashStyle.Custom; pen2.DashPattern = new float[] { 1f, 1f }; Graphics g2 = bd.CreateGraphics(); g2.DrawLine(pen2, 125, 0, 125, 3000); //Controls.Add(pic); }