1
00:00:02,630 --> 00:00:05,620
Me tocó el turno del manejo de archivos.

2
00:00:05,640 --> 00:00:10,370
Tocó el turno de manejo de archivos pero quiero agregar a retomã juego.

3
00:00:10,380 --> 00:00:15,170
Me faltó una línea que tiene que ver con la dificultad tiene que ver con la dificultad.

4
00:00:15,180 --> 00:00:17,780
Recuerdo que dijimos que la velocidad iba a ir cambiando.

5
00:00:17,780 --> 00:00:24,480
Bueno lo que vamos a hacer en nuestra variable velocidad debamos aceptar que la velocidad es igual a

6
00:00:24,480 --> 00:00:26,600
tres más.

7
00:00:26,610 --> 00:00:35,210
Más que más el número entero de la división del Leiber dividido 5.

8
00:00:35,220 --> 00:00:42,600
Esto significa que cada 5 niveles el número entero debe devolver un 1 un 2 3.

9
00:00:42,600 --> 00:00:43,620
Se entiende.

10
00:00:43,620 --> 00:00:50,500
Si yo estoy en el nivel 1 lo va a dividir por 5 me va a dar cero la parte entera 3 maceros 3.

11
00:00:50,730 --> 00:00:59,270
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

12
00:00:59,280 --> 00:01:09,160
va a dar 2 me va a sumar la velocidad entonces cada 5 niveles mi velocidad va a ir aumentando.

13
00:01:09,160 --> 00:01:17,040
Bueno vamos a ver el tema de la lectura de archivos vamos a ir al final de nuestro código y vamos a

14
00:01:17,040 --> 00:01:25,340
colocar vamos a colocar dos rutinas una que es para leer el archivo y otra que es para grabarlo.

15
00:01:25,350 --> 00:01:31,720
Luego vamos a ver en qué parte del código lo vamos a hacer todo esto pero vamos a escribir la rutina

16
00:01:31,730 --> 00:01:37,820
carga archivo y una vez que creamos la rutina carga archivo lo que vamos a hacer es crear

17
00:01:40,620 --> 00:01:48,230
un tipo de objeto llamado If trim que es un tipo de objeto de tipo archivo que lo vamos a llamar puntaje.

18
00:01:48,330 --> 00:01:56,430
Es un objeto de tipo archivo vamos a definir un archivo un registro donde vamos a grabar lo que leamos

19
00:01:56,430 --> 00:02:02,450
de ese archivo vamos va a ser a un vector de character de100.

20
00:02:02,460 --> 00:02:06,390
Recuerden que si no lo saben se los digo.

21
00:02:06,390 --> 00:02:10,580
El manejo de strings y charts en C++ es bastante complejo.

22
00:02:10,770 --> 00:02:13,680
Son cosas diferentes no es lo mismo que echar.

23
00:02:13,830 --> 00:02:21,720
En realidad como esto viene del lenguaje C lo único que existe para el C es el char el string no existe.

24
00:02:21,720 --> 00:02:28,950
Lo han creado como una cadena de caracteres string pero en realidad no existe lo que podemos hacer es

25
00:02:28,950 --> 00:02:34,680
una un vector de tipo Char y en cada posición va a grabar un carácter.

26
00:02:34,680 --> 00:02:37,230
En este caso vamos a tener 100 caracteres.

27
00:02:37,230 --> 00:02:46,080
Esto lo vamos a ver cómo lo vamos a manejar vamos a decir qué puntaje punto Open vamos a abrir el archivo

28
00:02:46,200 --> 00:02:52,780
vamos a tener que abrir un nombre archivo yo lo voy a llamar joi punto Dadd para grabar nuestro Aizkorri

29
00:02:52,980 --> 00:03:01,350
va a tratar de abrir el archivo y va preguntar luego de abrir el archivo y puntaje tuvo una falla si

30
00:03:01,350 --> 00:03:04,300
tuvo una falla es porque el archivo no existe.

31
00:03:04,320 --> 00:03:12,750
Entonces recuerden que vamos a ver si el archivo existe si no existe si no existe el archivo vamos a

32
00:03:12,750 --> 00:03:21,380
poner existe archivo son todas variables que la hacemos definió al comienzo de vamos a poner un folio

