Exemplo n.º 1
0
        // Se inicia el juego.
        private void iniciarPantallas()
        {
            // FECHA Y HORA DE INICIO.
            string fecha = DateTime.Now.ToShortDateString();
            string hora  = DateTime.Now.ToShortTimeString();

            // PANTALLA UNO.
            for (int i = primeras.Count; i <= nPartida; i++)
            {
                PantallaUno p1 = new PantallaUno(server, nPartida);
                this.primeras.Add(p1);
                this.vidas.Add(3);
                this.pantallaSuperada.Add(false);
            }
            // PANTALLA DOS PRINCIPAL.
            for (int i = segundas.Count; i <= nPartida; i++)
            {
                PantallaDosPrincipal p2 = new PantallaDosPrincipal(server, nPartida);
                this.segundas.Add(p2);
                this.tipoPantallaDos.Add("");
            }
            // PANTALLA DOS PRIMERA.
            for (int i = segundasPrimera.Count; i <= nPartida; i++)
            {
                PantallaDosPrimera p3 = new PantallaDosPrimera(server, nPartida);
                this.segundasPrimera.Add(p3);
            }
            // PANTALLA DOS MANUAL.
            for (int i = segundasManual.Count; i <= nPartida; i++)
            {
                PantallaDosManual p4 = new PantallaDosManual(server, nPartida);
                this.segundasManual.Add(p4);
            }
            // PANTALLA TRES.
            for (int i = terceras.Count; i <= nPartida; i++)
            {
                this.comprobacionPantallaTres.Add("");
                PantallaTres p5 = new PantallaTres(server, nPartida);
                this.terceras.Add(p5);
            }
            // PANTALLA FINAL.
            Program.s.Invoke((MethodInvoker) delegate
            {
                for (int i = finales.Count; i <= nPartida; i++)
                {
                    PantallaFinal p6 = new PantallaFinal(server, nPartida);
                    this.finales.Add(p6);
                }
            });

            // INICIO PARTIDA.
            this.primeras[nPartida].ShowDialog();
            if (vidas[nPartida] == 0)
            {
                string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",DERROTA,";
                // Enviamos al servidor el mensaje.
                byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                server.Send(msg);

                GameOver gameOver = new GameOver();
                gameOver.ShowDialog();
            }

            // PANTALLA DOS PRINCIPAL.
            if (pantallaSuperada[nPartida] == true)
            {
                vidas[nPartida]            = 3;
                pantallaSuperada[nPartida] = false;

                this.segundas[nPartida].ShowDialog();

                // PANTALLA DOS PRIMERA
                if (tipoPantallaDos[nPartida] == "segundaPrimera")
                {
                    this.segundasPrimera[nPartida].ShowDialog();

                    if (vidas[nPartida] == 0)
                    {
                        string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",DERROTA,";
                        // Enviamos al servidor el mensaje.
                        byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                        server.Send(msg);

                        GameOver gameOver = new GameOver();
                        gameOver.ShowDialog();
                    }

                    if (pantallaSuperada[nPartida] == true)
                    {
                        pantallaSuperada[nPartida] = false;

                        this.terceras[nPartida].ShowDialog();
                        if (comprobacionPantallaTres[nPartida] == "incorrecto")
                        {
                            string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",DERROTA,";
                            // Enviamos al servidor el mensaje.
                            byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                            server.Send(msg);

                            GameOver gameOver = new GameOver();
                            gameOver.ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("Tercera pantalla superada");
                            vidas[nPartida] = 3;

                            Program.s.Invoke((MethodInvoker) delegate
                            {
                                this.finales[nPartida].ShowDialog();
                            });

                            if (pantallaSuperada[nPartida] == true)
                            {
                                string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",VICTORIA,";
                                // Enviamos al servidor el mensaje.
                                byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                                server.Send(msg);

                                PartidaCompletada enhorabuena = new PartidaCompletada();
                                enhorabuena.ShowDialog();
                            }
                            else
                            {
                                string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",DERROTA,";
                                // Enviamos al servidor el mensaje.
                                byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                                server.Send(msg);

                                GameOver gameOver = new GameOver();
                                gameOver.ShowDialog();
                            }
                        }
                    }
                }

                // PANTALLA DOS MANUAL
                else if (tipoPantallaDos[nPartida] == "segundaManual")
                {
                    this.segundasManual[nPartida].ShowDialog();

                    if (vidas[nPartida] == 0)
                    {
                        string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",DERROTA,";
                        // Enviamos al servidor el mensaje.
                        byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                        server.Send(msg);

                        GameOver gameOver = new GameOver();
                        gameOver.ShowDialog();
                    }

                    if (pantallaSuperada[nPartida] == true)
                    {
                        pantallaSuperada[nPartida] = false;

                        this.terceras[nPartida].ShowDialog();
                        if (comprobacionPantallaTres[nPartida] == "incorrecto")
                        {
                            string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",DERROTA,";
                            // Enviamos al servidor el mensaje.
                            byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                            server.Send(msg);

                            GameOver gameOver = new GameOver();
                            gameOver.ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("Tercera pantalla superada");
                            vidas[nPartida] = 3;
                            Program.s.Invoke((MethodInvoker) delegate
                            {
                                this.finales[nPartida].ShowDialog();
                            });

                            if (pantallaSuperada[nPartida] == true)
                            {
                                string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",VICTORIA,";
                                // Enviamos al servidor el mensaje.
                                byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                                server.Send(msg);

                                PartidaCompletada enhorabuena = new PartidaCompletada();
                                enhorabuena.ShowDialog();
                            }
                            else
                            {
                                string respuesta = "18/" + fecha + "," + hora + "," + this.miembros[nPartida] + ",DERROTA,";
                                // Enviamos al servidor el mensaje.
                                byte[] msg = System.Text.Encoding.ASCII.GetBytes(respuesta);
                                server.Send(msg);

                                GameOver gameOver = new GameOver();
                                gameOver.ShowDialog();
                            }
                        }
                    }
                }
            }
        }