1
00:00:02,210 --> 00:00:04,800
Y vamos a continuar con el programa.

2
00:00:04,800 --> 00:00:11,250
Quiero mostrarles algo que me ha ocurrido por una letra mal puesta quise ejecutar el programa y el programa

3
00:00:11,250 --> 00:00:20,160
me daba error me daba error se me cerraba cuando cuando semas más detecta un problema no se cuelga todo

4
00:00:20,160 --> 00:00:28,740
el programa el programa no responde hay que cerrarlo hay que colocarle algunas indicaciones para depurarlo

5
00:00:29,160 --> 00:00:31,170
por ejemplo esto es lo que hace.

6
00:00:31,260 --> 00:00:38,700
Yo tenía problemas en esta línea fijense yo puse un sonido remota base cuando lo había cargado cuando

7
00:00:38,700 --> 00:00:46,440
lo había cargado había usado la palabra rebotã base pero el archivo punto WAV se va se llama rebote

8
00:00:46,440 --> 00:00:49,740
base yo me fijé en el programa original.

9
00:00:49,860 --> 00:00:54,540
Este es el programa original todo el código que estamos haciendo sale de aquí que es el programa que

10
00:00:54,540 --> 00:00:59,490
yo desarrollé para que ustedes lo vean antes de que yo haga el curso.

11
00:00:59,490 --> 00:01:05,310
Todo lo que estoy copiando sale de este desarrollo pero yo no puedo arrancar y empezar a explicarles

12
00:01:05,310 --> 00:01:10,380
cada línea lo tengo que ir haciendo para que ustedes vean el paso a paso y yo me vine a fijar y digo

13
00:01:10,440 --> 00:01:13,220
claro el rebote base y me daba error.

14
00:01:13,230 --> 00:01:14,570
Entonces qué puse.

15
00:01:14,640 --> 00:01:22,440
Puse estas instrucciones que son muy útiles que esto me manda a pantalla este texto antes de ejecutar

16
00:01:22,440 --> 00:01:29,220
el play sample y luego ejecutaba de nuevo cuando salía para ver si realmente esta no era la línea.

17
00:01:29,220 --> 00:01:36,780
El problema efectivamente era la línea el problema porque ejecutaba esto y cuando entraba aquí se colgaba

18
00:01:36,780 --> 00:01:42,500
así que nunca llegaba a mostrar este mensaje con lo cual me daba la indicación de que esta era la línea

19
00:01:43,080 --> 00:01:49,710
y luego hice un sistema passe que lo que hace se espera hasta que le doy una tecla cuando pulso una

20
00:01:49,710 --> 00:01:55,170
tecla continúa el programa es una especie de pausa y me lo muestra en la primer ventanita vieron que

21
00:01:55,170 --> 00:02:01,980
ustedes van a ver que hoy vamos a ver vamos aquí vamos a ejecutarlo vamos a ver el movimiento de nuestra

22
00:02:01,980 --> 00:02:03,540
base y de la bola

23
00:02:08,460 --> 00:02:10,960
y aquí es donde se cuelga.

24
00:02:11,070 --> 00:02:17,910
Aquí es donde se cuelga en este momento no está colgado está esperando que yo presione una tecla para

25
00:02:17,910 --> 00:02:23,000
continuar se entiende no es que está colgado ni está funcionando mal.

26
00:02:23,100 --> 00:02:30,280
Cada vez que llega aquí me pide la pulsación de una tecla vamos a salir cuando ustedes tengan que mostrar

27
00:02:30,280 --> 00:02:33,850
algo por pantalla van a usar esas instrucciones.

28
00:02:33,850 --> 00:02:40,820
El CAT que manda lo que coloquen en menor menor colocan un texto se lo va a mandar a pantalla.

29
00:02:40,840 --> 00:02:43,920
Esto es útil para ver el valor de una variable.

30
00:02:43,930 --> 00:02:52,210
Para depurarlo y ver cómo está funcionando cuando algo no le funciona yo lo voy a quitar porque quiero

31
00:02:52,210 --> 00:02:56,120
que mi juego funcione perfectamente.

32
00:02:56,170 --> 00:02:59,950
Vamos ahora a correrlo quiero que ustedes vean bien lo que hemos hecho hasta ahora

33
00:03:34,380 --> 00:03:36,950
bueno y ahí sí se fijaron.