33
00:03:21,390 --> 00:03:23,600
vamos a poner un reto muy bien.

34
00:03:23,700 --> 00:03:28,250
Ahora si el archivo existe si el archivo no existe no hay nada que pueda hacer.

35
00:03:28,250 --> 00:03:34,410
No puedo hacer nada si directamente le devuelvo al programa una variable que dice mi archivo no existe

36
00:03:34,710 --> 00:03:37,140
y el programa va a saber qué hacer.

37
00:03:37,140 --> 00:03:43,140
Ahora si helarse el archivo existe lo que voy a tener que hacer es leer el contenido del archivo para

38
00:03:43,140 --> 00:03:44,700
cargar mi puntaje.

39
00:03:44,700 --> 00:03:50,880
El puntaje que hice hace dos días cuando jugué que fue el máximo puntaje muy bien ahora pregunto si

40
00:03:51,090 --> 00:03:59,040
puntaje en dos Dolphin o sea si llegué al fin de archivo si no llegué al fin de archivo porque tiene

41
00:03:59,040 --> 00:04:05,220
un signo de admiración si no he llegado al fin de archivo o sea que si el archivo tiene contenido porque

42
00:04:05,220 --> 00:04:11,570
por ahí el archivo existe pero está vacío si el archivo tiene contenido.

43
00:04:11,640 --> 00:04:19,650
O sea que no he llegado en Dogfight lo que voy a hacer voy a ejecutar una función de archivo llamada

44
00:04:19,770 --> 00:04:29,640
Bettelheim la voy a grabar en texto puntaje y voy a decirle que texto puntaje se redimensiona en lugar

45
00:04:29,640 --> 00:04:37,200
de 100 caracteres que pase a tener una nueva dimensión y le voy a decir que la nueva dimensión es puntaje

46
00:04:37,640 --> 00:04:39,220
el archivo.

47
00:04:39,300 --> 00:04:45,180
Al hacer mención al archivo estoy haciendo mención al buffer de lectura de cuántos caracteres fueron

48
00:04:46,020 --> 00:04:55,020
leídos del archivo y eso es lo que va a hacer la redimensión de mi vector de caracteres hasta este punto

49
00:04:55,020 --> 00:04:55,860
ya leyó.

50
00:04:55,920 --> 00:05:03,670
Supongamos que esos cuatro caracteres un puntaje por ejemplo de 1000 2:50 leyó cuatro caracteres y me

51
00:05:03,670 --> 00:05:07,600
convirtió este vector en un vector de cuatro elementos.

52
00:05:07,720 --> 00:05:12,350
Ahora lo que yo voy a hacer ahora es transformar eso en un string.

53
00:05:12,370 --> 00:05:18,640
No me sirve un vector de caracteres cuando lo quiero mostrar por pantalla me va a hacer escribir más.

54
00:05:18,700 --> 00:05:26,770
Entonces define una variable de tipo string llamada E.C. y le digo que haga una conversión de texto

55
00:05:26,770 --> 00:05:27,700
puntaje.

56
00:05:27,850 --> 00:05:28,810
Esto es lo que hace.

57
00:05:28,840 --> 00:05:36,250
Me crea una variable de tipo string y me convierte texto puntaje que era un vector de caracteres me

58
00:05:36,250 --> 00:05:38,310
lo convierte a tipo String.

59
00:05:38,350 --> 00:05:46,210
Esto es lo que se usa para convertir caracteres ASCRI y lo que voy a hacer mi variable Jays que se entera

60
00:05:46,210 --> 00:05:48,540
cómo hago porque yo estoy leyendo a string.

61
00:05:48,550 --> 00:05:54,700
No importa que tenga un número adentro para el sistema lo que lee de un archivo es un texto me lo primero

62
00:05:54,700 --> 00:06:00,970
me lo volcó a un vector de caracteres luego lo transformó en un string pero yo ahora voy a transformar

63
00:06:01,000 --> 00:06:02,460
ese string.

64
00:06:02,600 --> 00:06:06,340
Voy a tener que transformar ese string en un dato numérico.

65
00:06:06,340 --> 00:06:15,130
Voy a usar una función llamada actu y que lo que voy a hacer es convertir ni más ni menos.

