//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); } }
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(); } }