34
00:03:37,180 --> 00:03:43,060
Cuando llega al fondo no reproduce nada no me está mostrando ninguna animación no ejecuta ningún sonido

35
00:03:43,420 --> 00:03:51,840
lo que vamos a hacer ahora es empezar a trabajar un poquito con eso vamos a ir a nuestra función main

36
00:03:52,030 --> 00:03:54,230
que es lo que viene ahora después de jugar.

37
00:03:54,250 --> 00:04:02,100
Yo tengo que hacer un mini pase y lo que tengo que hacer a continuación preguntar si efectos está habilitado.

38
00:04:02,100 --> 00:04:07,810
Voy a ejecutar el sonido del Game Over porque perdí terminó de jugar.

39
00:04:07,840 --> 00:04:15,570
Eso es lo que va a ejecutar con nuestros parámetros ya conocidos y iba a ejecutar el Game Over ok.

40
00:04:15,590 --> 00:04:21,280
Ahora cuando yo ya terminé eso lo que voy a tener que hacer es.

41
00:04:21,280 --> 00:04:30,040
Por supuesto voy a tener que poner vamos a jugar iniciado después de jugar vamos a insertar aquí y lo

42
00:04:30,040 --> 00:04:30,860
que voy a hacer.

43
00:04:30,880 --> 00:04:40,000
Voy a hacer un Weyl y voy a esperar hasta que se pulse la tecla Enter o la tecla Escape la tecla escape

44
00:04:40,270 --> 00:04:45,580
mientras no se pulse va a entrar en un loop ahí esperando porque porque terminé de jugar y bueno está

45
00:04:45,580 --> 00:04:50,030
esperando a ver qué quiero hacer si quiero salir del juego o quiero jugar nuevamente.

46
00:04:50,040 --> 00:04:52,030
Bueno muy bien y qué va a hacer este guay.

47
00:04:52,030 --> 00:04:58,300
Nada más estar esperando a que yo pulse una tecla Kiba detener la ejecución del juego lo voy a estar

48
00:04:58,300 --> 00:05:06,670
esperando no va a correr ninguna otra instrucción más una vez que yo de Enter voy a llevar mis valores

49
00:05:06,670 --> 00:05:07,840
a la normalidad.

50
00:05:07,870 --> 00:05:12,730
Voy a poner vida en tres Lebel en gran velocidad qué voy a hacer.

51
00:05:12,730 --> 00:05:15,560
Le voy a grabar lo que tenía en velocidad inicial.

52
00:05:15,610 --> 00:05:22,090
Voy a volver a velocidad a a lo que ustedes definan en vez de colocar un 3 aquí voy a tener una variable

53
00:05:22,090 --> 00:05:28,510
que cuando quieran ejecutar el juego en otra velocidad le mueven otro valor al valor por defecto de

54
00:05:28,510 --> 00:05:33,120
esa variable y ya lo tengo solucionado y falta el escozor.

55
00:05:33,190 --> 00:05:36,630
Le voy a mover un cero mi puntaje vuelve a cero.

56
00:05:36,670 --> 00:05:46,390
Cuando esto termina cuando se ejecuta todo voy a ejecutar una nueva rutina que se llama destruyo componentes

57
00:05:46,600 --> 00:05:54,190
destruyo componentes los va a sacar de memoria para que no quede la memoria sucia destruyo componentes

58
00:05:54,250 --> 00:06:01,380
y lo que se hace aquí en destruyo componentes es lo que se llama la instrucción Destroy.

59
00:06:01,660 --> 00:06:03,140
Vamos a verla.

60
00:06:03,400 --> 00:06:08,780
La instrucción de Strait es una instrucción que se encarga de sacarnos de memoria todo.

61
00:06:08,800 --> 00:06:16,600
Bueno voy a destruir MIDI voy a decirle que quite de memoria la música del juego esté o no ejecutándose

62
00:06:17,080 --> 00:06:24,820
esto como habíamos creado un puntero lo que haces me libera memoria y luego voy a hacer un Destroy sampleo.

63
00:06:24,940 --> 00:06:29,220
El sonido de inicio del juego y luego voy a hacer un Destroy de absolutamente todo.

64
00:06:29,220 --> 00:06:38,550
Entonces vamos a copiar y no es sonido de inicio de juego será sonido inicio de nivel.

65
00:06:38,590 --> 00:06:47,380
Luego tenemos otros sonidos por ejemplo ladrillo roto por ejemplo y así sucesivamente.

