private static void CargarPartida() { string[] partida = File.ReadAllText("partida.txt").Split('-'); Personaje pj; //Obtengo los datos del personaje del array //y convierto los que no son string a sus correspondientes formatos. //Personaje int vida; int.TryParse(partida[0], out vida); float x; float.TryParse(partida[1], out x); float y; float.TryParse(partida[2], out y); pj = new Personaje(x, y, 8, vida); Niveles lvl = Niveles.Nivel1; if (partida[3] == "Nivel1") { lvl = Niveles.Nivel1; } if (partida[3] == "Nivel2") { lvl = Niveles.Nivel2; } NivelesManager.InstanciarPartidaGuardada(pj, lvl); }
/// <summary> /// Solo se puede mover de posicion con los botones arriba y abajo. /// </summary> public static void Actualizar() { if (Engine.GetKey(Keys.UP)) { PosicionCursorHaciaArriba(); } else if (Engine.GetKey(Keys.DOWN)) { PosicionCursorHaciaAbajo(); } if (Engine.GetKey(Keys.RETURN) && DateTime.Now > Program.deltaTime.Add(ts)) { //Si esta sobre la opcion jugar, lo envio al nivel 1 if (BotonJugar) { NivelesManager.AvanzarNivel(); } //Si quiere cargar la partida else if (BotonCargarPartida) { CargarPartida(); } else if (BotonControles) { PantallaControles = true; texturaFondo = "Imagenes\\PantallaControles.jpg"; } Program.deltaTime = DateTime.Now; } //if (PantallaGanastePerdiste && DateTime.Now > Program.deltaTime.Add(tsPantallaWL)) //{ // NivelesManager.AccederMenu(); // PantallaGanastePerdiste = false; //} //Cierra el juego. if (Engine.GetKey(Keys.ESCAPE)) { if (DateTime.Now > Program.deltaTime.Add(ts)) { if (PantallaControles || PantallaGanastePerdiste) { PantallaControles = false; PantallaGanastePerdiste = false; BotonJugar = true; texturaFondo = "Imagenes\\Menu.jpg"; } else { Engine.CloseWindow(); Environment.Exit(0); } Program.deltaTime = DateTime.Now; } } }
/// <summary> /// Guardo el estado actual de la partida. /// </summary> public static void GuardarPartida() { StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0}-{1}-{2}-", Program.pj.Vida, Program.pj.X, Program.pj.Y); sb.AppendFormat("{0}", NivelesManager.LvlActual); string csv = sb.ToString(); File.WriteAllText("partida.txt", csv); //Luego de guardar la partida, vuelvo al menu. Console.WriteLine("Partida guardada!"); NivelesManager.AccederMenu(); //Actualizo el delta time. Program.deltaTime = DateTime.Now; }