Ejemplo n.º 1
0
        private void Gameover()   //游戏结束
        {
            if (c.best < c.score) //判断本次成绩是否刷新纪录
            {
                c.best    = c.score;
                best.Text = c.best.ToString();
                Screen();
                message mes4 = new message();
                mes4.a             = "Congratulations!";
                mes4.b             = "新记录!自动为您保存截图。\r\n保存位置:" + ss;
                mes4.StartPosition = FormStartPosition.CenterParent;
                mes4.ShowDialog();
                c.Restart();
                draw();
                pictureBox1.Refresh();
            }
            else
            {
                GameOver g = new GameOver();
                g.b = c.best;
                g.s = c.score;
                DialogResult d = g.ShowDialog();
                switch (d)
                {
                case DialogResult.Retry:
                    c.Restart();
                    draw();
                    pictureBox1.Refresh();
                    score.Text = c.score.ToString();
                    best.Text  = c.best.ToString();
                    break;

                case DialogResult.Abort:
                    Screen();
                    message mes3 = new message();
                    mes3.a             = "Saved successfully!";
                    mes3.b             = "保存位置:" + ss;
                    mes3.StartPosition = FormStartPosition.CenterParent;
                    mes3.ShowDialog();
                    c.Restart();
                    classSave();
                    draw();
                    pictureBox1.Refresh();
                    break;

                case DialogResult.No:
                    c.Restart();
                    this.Close();
                    break;
                }
            }
        }
Ejemplo n.º 2
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();
                            }
                        }
                    }
                }
            }
        }