private void btnMain_Click(object sender, EventArgs e) { if (status == StatusBotao.Procurar) { Status = StatusBotao.Cancelar; Cliente = new ClienteP2P(txtNome.Text, tabuleiro); OnConfigurarCliente?.Invoke(Cliente); Cliente.OnClienteDisponivel += Cliente_OnClienteDisponivel; Cliente.OnClienteConectado += Cliente_OnClienteConectado; Cliente.OnClienteIndisponivel += Cliente_OnClienteIndisponivel; Cliente.OnClienteRequisitandoConexao += Cliente_OnClienteRequisitandoConexao; Cliente.Iniciar(); } else if (status == StatusBotao.Conectar) { Cliente.SolicitarConexao(clientesDisponiveis[lsbClientes.SelectedIndex]); } else { Cliente = null; AtualizarListbox(); Status = StatusBotao.Procurar; } }
private void Cliente_OnClienteDesconectado(System.Net.IPAddress addr) { Invoke(new Action(delegate() { MessageBox.Show(this, "O cliente se desconectou", "Cliente desconectado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cliente = null; PosicionarNavios(); })); }
private void Cliente_OnResultadoDeTiro(Tiro t, ResultadoDeTiro resultado) { if (resultado == ResultadoDeTiro.Ganhou) { MessageBox.Show(this, "Você ganhou!", "UHUL :)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cliente = null; PosicionarNavios(); } tInimigo.ResultadoTiro(t, resultado); }
private void Reiniciar() { frmNavios = new Navios(); frmNavios.Show(this); cliente = null; tabuleiro = new Tabuleiro(); frmJogadores = null; tirosDados = new Dictionary <Tiro, ResultadoDeTiro>(); tirosRecebidos = new List <Tiro>(); }
// Use this for initialization void Start() { if (Fluxo.tipoJogo == 1) { maquina = new Maquina(); } if (Fluxo.tipoJogo == 2) { conexao = new Conexao(); cliente = new ClienteP2P(); servidor = new ServidorP2P(); } turno = 1; mudaTurno(false); BuscaLargura.init(prefab, solido); }
public void ConfigurarCliente(ClienteP2P cliente) { if (InvokeRequired && !Disposing) { Invoke(new Action(delegate() { ConfigurarCliente(cliente); })); } else { cliente.OnResultadoDeTiro += Cliente_OnResultadoDeTiro; cliente.OnDarTiro += Cliente_OnDarTiro; cliente.OnTiroRecebido += Cliente_OnTiroRecebido; cliente.OnClienteDesconectado += Cliente_OnClienteDesconectado; } }
private void pictureBox1_DragDrop(object sender, DragEventArgs e) { if (frmNavios.Direcao == 0) { if (10 - navio.Tamanho() < y1) { y1 = 10 - navio.Tamanho(); } } else if (10 - navio.Tamanho() < x1) { x1 = 10 - navio.Tamanho(); } try { tabuleiro.PosicionarNavio(navio, x1, y1, (Direcao)frmNavios.Direcao); frmNavios.RemoverNavio(navio); } catch (Exception ex) { MessageBox.Show("Posição inválida"); } if (tabuleiro.EstaCompleto()) { frmNavios.Close(); cliente = new ClienteP2P(lblJogador.Text, tabuleiro); frmJogadores = new Jogadores(); frmJogadores.btnConectar.Click += BtnConectar_Click; frmJogadores.Show(this); cliente.OnClienteDisponivel += Cliente_OnClienteDisponivel; cliente.OnClienteRequisitandoConexao += Cliente_OnClienteRequisitandoConexao; cliente.OnClienteConectado += Cliente_OnClienteConectado; cliente.OnClienteDesconectado += Cliente_OnClienteDesconectado; cliente.OnDarTiro += Cliente_OnDarTiro; cliente.OnResultadoDeTiro += Cliente_OnResultadoDeTiro; cliente.OnTiroRecebido += Cliente_OnTiroRecebido; cliente.OnClienteDisponivel += Cliente_OnClienteDisponivel; cliente.OnClienteIndisponivel += Cliente_OnClienteIndisponivel; // cliente.OnFimDeJogo += Cliente_OnFimDeJogo; cliente.Iniciar(); } navio = default(TipoDeNavio); }
public FrmConectar(ClienteP2P cliente, Tabuleiro tabuleiro) { if (tabuleiro == null) { throw new ArgumentException("Tabuleiro não pode ser nulo"); } if (!tabuleiro.EstaCompleto()) { throw new ArgumentException("Tabuleiro não pode estar incompleto"); } this.tabuleiro = tabuleiro; Cliente = cliente; Conectado = false; InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) { Tabuleiro t = new Tabuleiro(); t.PosicionarNavio(Navio.PortaAvioes, 0, 0, 3); t.PosicionarNavio(Navio.Encouracado, 0, 1, 3); t.PosicionarNavio(Navio.Encouracado, 0, 2, 3); t.PosicionarNavio(Navio.Cruzador, 0, 3, 3); t.PosicionarNavio(Navio.Cruzador, 0, 4, 3); t.PosicionarNavio(Navio.Cruzador, 0, 5, 3); //t.PosicionarNavio(Navio.Submarino, 6, 1, 3); //t.PosicionarNavio(Navio.Submarino, 6, 2, 3); //t.PosicionarNavio(Navio.Destroier, 0, 8, 3); //t.PosicionarNavio(Navio.Destroier, 0, 9, 3); cl = new ClienteP2P("Player", null); cl.Iniciar(); cl.OnClienteDisponivel += Cl_OnClienteDisponivel; }
private void Conectar() { if (PodeConectar) { FrmConectar frm = new FrmConectar(cliente, tJogador.Tabuleiro); frm.OnConfigurarCliente += ConfigurarCliente; Status anterior = status; status = Status.Conectando; if (frm.ShowDialog(this) == DialogResult.OK) { status = Status.Jogando; cliente = frm.Cliente; lblInfo.Text = "Jogando contra " + cliente.NomeRemoto; lblInfo2.Text = ""; } else { status = anterior; } } }