public void WinFromLog(string log) { if (MainTextBox.InvokeRequired) { Action <string> actionDelegate = (x) => { MainTextBox.AppendText(Environment.NewLine); MainTextBox.AppendText(x.ToString()); MainTextBox.AppendText(Environment.NewLine); MainTextBox.ScrollToCaret(); }; MainTextBox.Invoke(actionDelegate, log); } else { try { MainTextBox.AppendText(log); MainTextBox.AppendText(Environment.NewLine); MainTextBox.AppendText(Environment.NewLine); MainTextBox.ScrollToCaret(); } catch (Exception) { return; } } }
internal void ShowStatus(string Status) { if (IsClosing) { return; } MainTextBox.AppendText(Status + "\r\n"); }
public void AppendToTextBox(string value) { if (InvokeRequired) { this.Invoke(new Action <string>(AppendToTextBox), new object[] { value }); return; } MainTextBox.AppendText(value + "\n"); }
private void AboutUs_Click(object sender, EventArgs e) { MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText("Союзный флот \n"); MainTextBox.SelectionColor = Color.Black; foreach (Entities.Ship s in PlayerShips) { MainTextBox.AppendText("На корабле "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(s.Name); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(".\n"); MainTextBox.AppendText("Который описывается в древних скрижалях как:\n"); MainTextBox.AppendText(s.Description + "\n\n"); MainTextBox.AppendText("Имеет следующие характеристики:\n"); MainTextBox.AppendText("Прочность: " + s.CurrentHP + "/" + s.MaxHP + " ед.\n"); MainTextBox.AppendText("Экипаж: " + s.Crew.Count() + "/" + s.CrewMax + " ед.\n"); MainTextBox.AppendText("Боевая мощь: " + s.FirePower + " ед."); MainTextBox.AppendText("\n\n"); MainTextBox.AppendText("Содержит следующий экипаж:\n"); foreach (Entities.Neko n in s.Crew) { MainTextBox.ReadOnly = false; Image img = Image.FromFile(n.ImagePath); Clipboard.Clear(); Clipboard.SetImage(img); MainTextBox.Paste(); Clipboard.Clear(); MainTextBox.AppendText("\n"); MainTextBox.ReadOnly = true; MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(n.Name + ".\n"); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(n.Description + "\n"); MainTextBox.AppendText("Уровень: " + n.LVL + "\n"); MainTextBox.AppendText("Изменение огневой мощи: " + n.FirePower + "\n"); MainTextBox.AppendText("Изменение структуры корабля: " + n.HP + "\n\n"); } MainTextBox.AppendText("------------------------------------------------------------------------------------------------------------------------------------------------------------------"); } MainTextBox.SelectionStart = MainTextBox.TextLength - 1; MainTextBox.ScrollToCaret(); }
private void SendBtn_Click(object sender, EventArgs e) { if (client == null) { Log.WriteLine("please check tcp connect!"); return; } object msg = msgApi.RouteGet(key); if (msg == null) { return; } int rowCount = this.dataGridView1.Rows.Count; int columnsCount = this.dataGridView1.ColumnCount; for (int i = 0; i < rowCount - 1; i++) { string dataType = ""; string dataName = ""; string dataValue = ""; object objtmp; objtmp = this.dataGridView1.Rows[i].Cells[0].Value; if (objtmp != null) { dataType = objtmp.ToString(); } else { string strLog = string.Format("row {0} dataType null", i); Log.WarnLine(strLog); } objtmp = this.dataGridView1.Rows[i].Cells[1].Value; if (objtmp != null) { dataName = objtmp.ToString(); } else { string strLog = string.Format("row {0} dataName null", i); Log.WarnLine(strLog); } objtmp = this.dataGridView1.Rows[i].Cells[2].Value; if (objtmp != null) { dataValue = objtmp.ToString(); } else { string strLog = string.Format("row {0} dataValue null", i); Log.WarnLine(strLog); return; //MessageBox.Show(strLog); } SetDateValue(msg, dataName, objtmp); string strText = dataName + ":" + dataValue + " " + DateTime.Now + System.Environment.NewLine; MainTextBox.AppendText(strText); MainTextBox.ScrollToCaret(); } //MSG_CG_ITEM_BUY TESTMSG = (MSG_CG_ITEM_BUY)msg; //int a = TESTMSG.Id; //int b = TESTMSG.Num; //Console.Write("id:{0},Num{1}", TESTMSG.Id, TESTMSG.Num); if (client.IsLogin()) { msgApi.RouteSend(client.Net, key, msg); } else { Log.WarnLine("please login your account!"); } }
public void CheckWinner() { int php = 0; int mphp = 0; foreach (Entities.Ship s in PlayerShips) { php += s.CurrentHP; mphp += s.MaxHP; } int ehp = 0; int mehp = 0; foreach (Entities.Ship s in EnemyShips) { ehp += s.CurrentHP; mehp += s.MaxHP; } if (php > mphp) { php = mphp; } if (ehp > mehp) { ehp = mehp; } if (php < 1 && ehp < 1) { MainTextBox.AppendText("Неожиданно обе флотилии затонули. Ничья."); } else { if (ehp < 1) { MainTextBox.AppendText("Поздравляем! Вы потопили вражеский флот."); } else if (php < 1) { MainTextBox.AppendText("Какая неудача. Вас разгромили."); } else { MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText("Ваше текущее общее здоровье "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(php + "/" + mphp + "\n"); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText("Текущее общее здоровье противника "); MainTextBox.SelectionColor = Color.Red; MainTextBox.AppendText(ehp + "/" + mehp + "\n\n"); MainTextBox.AppendText("------------------------------------------------------------------------------------------------------------------------------------------------------------------\n"); return; } } AttackBtn.Enabled = false; EvadeBtn.Enabled = false; CounterBtn.Enabled = false; AboutEnemy.Enabled = false; AboutUs.Enabled = false; }
public void Decision() { Random r = new Random(); switch (PBA) { case (BattleActions.Attack): { MainTextBox.AppendText("Вы решили атаковать.\n"); switch (EBA) { case (BattleActions.Attack): { int dmg = 0; MainTextBox.AppendText("Ваш противник тоже решил атаковать.\n"); MainTextBox.AppendText("В ходе сражения вы "); if (r.Next(100) < 75) { foreach (Entities.Ship s in PlayerShips) { dmg += s.FirePower; } MainTextBox.AppendText("нанесли "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" единицы урона.\n"); } else { MainTextBox.AppendText("промахнулись, оставив легкие царапины на борту вражеского судна.\n"); dmg = 0; } foreach (Entities.Ship s in EnemyShips) { s.CurrentHP = s.CurrentHP - (dmg / EnemyShips.Count() + 1); } dmg = 0; MainTextBox.AppendText("Ваш противник "); if (r.Next(100) < 75) { foreach (Entities.Ship s in EnemyShips) { dmg += s.FirePower; } MainTextBox.AppendText("нанёс "); MainTextBox.SelectionColor = Color.Red; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" единицы урона.\n"); } else { MainTextBox.AppendText("промахнулся, оставив несколько вмятин на корпусе вашего судна.\n"); dmg = 0; } foreach (Entities.Ship s in PlayerShips) { s.CurrentHP = s.CurrentHP - (dmg / PlayerShips.Count() + 1); } break; } case (BattleActions.Evade): { int dmg = 0; MainTextBox.AppendText("Ваш противник решил уклоняться от ваших атак.\n"); MainTextBox.AppendText("В ходе сражения вы "); if (r.Next(100) < 45) { foreach (Entities.Ship s in PlayerShips) { dmg += s.FirePower; } MainTextBox.AppendText("нанесли "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" удиницы урона.\n"); } else { MainTextBox.AppendText("промахнулись, повредив краску обшивки вражеской флотилии\n"); dmg = 0; } foreach (Entities.Ship s in EnemyShips) { s.CurrentHP = s.CurrentHP - (dmg / EnemyShips.Count() + 1); } dmg = 0; MainTextBox.AppendText("Ваш противник не мог стрелять из-за маневров."); break; } case (BattleActions.Counter): { int dmg = 0; MainTextBox.AppendText("Ваш противник контратакует!\n"); MainTextBox.AppendText("В ходе сражения вы "); if (r.Next(100) < 95) { foreach (Entities.Ship s in PlayerShips) { dmg += s.FirePower; } MainTextBox.AppendText("нанесли "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" удиницы урона.\n"); } else { MainTextBox.AppendText("промахнулись, погнув несколько поручней на вражеском судне.\n"); dmg = 0; } foreach (Entities.Ship s in EnemyShips) { s.CurrentHP = s.CurrentHP - (dmg / EnemyShips.Count() + 1); } dmg = 0; MainTextBox.AppendText("В виду контратаки, противник "); if (r.Next(100) < 95) { foreach (Entities.Ship s in EnemyShips) { dmg += s.FirePower; } dmg = dmg + dmg / 5; MainTextBox.AppendText("нанёс "); MainTextBox.SelectionColor = Color.Red; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" единицы урона.\n"); } else { dmg = 0; MainTextBox.AppendText("промахнулся. Скажи спасибо корейскому рандому, шанс около 1%\n"); } foreach (Entities.Ship s in PlayerShips) { s.CurrentHP = s.CurrentHP - (dmg / PlayerShips.Count() + 1); } break; } } break; } case (BattleActions.Evade): { MainTextBox.AppendText("Вы решили уклоняться.\n"); switch (EBA) { case (BattleActions.Attack): { int dmg = 0; MainTextBox.AppendText("Ваш противник решил атаковать.\n"); MainTextBox.AppendText("В ходе сражения вы не нанесли никакого урона, так как выполняли манёвры.\n"); MainTextBox.AppendText("Ваш противник "); if (r.Next(100) < 45) { foreach (Entities.Ship s in EnemyShips) { dmg += s.FirePower; } MainTextBox.AppendText("нанёс "); MainTextBox.SelectionColor = Color.Red; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" единицы урона.\n"); } else { MainTextBox.AppendText("промахнулся, напугав снарядами членов экипажа.\n"); dmg = 0; } foreach (Entities.Ship s in PlayerShips) { s.CurrentHP = s.CurrentHP - (dmg / PlayerShips.Count() + 1); } break; } case (BattleActions.Evade): { MainTextBox.AppendText("Ваш противник тоже решил провести маневры по уклонению от снарядов.\n"); MainTextBox.AppendText("В ходе сражения вы не нанесли никакого урона, так как выполняли манёвры.\n"); MainTextBox.AppendText("Ваш противник не мог стрелять из-за маневров."); MainTextBox.AppendText("Вы оба не очень умные."); break; } case (BattleActions.Counter): { int dmg = 0; MainTextBox.AppendText("Ваш противник контратакует!\n"); MainTextBox.AppendText("В ходе сражения вы не нанесли никакого урона, так как выполняли манёвры.\n"); MainTextBox.AppendText("В виду контратаки, противник "); if (r.Next(100) < 20) { foreach (Entities.Ship s in EnemyShips) { dmg += s.FirePower; } MainTextBox.AppendText("нанёс "); MainTextBox.SelectionColor = Color.Red; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" единицы урона.\n"); } else { MainTextBox.AppendText("промахнулся, повредив любимое кресло капитана.\n"); dmg = 0; } foreach (Entities.Ship s in PlayerShips) { s.CurrentHP = s.CurrentHP - (dmg / PlayerShips.Count() + 1); } break; } } break; } case (BattleActions.Counter): { MainTextBox.AppendText("Вы решили котратаковать.\n"); switch (EBA) { case (BattleActions.Attack): { int dmg = 0; MainTextBox.AppendText("Ваш противник решил атаковать.\n"); MainTextBox.AppendText("В ходе сражения вы "); if (r.Next(100) < 95) { foreach (Entities.Ship s in PlayerShips) { dmg += s.FirePower; } dmg = dmg + dmg / 5; MainTextBox.AppendText("нанесли "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" удиницы урона.\n"); } else { MainTextBox.AppendText("промахнулись, разбив несколько стёкол вражеского судна.\n"); dmg = 0; } foreach (Entities.Ship s in EnemyShips) { s.CurrentHP = s.CurrentHP - (dmg / EnemyShips.Count() + 1); } dmg = 0; MainTextBox.AppendText("Ваш противник "); if (r.Next(100) < 75) { foreach (Entities.Ship s in EnemyShips) { dmg += s.FirePower; } MainTextBox.AppendText("нанёс "); MainTextBox.SelectionColor = Color.Red; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" единицы урона.\n"); } else { MainTextBox.AppendText("промахнулся, сбив стол с завтраком капитана.\n"); dmg = 0; } foreach (Entities.Ship s in PlayerShips) { s.CurrentHP = s.CurrentHP - (dmg / PlayerShips.Count() + 1); } break; } case (BattleActions.Evade): { int dmg = 0; MainTextBox.AppendText("Ваш противник решил уклоняться от ваших атак.\n"); MainTextBox.AppendText("В ходе сражения вы "); if (r.Next(100) < 20) { foreach (Entities.Ship s in PlayerShips) { dmg += s.FirePower; } dmg = dmg + dmg / 5; MainTextBox.AppendText("нанесли "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" удиницы урона.\n"); } else { MainTextBox.AppendText("промахнулись, поцарапав обшивку вражеского судна.\n"); dmg = 0; } foreach (Entities.Ship s in EnemyShips) { s.CurrentHP = s.CurrentHP - (dmg / EnemyShips.Count() + 1); } dmg = 0; MainTextBox.AppendText("Ваш противник не мог стрелять из-за маневров."); break; } case (BattleActions.Counter): { int dmg = 0; MainTextBox.AppendText("Ваш противник контратакует!\n"); MainTextBox.AppendText("В ходе сражения вы "); if (r.Next(100) < 95) { foreach (Entities.Ship s in PlayerShips) { dmg += s.FirePower; } dmg = dmg + dmg / 5; MainTextBox.AppendText("нанесли "); MainTextBox.SelectionColor = Color.Green; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" удиницы урона.\n"); } else { MainTextBox.AppendText("промахнулись, соскоблив краску с вражеской флотилии.\n"); dmg = 0; } foreach (Entities.Ship s in EnemyShips) { s.CurrentHP = s.CurrentHP - (dmg / EnemyShips.Count() + 1); } dmg = 0; MainTextBox.AppendText("В виду контратаки, противник "); if (r.Next(100) < 95) { foreach (Entities.Ship s in EnemyShips) { dmg += s.FirePower; } dmg = dmg + dmg / 5; MainTextBox.AppendText("нанёс "); MainTextBox.SelectionColor = Color.Red; MainTextBox.AppendText(Convert.ToString(dmg)); MainTextBox.SelectionColor = Color.Black; MainTextBox.AppendText(" единицы урона.\n"); } else { dmg = 0; MainTextBox.AppendText("промахнулся, разбив любимое зеркало капитана.\n"); } foreach (Entities.Ship s in PlayerShips) { s.CurrentHP = s.CurrentHP - (dmg / PlayerShips.Count() + 1); } break; } } break; } default: MainTextBox.AppendText("ОПА ОПА ОШИБКА"); break; } MainTextBox.AppendText("\n"); CheckWinner(); }
private void CountWords_Click(object sender, RoutedEventArgs e) { var words = processedText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); Dictionary <string, int> wordCount = new Dictionary <string, int>(); MainTextBox.Text = "Количество Слово\r\n"; MainTextBox.AppendText("-------------- --------\r\n"); this.Title = "CountWordsApp: counting..."; Task.Factory.StartNew(() => { foreach (var word in words) { if (wordCount.ContainsKey(word)) { wordCount[word]++; } else { wordCount[word] = 1; } } }).ContinueWith(prevTask => Dispatcher.Invoke(() => { this.Title = "CountWordsApp: preparing for displaying calculating results..."; foreach (var item in wordCount.OrderByDescending(k => k.Value)) { string space = new string(' ', 29 - item.Value.ToString().Length); string output = String.Format(" {0}{1}{2}\r\n", item.Value, space, item.Key); MainTextBox.AppendText(output); } firstW = new w1(); secondW = new w2(); firstW.w1TextBox.Text = "Cлова\r\n"; secondW.w2TextBox.Text = "Количество\r\n"; foreach (var item in wordCount.OrderByDescending(k => k.Value)) { firstW.w1TextBox.AppendText(item.Key.ToString() + "\r\n"); secondW.w2TextBox.AppendText(item.Value.ToString() + "\r\n"); } //firstW.Show(); //secondW.Show(); })).ContinueWith(prevTask => Dispatcher.Invoke(() => { int words_length = words.Length; int[] NumberOfWords = new int[11]; for (int i = 0; i <= 10; i++) { NumberOfWords[i] = wordCount.Where(item => item.Key.Length == i + 1).Select(v => v.Value).Sum(); } NumberOfWords[10] = wordCount.Where(item => item.Key.Length >= 11).Select(v => v.Value).Sum(); this.Title = "CountWordsApp: done"; string str = String.Format("Обработано {0} слов(а/о)\r\n", words_length); str += String.Format("Уникальных слов: {0}\r\n\r\n", wordCount.Keys.Count); str += String.Format("Cлов длиной 1: {0} ({1:#.##}%)\r\n", NumberOfWords[0], (double)NumberOfWords[0] / words_length * 100); str += String.Format("Cлов длиной 2: {0} ({1:#.##}%)\r\n", NumberOfWords[1], (double)NumberOfWords[1] / words_length * 100); str += String.Format("Cлов длиной 3: {0} ({1:#.##}%)\r\n", NumberOfWords[2], (double)NumberOfWords[2] / words_length * 100); str += String.Format("Cлов длиной 4: {0} ({1:#.##}%)\r\n", NumberOfWords[3], (double)NumberOfWords[3] / words_length * 100); str += String.Format("Cлов длиной 5: {0} ({1:#.##}%)\r\n", NumberOfWords[4], (double)NumberOfWords[4] / words_length * 100); str += String.Format("Cлов длиной 6: {0} ({1:#.##}%)\r\n", NumberOfWords[5], (double)NumberOfWords[5] / words_length * 100); str += String.Format("Cлов длиной 7: {0} ({1:#.##}%)\r\n", NumberOfWords[6], (double)NumberOfWords[6] / words_length * 100); str += String.Format("Cлов длиной 8: {0} ({1:#.##}%)\r\n", NumberOfWords[7], (double)NumberOfWords[7] / words_length * 100); str += String.Format("Cлов длиной 9: {0} ({1:#.##}%)\r\n", NumberOfWords[8], (double)NumberOfWords[8] / words_length * 100); str += String.Format("Cлов длиной 10: {0} ({1:#.##}%)\r\n", NumberOfWords[9], (double)NumberOfWords[9] / words_length * 100); str += String.Format("Остальные слова: {0} ({1:#.##}%)\r\n", NumberOfWords[10], (double)NumberOfWords[10] / words_length * 100); sw = new StatisticsWindow(); sw.Show(); sw.swTextBox.Text = str; })); }