Exemplo n.º 1
0
        //Recebe informaçoes de volta

        private void ReceiveCallback(IAsyncResult AR)
        {
            try
            {
                int received = clientSocket.EndReceive(AR);
                if (received == 0)
                {
                    return;
                }
                var ApertouButtao = BitConverter.ToBoolean(buffer, 0);
                var atacou        = BitConverter.ToBoolean(buffer, 1);
                var mouseMove     = BitConverter.ToBoolean(buffer, 6);
                if (atacou)
                {
                    SuaVez = true;
                    MudarBotoes(true);
                    personagem.tomarGolpe(buffer);
                    UpdateYourControlStates();
                }
                else
                if (!ApertouButtao && !mouseMove)
                {
                    Personagem Tmp = new Personagem(buffer);
                    PerInimigo = Tmp;
                    UpdateControlStates();
                    Tmp = null;
                }
                else
                if (mouseMove)
                {
                    int    top   = BitConverter.ToInt32(buffer, 7);
                    int    left  = BitConverter.ToInt32(buffer, 11);
                    Point  a     = new Point(left, top);
                    Thread mouse = new Thread(ReceiveMoveMouse);

                    mouse.Start(a);
                }
                else
                {
                    Invoke((Action) delegate
                    {
                        Pronto.Visible = false;
                    });
                }

                // Start receiving data again.
                // Esperando por mais recebimentos de dados
                clientSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, ReceiveCallback, null);
            }
            // Avoid Pokemon exception handling in cases like these.
            catch (SocketException ex)
            {
                ShowErrorDialog(ex.Message);
            }
            catch (ObjectDisposedException ex)
            {
                ShowErrorDialog(ex.Message);
            }
        }
Exemplo n.º 2
0
 private void button1_Click(object sender, EventArgs e)
 {
     monster.tomarGolpe(personagem.atacar());
     label2.Text = monster.vida().ToString();
     personagem.tomarGolpe(monster.atacar());
     label1.Text = personagem.vida().ToString();
     if (monster.vida() <= 0)
     {
         matar();
     }
     else if (personagem.vida() <= 0)
     {
         morreu();
     }
 }