Пример #1
0
        private void ReceiveMessageT()
        {
            while (true)
            {
                try
                {
                    byte[]        data    = new byte[256];
                    StringBuilder builder = new StringBuilder();
                    int           bytes   = 0;
                    do
                    {
                        bytes = stream.Read(data, 0, data.Length);
                        builder.Append(Encoding.Unicode.GetString(data, 0, bytes));
                    }while (stream.DataAvailable);


                    string message = builder.ToString();

                    if (message.Contains("_" + id.ToString()))
                    {
                        break;
                    }
                    else
                    {
                        message = message.Remove(message.IndexOf('_'));
                    }

                    if (message == "Start")
                    {
                        parentForm.EnemyIsReady = true;
                    }

                    int.TryParse(message, out int res);
                    if (res > 0 && res < 101 && parentForm.Turn)
                    {
                        parentForm.StrikeEnemy(res - 1);
                    }
                    if (res > 0 && res < 101 && !parentForm.Turn)
                    {
                        parentForm.StrikePlayer(res - 1);
                    }
                    if (res < 0 && parentForm.Turn)
                    {
                        parentForm.ConfirmEnemyStrike(res);
                    }
                }
                catch
                {
                }
            }
        }