Me tocó el turno del manejo de archivos.
Tocó el turno de manejo de archivos pero quiero agregar a retomã juego.
Me faltó una línea que tiene que ver con la dificultad tiene que ver con la dificultad.
Recuerdo que dijimos que la velocidad iba a ir cambiando.
Bueno lo que vamos a hacer en nuestra variable velocidad debamos aceptar que la velocidad es igual a
tres más.
Más que más el número entero de la división del Leiber dividido 5.
Esto significa que cada 5 niveles el número entero debe devolver un 1 un 2 3.
Se entiende.
Si yo estoy en el nivel 1 lo va a dividir por 5 me va a dar cero la parte entera 3 maceros 3.
Cuando pase al nivel 5 5 divido 5 me va a dar 1 se lo va a sumar a velocidad cuando pase al nivel 10
va a dar 2 me va a sumar la velocidad entonces cada 5 niveles mi velocidad va a ir aumentando.
Bueno vamos a ver el tema de la lectura de archivos vamos a ir al final de nuestro código y vamos a
colocar vamos a colocar dos rutinas una que es para leer el archivo y otra que es para grabarlo.
Luego vamos a ver en qué parte del código lo vamos a hacer todo esto pero vamos a escribir la rutina
carga archivo y una vez que creamos la rutina carga archivo lo que vamos a hacer es crear
un tipo de objeto llamado If trim que es un tipo de objeto de tipo archivo que lo vamos a llamar puntaje.
Es un objeto de tipo archivo vamos a definir un archivo un registro donde vamos a grabar lo que leamos
de ese archivo vamos va a ser a un vector de character de100.
Recuerden que si no lo saben se los digo.
El manejo de strings y charts en C++ es bastante complejo.
Son cosas diferentes no es lo mismo que echar.
En realidad como esto viene del lenguaje C lo único que existe para el C es el char el string no existe.
Lo han creado como una cadena de caracteres string pero en realidad no existe lo que podemos hacer es
una un vector de tipo Char y en cada posición va a grabar un carácter.
En este caso vamos a tener 100 caracteres.
Esto lo vamos a ver cómo lo vamos a manejar vamos a decir qué puntaje punto Open vamos a abrir el archivo
vamos a tener que abrir un nombre archivo yo lo voy a llamar joi punto Dadd para grabar nuestro Aizkorri
va a tratar de abrir el archivo y va preguntar luego de abrir el archivo y puntaje tuvo una falla si
tuvo una falla es porque el archivo no existe.
Entonces recuerden que vamos a ver si el archivo existe si no existe si no existe el archivo vamos a
poner existe archivo son todas variables que la hacemos definió al comienzo de vamos a poner un folio
vamos a poner un reto muy bien.
Ahora si el archivo existe si el archivo no existe no hay nada que pueda hacer.
No puedo hacer nada si directamente le devuelvo al programa una variable que dice mi archivo no existe
y el programa va a saber qué hacer.
Ahora si helarse el archivo existe lo que voy a tener que hacer es leer el contenido del archivo para
cargar mi puntaje.
El puntaje que hice hace dos días cuando jugué que fue el máximo puntaje muy bien ahora pregunto si
puntaje en dos Dolphin o sea si llegué al fin de archivo si no llegué al fin de archivo porque tiene
un signo de admiración si no he llegado al fin de archivo o sea que si el archivo tiene contenido porque
por ahí el archivo existe pero está vacío si el archivo tiene contenido.
O sea que no he llegado en Dogfight lo que voy a hacer voy a ejecutar una función de archivo llamada
Bettelheim la voy a grabar en texto puntaje y voy a decirle que texto puntaje se redimensiona en lugar
de 100 caracteres que pase a tener una nueva dimensión y le voy a decir que la nueva dimensión es puntaje
el archivo.
Al hacer mención al archivo estoy haciendo mención al buffer de lectura de cuántos caracteres fueron
leídos del archivo y eso es lo que va a hacer la redimensión de mi vector de caracteres hasta este punto
ya leyó.
Supongamos que esos cuatro caracteres un puntaje por ejemplo de 1000 2:50 leyó cuatro caracteres y me
convirtió este vector en un vector de cuatro elementos.
Ahora lo que yo voy a hacer ahora es transformar eso en un string.
No me sirve un vector de caracteres cuando lo quiero mostrar por pantalla me va a hacer escribir más.
Entonces define una variable de tipo string llamada E.C. y le digo que haga una conversión de texto
puntaje.
Esto es lo que hace.
Me crea una variable de tipo string y me convierte texto puntaje que era un vector de caracteres me
lo convierte a tipo String.
Esto es lo que se usa para convertir caracteres ASCRI y lo que voy a hacer mi variable Jays que se entera
cómo hago porque yo estoy leyendo a string.
No importa que tenga un número adentro para el sistema lo que lee de un archivo es un texto me lo primero
me lo volcó a un vector de caracteres luego lo transformó en un string pero yo ahora voy a transformar
ese string.
Voy a tener que transformar ese string en un dato numérico.
Voy a usar una función llamada actu y que lo que voy a hacer es convertir ni más ni menos.
Vamos a hacerlo así.
Punto y coma dos puntos.
Voy a convertir el string ese y lo reafirma con un string.
Lo voy a convertira entero y esto es lo que va a devolver.
Como Aizkorri es una variable global que está inicializar al comienzo del programa.
La voy a poder consultar desde cualquier lado y la voy a consultar ni más ni menos que desde arma pantalla.
Aquí lo que tengo que hacer es cerrar el programa lo cierro el archivo perdono el programa cierro el
archivo y se terminó.
Ahora ya vamos a ir a armo pantalla a mostrar nuestro disco pero lo que quiero hacer ahora es la rutina
inversa.
Ahora estoy leyendo un archivo lo que vamos a hacer ahora es grabar el archivo cómo grabamos el archivo.
Vamos a definir una rutina de archivo.
La vamos a abrir y aquí vamos a decir que en vez de ser de imput fíjese fíjense esto empieza con un
ahí porque es de imput.
Esto empieza por un lado porque de Apple o sea voy a grabar un archivo de audio put@ y le voy a decir
cuando lo grabó de output el Open lo que haces lo abre y lo borra al mismo tiempo borra el contenido.
Cuidado con eso.
Entonces voy a abrir un archivo de audio y voy a decir se acuerdan como el Coutts que mandaba pantalla
con un menor menor.
Bueno eso me está diciendo que puntaje va a alimentarse del estándar imput de lo que yo le coloqué aquí
y se va a alimentar de que de mi valía variable Aizkorri le voy a agregar además un offline un fin de
línea para que mi registro tenga un fin de línea lo que hace esto es grabã en puntaje graba nuestro
valor Kor que es una variable entera no importa aquí no hay que convertirla y le agrega un fin de línea
al final en el archivo y luego una vez que hacemos esto cerramos el archivo se entiende esto es muy
sencillo lo abro.
Lo defino puntaje bastardeado lo abro lo abre de Apud le digo el nombre al no indicarle un patrón lo
va a hacer en la carpeta donde esté el ejecutable del juego y le grabo un contenido ese archivo y lo
cierro.
Eso es todo lo que va a ser bueno y qué vamos a hacer ahora vamos a buscar la rutina que es inicializar
para cargar ese archivo.
Vamos a ir a inicial hizo aquí tenemos inicializar y ahí lo que vamos a tener que agregar antes de armar
pantalla o después es lo mismo porque aquí estamos inicializar la pantalla lo que colocamos aquí es
simplemente cargo Archivo.
Cuando arranca nuestro juego carga nuestro Aizcorbe y va a estar grabado cuando vamos a ver ahora cuando
lo grabamos vamos a ir a nuestro Main.
Ok tenemos nuestro Main y aquí lo que voy a tener que chequear aparte del sonido de mover y además de
todo esto luego de ver lo que voy a hacer es hacer ONIF si es Kor es mayor a Geist o si hacía el puntaje
que acabo de hacer es mayor al histórico que tengo grabado lo que va a tener que hacer es obviamente
va a ser un país Kor es igual score.
Voy a aceptar mi nuevo disco.
Voy a aceptar el nuevo puntaje y voy a grabo archivo eso es todo lo que tienen que hacer.
Cuando terminó de jugar porque se detuvo el juego terminé me mataron se terminó todo.
Ahí va el chequeo.
Si yo he superado ese puntaje máximo y en ese momento lo mueve al nuevo puntaje y grabo el archivo.
Esto es todo lo que tiene que ver con el juego vamos a verlo vamos a ejecutarlo vamos a grabarlo vamos
a ejecutarlo.
Espero que no de un error o un error porque porque no lo declaré en el prototipo y seguramente cargó
archivos muy bien.
Vamos a ejecutar ahora a ver si le gusta o no le gusta hay un warning pero no pasa nada se ejecuta nuestro
programa se ejecuta nuestro programa.
Vamos a ver vamos a escuchar
vamos a salir de aquí.
Vamos a ir armo pantalla muy bien ahí estamos y vamos a dibujar nuestro país qué es lo que tenemos que
hacer en arma pantalla obviamente en armo batalla vamos a tener que hacer una sola línea de texto vamos
a colocarla aquí arriba donde ya tenemos todo va a ser vamos a copiar esto y lo vamos a pegar debajo
y le vamos a decir que obviamente va a ser de nuestro Wafer no lo hago del panel porque no me quedó
espacio en el espacio donde yo lo voy a mostrar en realidad es entre el logo y el panel y en el panel
no tengo espacio entonces lo voy a tener que usar el Wafer para references observa Afer y le voy a decir
que se va a mostrar en Arial 20 no en Arial ve porque no son letras grandes son otras más pequeñas es
el otro tipo de letra que para eso lo hemos creado y le vamos a decir que lo muestra en la posición
700 y en la línea 100.
Esto me lo va a mostrar donde yo quiero un Maicol ya tengo le voy a decir que va a ser una letra blanca
le pongo 2:55 a todo no va a ser roja como antes va a ser una letra blanca le voy a poner un peso y
aquí voy a poner la variable en lugar de vidas.
Voy a poner la variable quisco pero qué pasa voy a darle un poquito más de aquí voy a usar en realidad
voy a escribir la palabra geis Kor Castor le voy a dejar un espacio voy a poner un puntos y le voy a
decir que se entera no lo voy a poner que es decimal y aquí vamos a poner Jaizkibel muy bien fíjense
que yo puedo agregar un texto antes que es el título que es el Leiber de qué es lo que estoy mostrando
muy bien esto lo vamos a grabar vamos ejecutar y vamos a ver nuestro Geist
cuando le demos sentar
lo leyó de memoria lo leyó del archivo.
Vamos a ir a nuestra carpeta Arka van a ver que tengo ahora un archivo Jaime Siles un bloc de notas
lo puedo editar y tiene el 160.
Esto es escritura de archivos en C++ y lo estamos haciendo en nuestro juego así que bueno esto es básicamente
el juego.
Vamos a ver si vamos a ejecutar a ver si nos deja con la tecla hacer o avanzar y ver otros niveles.
Así que bueno este es el juego que acabamos de desarrollar.
Nos queda un capítulo más.
Yo siempre digo así después por ahí agrego más capítulos con más cosas y bueno al momento de grabar
el curso nos queda un capítulo más si luego aparecen más capítulos porque le agrego más cosas al juego.
Ustedes se van a enterar y van a saber entender.
No es fácil enseñar a programar y ver código se hace a veces es muy pesado pero bueno bueno y con las
rutinas de carga archivo y grabo archivo o termina nuestro curso.
Espero que les haya gustado o ahora lo que van a ver es el capítulo de despedida pero van a tener en
el capítulo de despedida una descarga.
Van a tener los recursos de descarga donde yo les voy a dejar absolutamente todo el contenido del juego
en un archivo punto si van a poder descargar el programa original el código original.
Recuerden que lo pueden comparar con el que han escrito ustedes para ver si hay alguna diferencia y
algún error.
Quizás a ustedes les está dando algún error por algún dedo a mal metido y bueno es conveniente que tengan
el código fuente original.
Espero que les haya gustado el curso seguramente más adelante agregue alguna clase más algún algún chiche
más al curso.
Por ahora es todo y bueno espero que lo hayan disfrutado como lo disfruté yo de enseñarlo.
No olviden de dejar sus preguntas y traten de valorar el curso lo más honesto posible si realmente no
les gustó.
Bueno coloquen el voto que les parece.
Esto es un derecho que tienen ustedes en yo de mí.
Bueno les mando un saludo y nos vamos al capítulo de saludo final.