66
00:06:15,130 --> 00:06:16,990
Vamos a hacerlo así.

67
00:06:16,990 --> 00:06:19,040
Punto y coma dos puntos.

68
00:06:19,330 --> 00:06:27,160
Voy a convertir el string ese y lo reafirma con un string.

69
00:06:27,330 --> 00:06:33,020
Lo voy a convertira entero y esto es lo que va a devolver.

70
00:06:33,030 --> 00:06:37,830
Como Aizkorri es una variable global que está inicializar al comienzo del programa.

71
00:06:37,830 --> 00:06:44,110
La voy a poder consultar desde cualquier lado y la voy a consultar ni más ni menos que desde arma pantalla.

72
00:06:44,160 --> 00:06:51,480
Aquí lo que tengo que hacer es cerrar el programa lo cierro el archivo perdono el programa cierro el

73
00:06:51,480 --> 00:06:53,880
archivo y se terminó.

74
00:06:53,880 --> 00:07:01,230
Ahora ya vamos a ir a armo pantalla a mostrar nuestro disco pero lo que quiero hacer ahora es la rutina

75
00:07:01,230 --> 00:07:02,100
inversa.

76
00:07:02,190 --> 00:07:09,750
Ahora estoy leyendo un archivo lo que vamos a hacer ahora es grabar el archivo cómo grabamos el archivo.

77
00:07:09,750 --> 00:07:13,450
Vamos a definir una rutina de archivo.

78
00:07:13,590 --> 00:07:22,000
La vamos a abrir y aquí vamos a decir que en vez de ser de imput fíjese fíjense esto empieza con un

79
00:07:22,000 --> 00:07:23,310
ahí porque es de imput.

80
00:07:23,340 --> 00:07:29,040
Esto empieza por un lado porque de Apple o sea voy a grabar un archivo de audio put@ y le voy a decir

81
00:07:29,270 --> 00:07:37,110
cuando lo grabó de output el Open lo que haces lo abre y lo borra al mismo tiempo borra el contenido.

82
00:07:37,110 --> 00:07:38,450
Cuidado con eso.

83
00:07:38,760 --> 00:07:44,160
Entonces voy a abrir un archivo de audio y voy a decir se acuerdan como el Coutts que mandaba pantalla

84
00:07:44,160 --> 00:07:45,230
con un menor menor.

85
00:07:45,320 --> 00:07:52,050
Bueno eso me está diciendo que puntaje va a alimentarse del estándar imput de lo que yo le coloqué aquí

86
00:07:52,290 --> 00:07:59,730
y se va a alimentar de que de mi valía variable Aizkorri le voy a agregar además un offline un fin de

87
00:07:59,730 --> 00:08:06,900
línea para que mi registro tenga un fin de línea lo que hace esto es grabã en puntaje graba nuestro

88
00:08:06,900 --> 00:08:14,190
valor Kor que es una variable entera no importa aquí no hay que convertirla y le agrega un fin de línea

89
00:08:14,190 --> 00:08:21,180
al final en el archivo y luego una vez que hacemos esto cerramos el archivo se entiende esto es muy

90
00:08:21,180 --> 00:08:23,030
sencillo lo abro.

91
00:08:23,130 --> 00:08:31,290
Lo defino puntaje bastardeado lo abro lo abre de Apud le digo el nombre al no indicarle un patrón lo

92
00:08:31,290 --> 00:08:36,840
va a hacer en la carpeta donde esté el ejecutable del juego y le grabo un contenido ese archivo y lo

93
00:08:36,840 --> 00:08:37,700
cierro.

94
00:08:37,740 --> 00:08:42,900
Eso es todo lo que va a ser bueno y qué vamos a hacer ahora vamos a buscar la rutina que es inicializar

95
00:08:42,930 --> 00:08:44,920
para cargar ese archivo.

96
00:08:44,940 --> 00:08:52,980
Vamos a ir a inicial hizo aquí tenemos inicializar y ahí lo que vamos a tener que agregar antes de armar

97
00:08:52,980 --> 00:08:59,730
pantalla o después es lo mismo porque aquí estamos inicializar la pantalla lo que colocamos aquí es