66
00:06:47,380 --> 00:06:51,940
Cada uno de los sonidos lo ahora lo voy a no vamos a estar escribiendo todos.

67
00:06:51,940 --> 00:06:53,530
Luego lo voy a completar.

68
00:06:53,530 --> 00:06:55,970
Es más voy a venir aquí a mi.

69
00:06:56,410 --> 00:07:04,090
Aquí tengo mi código original inclusive Wafer con un Destroy bitmap también queda destruido de memoria.

70
00:07:04,090 --> 00:07:09,980
Vamos a ver si lo quieren hacer más exigente pueden destruir todos los bitmap que hay.

71
00:07:10,150 --> 00:07:16,090
No es que Bandar mal si hacen o no hacen esto es más o menos liberar memoria y que el equipo no quede

72
00:07:16,990 --> 00:07:24,160
con mucha memoria por si lo corren 26 veces si el juego va acumulando por cada juego memoria.

73
00:07:24,160 --> 00:07:28,660
Para esto llega un momento que puede colapsar así todo.

74
00:07:28,660 --> 00:07:34,870
Obviamente Windows tiene sus propias rutinas que van chequeando cuando un objeto en memoria quedó asignado

75
00:07:34,870 --> 00:07:36,460
y ya no está en uso.

76
00:07:36,460 --> 00:07:42,610
Vamos a ver el tema de la muerte la famosa Moar que vamos a dibujar nuestra muerte.

77
00:07:42,610 --> 00:07:46,760
Nosotros tenemos 4 bitmaps que habíamos cargado de nuestra base.

78
00:07:46,840 --> 00:07:53,170
Entonces lo que vamos a hacer cuando entramos en muerte vamos a decirle que muerte es igual a true.

79
00:07:53,710 --> 00:08:01,680
Lo vamos a aceptar en thru y vamos a hacer un favor de secuencia a muerte es igual a 1.

80
00:08:01,750 --> 00:08:06,510
Fíjense que yo aquí no declaro una variable porque secuencia a muerte ya existe.

81
00:08:06,510 --> 00:08:13,390
Es una variable que ya la hemos declarado arriba entonces no tenemos que poner un int porque si yo creo

82
00:08:13,390 --> 00:08:14,450
un int.

83
00:08:14,470 --> 00:08:20,680
Si yo coloco aquí un link voy a estar creando una nueva variable llamada secuencia muerte que va a ser

84
00:08:21,250 --> 00:08:23,540
solamente local de esta rutina.

85
00:08:23,620 --> 00:08:30,430
Igual no me va a funcionar lo que yo quiero que funcione esta variable lo que va a hacer es incrementar

86
00:08:30,550 --> 00:08:38,310
este foro una variable que ya existe la secuencia a muerte y le voy a decir que hasta qué secuencia

87
00:08:38,310 --> 00:08:46,140
muerte sea a menos que va a ejecutar mientras sea menor a 5 por ejemplo y que secuencia muerte la tiene

88
00:08:46,140 --> 00:08:54,060
que incrementar muy bien lo que va a hacer ahora es un arma pantalla nada más y nada menos que esto

89
00:08:54,540 --> 00:08:58,020
y luego va a ser un slip de 200.

90
00:08:58,020 --> 00:09:06,900
Esta instrucción me va a detener la animación durante 200 milisegundos si yo no coloco esto la secuencia

91
00:09:07,020 --> 00:09:14,800
de la animación no la van a percibir va a ser tan rápida que no van a ver a nuestra base de esa armándose

92
00:09:14,850 --> 00:09:21,750
por la explosión lo que van a ver es un destello que no se van a dar cuenta que entonces vamos a detener

93
00:09:21,840 --> 00:09:29,550
la ejecución hacer una pausa durante 200 milisegundos y va a mostrar la otra secuencia.

94
00:09:29,640 --> 00:09:36,110
Esto es lo que va a hacer es cambiar la variable secuencia a muerte y me manda arma pantalla entonces

95
00:09:36,160 --> 00:09:43,680
el arpón el arma pantalla yo tengo que dibujar la secuencia a muerte vamos a ir a nuestro arma pantalla

96
00:09:43,770 --> 00:09:50,040
que está aquí donde nosotros tenemos nuestra base aquí la tenemos pero ahora yo voy a tener que hacer

