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