98
00:08:59,730 --> 00:09:02,350
simplemente cargo Archivo.

99
00:09:02,370 --> 00:09:08,970
Cuando arranca nuestro juego carga nuestro Aizcorbe y va a estar grabado cuando vamos a ver ahora cuando

100
00:09:08,970 --> 00:09:11,220
lo grabamos vamos a ir a nuestro Main.

101
00:09:11,250 --> 00:09:19,830
Ok tenemos nuestro Main y aquí lo que voy a tener que chequear aparte del sonido de mover y además de

102
00:09:19,830 --> 00:09:29,820
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

103
00:09:29,820 --> 00:09:36,120
que acabo de hacer es mayor al histórico que tengo grabado lo que va a tener que hacer es obviamente

104
00:09:36,420 --> 00:09:40,060
va a ser un país Kor es igual score.

105
00:09:40,110 --> 00:09:42,190
Voy a aceptar mi nuevo disco.

106
00:09:42,390 --> 00:09:48,480
Voy a aceptar el nuevo puntaje y voy a grabo archivo eso es todo lo que tienen que hacer.

107
00:09:49,110 --> 00:09:55,930
Cuando terminó de jugar porque se detuvo el juego terminé me mataron se terminó todo.

108
00:09:55,980 --> 00:09:57,780
Ahí va el chequeo.

109
00:09:57,870 --> 00:10:06,780
Si yo he superado ese puntaje máximo y en ese momento lo mueve al nuevo puntaje y grabo el archivo.

110
00:10:06,840 --> 00:10:13,680
Esto es todo lo que tiene que ver con el juego vamos a verlo vamos a ejecutarlo vamos a grabarlo vamos

111
00:10:13,680 --> 00:10:14,700
a ejecutarlo.

112
00:10:14,760 --> 00:10:21,780
Espero que no de un error o un error porque porque no lo declaré en el prototipo y seguramente cargó

113
00:10:21,790 --> 00:10:23,730
archivos muy bien.

114
00:10:23,730 --> 00:10:32,160
Vamos a ejecutar ahora a ver si le gusta o no le gusta hay un warning pero no pasa nada se ejecuta nuestro

115
00:10:32,160 --> 00:10:35,120
programa se ejecuta nuestro programa.

116
00:10:35,190 --> 00:10:36,810
Vamos a ver vamos a escuchar

117
00:11:01,490 --> 00:11:02,750
vamos a salir de aquí.

118
00:11:02,840 --> 00:11:09,080
Vamos a ir armo pantalla muy bien ahí estamos y vamos a dibujar nuestro país qué es lo que tenemos que

119
00:11:09,080 --> 00:11:15,740
hacer en arma pantalla obviamente en armo batalla vamos a tener que hacer una sola línea de texto vamos

120
00:11:15,740 --> 00:11:22,400
a colocarla aquí arriba donde ya tenemos todo va a ser vamos a copiar esto y lo vamos a pegar debajo

121
00:11:22,550 --> 00:11:31,100
y le vamos a decir que obviamente va a ser de nuestro Wafer no lo hago del panel porque no me quedó

122
00:11:31,100 --> 00:11:38,150
espacio en el espacio donde yo lo voy a mostrar en realidad es entre el logo y el panel y en el panel

123
00:11:38,150 --> 00:11:45,050
no tengo espacio entonces lo voy a tener que usar el Wafer para references observa Afer y le voy a decir

124
00:11:45,050 --> 00:11:52,230
que se va a mostrar en Arial 20 no en Arial ve porque no son letras grandes son otras más pequeñas es

125
00:11:52,290 --> 00:11:58,160
el otro tipo de letra que para eso lo hemos creado y le vamos a decir que lo muestra en la posición

126
00:11:58,160 --> 00:12:01,270
700 y en la línea 100.

127
00:12:01,310 --> 00:12:08,090
Esto me lo va a mostrar donde yo quiero un Maicol ya tengo le voy a decir que va a ser una letra blanca

128
00:12:08,150 --> 00:12:15,360
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

129
00:12:15,410 --> 00:12:18,170
aquí voy a poner la variable en lugar de vidas.

130
00:12:18,320 --> 00:12:26,660
Voy a poner la variable quisco pero qué pasa voy a darle un poquito más de aquí voy a usar en realidad