97
00:09:50,040 --> 00:09:51,420
algo diferente.

98
00:09:51,540 --> 00:09:54,900
Voy a tener que dibujar la muerte como dibujo la muerte.

99
00:09:54,900 --> 00:10:01,680
Bueno vamos a nuestro arma pantalla y le vamos a colocar un switch obviamente vamos a primero a preguntar

100
00:10:01,680 --> 00:10:06,900
si es muerte porque no tiene sentido que vayamos integrando es muerte.

101
00:10:06,900 --> 00:10:11,630
Voy a hacer una cosa y poner sobre el dibujo nuestra base.

102
00:10:11,670 --> 00:10:18,120
Normalmente como lo veníamos haciendo hasta ahora que se desplace libremente y con mucha salud.

103
00:10:18,120 --> 00:10:20,880
Ahora qué pasa si es muerte.

104
00:10:20,880 --> 00:10:24,120
Voy a tener que dibujar perdón si no es muerte.

105
00:10:24,120 --> 00:10:30,840
Esto va al revés aquí arriba muy bien y ahora vamos a escribir un switch si es muerte vamos a escribir

106
00:10:30,840 --> 00:10:36,960
un switch de que de qué va a ser a ver secuencia a muerte porque si se acuerdan que veníamos consecuencia

107
00:10:36,960 --> 00:10:44,190
a muerte con 1 2 3 4 y le vamos a decir por ejemplo que iba a arrancar en nuestro switch que cuando

108
00:10:44,190 --> 00:10:55,710
sea 1 va a ser un draw drop sprite de Buffer como base dos coma Basse X coma seis 55 fijense dos cosas

109
00:10:55,770 --> 00:11:03,380
una que hablo de base 2 por qué no base por qué ahora voy a usar otro bitmap que es nuestro base 2 que

110
00:11:03,390 --> 00:11:08,710
donde nuestra base se hace más grande porque se hincha porque va a explotar cuando va a explotar.

111
00:11:08,820 --> 00:11:15,180
Lo primero que hago es dibujar una base más grande es la primera animación que hace y me la posición

112
00:11:15,180 --> 00:11:22,890
en otro lugar me la posición un poco más arriba en las 6 60 sino que en las 6 55 para que parezca que

113
00:11:22,890 --> 00:11:30,660
está creciendo muy bien luego hacemos el break y ahora vamos a repetir 5 veces cuando secuencia muerte

114
00:11:30,660 --> 00:11:38,210
esté en la posición 2 de la animación ya tengo que dibujar otra cosa voy a dibujar base 3 y voy a dibujar

115
00:11:38,220 --> 00:11:38,940
base 3.

116
00:11:38,940 --> 00:11:41,980
Perdón aquí son tres animaciones no cinco.

117
00:11:42,180 --> 00:11:50,580
Me entusiasmé va a dibujar base 3 y lo va a dibujar en la posición 6:50 lo sigo subiendo la base va

118
00:11:50,580 --> 00:11:53,620
explotando cuando algo explota va hacia arriba.

119
00:11:53,880 --> 00:12:00,090
Entonces mi base va explotando y no solo me da sensación de movimiento a los costados sino hacia arriba

120
00:12:00,090 --> 00:12:01,280
también.

121
00:12:01,350 --> 00:12:08,430
Luego en 3 cuando secuencia muerte es igual a 3 voy a mostrar base 4 y la voy a mostrar en las 6:40

122
00:12:08,550 --> 00:12:16,170
más arriba todavía muy bien y cuando ustedes dirán Pero si Elif cuando es menor a 5 o sea que va a haber

123
00:12:16,170 --> 00:12:19,370
un valor 4 ESO ES LO QUE NO SE ENTIENDE.

124
00:12:19,370 --> 00:12:20,820
Va a haber un valor 4.

125
00:12:20,970 --> 00:12:27,720
Fíjense qué pasa cuando hay un valor 4 primero llega acá y dices muerte si es muerte entonces esto no

126
00:12:27,720 --> 00:12:28,350
lo dibuja.

127
00:12:28,350 --> 00:12:37,020
Viene acá abajo y aquí abajo pregunta la secuencia 1 no las secuencias 2 no la secuencia 3 tampoco es

128
00:12:37,030 --> 00:12:39,480
4 entonces no va a hacer nada.