131
00:12:27,240 --> 00:12:35,090
voy a escribir la palabra geis Kor Castor le voy a dejar un espacio voy a poner un puntos y le voy a

132
00:12:35,090 --> 00:12:41,000
decir que se entera no lo voy a poner que es decimal y aquí vamos a poner Jaizkibel muy bien fíjense

133
00:12:41,000 --> 00:12:47,030
que yo puedo agregar un texto antes que es el título que es el Leiber de qué es lo que estoy mostrando

134
00:12:47,450 --> 00:12:53,150
muy bien esto lo vamos a grabar vamos ejecutar y vamos a ver nuestro Geist

135
00:13:36,280 --> 00:13:37,690
cuando le demos sentar

136
00:13:41,050 --> 00:13:44,090
lo leyó de memoria lo leyó del archivo.

137
00:13:44,140 --> 00:13:50,500
Vamos a ir a nuestra carpeta Arka van a ver que tengo ahora un archivo Jaime Siles un bloc de notas

138
00:13:50,500 --> 00:13:53,420
lo puedo editar y tiene el 160.

139
00:13:53,420 --> 00:14:01,390
Esto es escritura de archivos en C++ y lo estamos haciendo en nuestro juego así que bueno esto es básicamente

140
00:14:01,390 --> 00:14:02,770
el juego.

141
00:14:02,770 --> 00:14:09,670
Vamos a ver si vamos a ejecutar a ver si nos deja con la tecla hacer o avanzar y ver otros niveles.

142
00:14:42,110 --> 00:14:45,680
Así que bueno este es el juego que acabamos de desarrollar.

143
00:14:45,780 --> 00:14:48,750
Nos queda un capítulo más.

144
00:14:48,750 --> 00:14:54,330
Yo siempre digo así después por ahí agrego más capítulos con más cosas y bueno al momento de grabar

145
00:14:54,330 --> 00:15:00,030
el curso nos queda un capítulo más si luego aparecen más capítulos porque le agrego más cosas al juego.

146
00:15:00,030 --> 00:15:02,770
Ustedes se van a enterar y van a saber entender.

147
00:15:02,820 --> 00:15:08,280
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

148
00:15:08,280 --> 00:15:11,980
rutinas de carga archivo y grabo archivo o termina nuestro curso.

149
00:15:12,120 --> 00:15:17,880
Espero que les haya gustado o ahora lo que van a ver es el capítulo de despedida pero van a tener en

150
00:15:17,880 --> 00:15:21,190
el capítulo de despedida una descarga.

151
00:15:21,360 --> 00:15:29,610
Van a tener los recursos de descarga donde yo les voy a dejar absolutamente todo el contenido del juego

152
00:15:29,640 --> 00:15:37,650
en un archivo punto si van a poder descargar el programa original el código original.

153
00:15:37,650 --> 00:15:44,320
Recuerden que lo pueden comparar con el que han escrito ustedes para ver si hay alguna diferencia y

154
00:15:44,400 --> 00:15:45,090
algún error.

155
00:15:45,090 --> 00:15:51,450
Quizás a ustedes les está dando algún error por algún dedo a mal metido y bueno es conveniente que tengan

156
00:15:51,450 --> 00:15:53,740
el código fuente original.

157
00:15:53,820 --> 00:16:01,350
Espero que les haya gustado el curso seguramente más adelante agregue alguna clase más algún algún chiche

158
00:16:01,350 --> 00:16:02,550
más al curso.

159
00:16:02,550 --> 00:16:08,340
Por ahora es todo y bueno espero que lo hayan disfrutado como lo disfruté yo de enseñarlo.

160
00:16:08,340 --> 00:16:16,920
No olviden de dejar sus preguntas y traten de valorar el curso lo más honesto posible si realmente no

161
00:16:16,920 --> 00:16:17,830
les gustó.

162
00:16:18,240 --> 00:16:21,130
Bueno coloquen el voto que les parece.

163
00:16:21,120 --> 00:16:24,340
Esto es un derecho que tienen ustedes en yo de mí.

164
00:16:24,430 --> 00:16:28,440
Bueno les mando un saludo y nos vamos al capítulo de saludo final.