129
00:12:39,480 --> 00:12:48,000
Esa es la parte la parte 4 de la animación donde mi base desapareció no me dibujó nada venía creciendo

130
00:12:48,060 --> 00:12:51,530
explotó y realmente desapareció.

131
00:12:51,570 --> 00:12:59,700
Eso es porque nosotros preguntamos en nuestro foro hasta que sea menor a 5 va a llegar a 4 y en 4 no

132
00:12:59,700 --> 00:13:04,020
va a hacer absolutamente nada vamos a secuencia a muerte.

133
00:13:04,050 --> 00:13:11,400
Para verlo dibuja muerte secuencia a muerte todo está perfecto vamos a grabarlo y vamos a ejecutarlo

134
00:13:12,020 --> 00:13:19,590
vida que no le gustó pero donde destruyo componentes no fue declarado así que voy a crearlo en mi asco

135
00:13:19,700 --> 00:13:21,960
ahí está pero vida no le gusta.

136
00:13:22,060 --> 00:13:29,040
Bueno ahí vamos a continuar aquí me dio un error porque vida no es vidas en plural así que vamos a ejecutar

137
00:13:29,040 --> 00:13:34,990
nuestro nuestro programa a ver cómo está funcionando le faltan algunas cositas.

138
00:13:34,990 --> 00:13:38,440
Vamos a ver nuestro juego lo vamos a ejecutar

139
00:14:05,920 --> 00:14:13,780
vamos a ir al programa nuevamente vamos a ir a nuestra muerte dibujamos arte y una vez que terminó la

140
00:14:13,780 --> 00:14:20,890
secuencia yo tengo que dejar la variable como estaba tengo que poner Fours porque si no para el programa

141
00:14:20,890 --> 00:14:22,120
siempre estoy muerto.

142
00:14:22,120 --> 00:14:29,230
Por eso no me muestra la base porque es secuencia a muerte quedan cuatro muertes quedan truc y siempre

143
00:14:29,370 --> 00:14:38,560
armo pantalla quedó absolutamente muerta nuestra base y ocultã entonces lo que voy a hacer ahora es

144
00:14:38,830 --> 00:14:41,940
aparte de poner muerte en fold.

145
00:14:41,950 --> 00:14:49,390
Voy a ir a mi rutina maestra de arma pantalla vamos a ver otra cosa que es que no está saliendo el sonido

146
00:14:49,390 --> 00:14:54,000
inicial porque nos lo hemos sitiado en nuestra rutina.

147
00:14:54,010 --> 00:15:03,430
Inicio vamos a ir a colocarle el sonido del juego que no aparece porque por algo no aparece y vamos

148
00:15:03,430 --> 00:15:05,610
a ir a la rutina de inicio.

149
00:15:05,650 --> 00:15:14,470
Inicialización recuerdan que nosotros tenemos una rutina que es inicial hizo vamos a seguir a esa rutina

150
00:15:14,710 --> 00:15:21,290
inicial hizo muy bien y aquí es donde yo voy a colocar el sonido.

151
00:15:21,310 --> 00:15:29,320
Nosotros tenemos inicializar pantalla inicializar sonidos y tenemos que agregar además el play Midi

152
00:15:29,410 --> 00:15:35,320
el play midi de que nuestra música inicio y le voy a decir a mi play MIDI.

153
00:15:35,620 --> 00:15:42,070
Le voy a poner un cero significa que no va a entrar en loop se va a ejecutar una sola vez se va a ejecutar

154
00:15:42,070 --> 00:15:47,050
una sola vez hasta que alguien le dé Enter.

155
00:15:47,050 --> 00:15:49,530
Vamos a probarlo vamos a ver

156
00:15:57,770 --> 00:16:00,060
y esa es nuestra música inicio.

157
00:16:00,280 --> 00:16:03,700
Vamos a darle enter y vamos a ver que arranca otra música.

158
00:16:03,700 --> 00:16:04,740
Vamos a iniciar una

159
00:16:14,490 --> 00:16:17,660
ahí se ve cómo nuestra base retorna a la vida.

160
00:16:17,760 --> 00:16:22,230
Muy bien ya tenemos prácticamente casi todo hecho.

161
00:16:22,230 --> 00:16:30,690
Vamos a agregar una última cosa que es el tema de los tipos de letra y el tema de la carga de archivos

162
00:16:30,690 --> 00:16:34,230
que es muy importante y lo vamos a ver en el próximo capítulo.
