Bienvenidos de nuevo mis compañeros desarrolladores de juegos
a un nuevo video largo.
No vamos a perder tiempo.
Y este video, lo que hacemos es cuando matamos a los enemigos,
esto no es muy emocionante.
Sólo te diré, cuando matemos a los enemigos,
escogemos dos números aleatorios.
Eso es todo.
Eso es todo lo que hacemos.
Siguiente video, verás por qué,
pero es un concepto bastante complicado
donde aprendemos un nuevo tipo de bucle.
Aprendimos las tablas de verdad.
Entonces es muy, muy vale la pena.
Entonces eso no es perder más tiempo y empecemos.
Ah, caso.
Por lo que ahora estamos completando las olas.
Es hora de salir de la habitación e ir a la siguiente.
Entonces, ¿cómo vamos a hacer esto?
Solo tomemos un breve momento para hablar de eso.
Vamos a entrar a las habitaciones, a las puertas.
Y como pueden ver, tenemos
dos puertas con dos portales detrás de ellas.
Y esto es algo que será lo mismo
en cada nivel.
No quería agregar demasiada cosa solo para mantener
todo menos complicado y comprensible.
Entonces lo que tenemos aquí son
los dos portales y las dos puertas.
Entonces, ¿qué pasa cuando matamos a
todas las olas o a todos los enemigos en la última ola,
ola, estas puertas tendrán la capacidad de abrirse.
Pero como viste en el juego Hades,
siempre tenemos dos opciones.
Entonces tenemos dos portales que podemos pasar por 14,
digamos el afilado, el otro a otra
arena enemiga.
Y eso es lo que también queremos hacer.
Queremos tener la opción de ir a uno de estos dos?
Por lo que tendremos que poner estos dos portales
antemano y estas dos puertas también de antemano.
Posteriormente estaremos creando tal vez algún tipo de nombre tal
vez apareciendo una vez que estemos al lado de la puerta.
Entonces cuando lo abrimos, sabemos a dónde vamos.
Pero por ahora, vamos a centrarnos en cambiar realmente The,
mientras que si hacemos clic en el Portal y desbloqueamos esto,
se puede ver que tenemos el nivel 2
va o el nivel a cargar.
Entonces lo que haremos es tratar de cambiar
estos en cuanto matemos a los enemigos.
Entonces, empecemos.
Voy a volver a
nuestro código y lo primero que voy
hacer es que voy a entrar al nivel de salida aquí dentro.
Y en lugar de usar una cadena,
vamos a estar usando un entero.
Entonces un entero.
¿ Por qué estamos trabajando con enteros?
Bueno, porque aquí dentro estaremos
usando varios métodos en el gestor de escena
que sólo pueden tomar
un parámetro entero con el que podemos trabajar.
Entonces por eso lo estamos cambiando para poner en peligro.
Posteriormente verás por qué está pasando todo esto.
Voy a asegurarme de que esto esté
comentado y luego volveremos
a cambiarlo.
Pero por ahora porque el nivel de carga está
tomando un entero o sabes qué, vamos a mantenerlo.
Y dejémoslo.
Y vamos al encargado de nivel.
Y en el siguiente nivel de carga,
en lugar de una cadena,
vamos a usar un entero.
Entonces el siguiente nivel es un entero,
y la escena de carga en realidad puede
tomar un entero como parámetro.
Entonces todo está funcionando bien por ahora.
Lo siguiente que tenemos que hacer es establecer las
dos puertas o las salidas de dos niveles.
Y porque ya tenemos todo
preparado y sabemos que siempre habrá dos puertas.
Para simplemente hacer simple,
voy a crear
un nivel público y de nivel
para ir a subrayar uno.
Y luego voy a copiar esto
y convertirlo en el subrayado dos.
Entonces esto es para el segundo nivel.
Y luego también voy a crear una salida a nivel público.
Y este será el nivel exit underscore
uno y el nivel exit underscore dos.
Entonces ahora tenemos la estrategia de salida de dos niveles
y sigamos adelante y creamos un recolector de nivel.
Entonces me voy a desplazar hacia abajo,
pero no demasiado, tal vez aquí mismo.
Y voy a decir que tengo
un recolector de nivel de vacío público.
Y aquí dentro vamos a estar
empleando un par de cosas.
Entonces lo que queremos hacer es escoger un nivel.
Pero eso no es tan sencillo como se podría pensar porque nosotros,
digamos que estamos actualmente en el nivel esqueleto.
Este de Kelly. Está bien.
Digamos que tenemos la opción de ir,
por ejemplo, a la tienda.
Uno de ellos será la tienda.
Trataremos de elegir un nivel aleatorio.
Entonces tenemos la opción de ir a la cima en la primera puerta,
pero en la segunda puerta obtenemos la opción de ir al
cráneo es pero ya hemos estado en el Skelly.
Entonces lo que tenemos que tener en cuenta es que cada
vez que queremos tener la opción de elegir otro nivel,
tiene que ser diferente al
nivel actual en el que estamos.
Y no sólo eso,
necesitamos tener también el nivel.
En la puerta izquierda diferente
al nivel de la puerta derecha.
Entonces, esencialmente, necesitamos tres cosas de las que hacer un seguimiento.
El nivel en el que estamos actualmente.
El nivel al que irá si pasamos por la primera puerta
y el nivel irá a si pasamos
por la segunda puerta.
Entonces, ¿cómo vamos a hacer esto?
¿ Cómo vamos a implementar esto?
¿ Encontrar cosas mientras seguimos en el mismo nivel?
Aquí es donde usaremos algo llamado un bucle while.
Entonces déjame decirte qué es un loop while y verás
lo importante que es en esta situación aquí mismo.
Entonces, en primer lugar, es similar a for loops at
ejecuta un bloque de código varias veces.
En lugar de determinar el número de veces antes de la mano,
esperamos hasta que se cumpla cierta condición.
Por lo que esto es perfecto para nuestro caso aquí mismo,
porque no sabemos cuántas veces tenemos
pasar buscando un nivel,
pero sabemos que seguiremos buscando mientras
el nivel que queremos establecer
la primera puerta es diferente al nivel actual.
Y también seguiremos buscando mientras
el segundo nivel en
la segunda puerta es diferente al primero,
que ya es y
diferente al nivel en el que estamos actualmente.
Entonces déjame solo llevarte a través
la estructura del for loop.
Se puede ver aquí mismo,
tenemos el tiempo.
Abrimos los corchetes,
ponemos en una condición.
Es exactamente lo mismo que la declaración if.
Y si es cierto,
entonces haremos algo llamado ejecutar y luego
volveremos a la condición, cambio de condición.
Si no lo ha hecho, volvemos.
Así que asegúrate de tomar precauciones cuando uses while
loops porque pueden causar muchos problemas.
Podrás terminar en un bucle interminable donde
la condición no cambia y tu Unity se estrellará.
Confía en mí, me pasa y me
todo el tiempo siempre que estoy usando while loops.
Así que asegúrate de conocer el problema.
Asegúrate de cambiar siempre
la condición y siempre salir del bucle while.
De todos modos, con eso dicho,
volvamos a Unidad.
Y aquí, me refiero a Visual Studio.
¿ Y qué vamos a hacer aquí dentro?
Vamos a decir que si bien nivel para ir a
uno es igual al gestor de escena, dot,
ponte activo, visto índice de puntos.
Entonces vamos a seguir adelante y crear
un número aleatorio que sea
igual a un rango de puntos aleatorios desde 0 o en realidad desde uno.
¿ En qué estamos usando uno?
Pues bien, porque sabemos que la escena del índice
0 no es algo a lo que quisiéramos acudir.
Déjame mostrarte a lo que me refiero.
Si vuelvo al Archivo,
BuildSettings, el primero como pantalla de título,
el arma nueva se pone y todo
está disponible excepto el 0,
que, y el, obviamente el último.
Entonces aquí dentro, lo aleatorio empezaremos en uno.
Por lo que de uno al gestor de escenas,
la escena cuenta en Configuración de compilación.
Y puedes ver aquí mismo, este es el número
de escenas y los ajustes de compilación.
Y lo vamos a reducir por uno,
porque obviamente no queremos el último ahí dentro.
Entonces ahora que tenemos un número aleatorio de nuestras escenas,
solo voy a seguir adelante e imprimir ese número aleatorio.
Así que imprime y digamos la habitación para el número aleatorio,
número aleatorio es y primera ronda.
Y entonces aquí dentro vamos a fijar el nivel
ir uno para ser igual a despotricar.
De acuerdo, entonces, ¿qué está pasando aquí?
En primer lugar, decimos que si bien el nivel a
ir es igual al índice de compilación actual,
entonces vamos a entrar al bucle while,
número aleatorio elegido asignado
el nivel a ir si sigue siendo el mismo,
y luego revisa el estado aquí.
Si sigue siendo igual,
entonces de nuevo crearemos
otro número aleatorio y lo asignaremos al nivel para ir.
Y seguiremos haciendo esto.
Si bien el nivel para ir 1 es igual al
gestor de escena o al índice de compilación
de la escena que está activa en este momento.
Una vez No lo es, una vez que ya no se cumple esta condición,
seguiremos poniéndonos sobre las cosas.
Antes de continuar.
Obviamente, necesitamos hacer algo que se establezca el nivel
para ir uno para ser igual al encargado de escena.
El justo copia este.
Entonces solo lo estamos enviando al
principio como éste sólo para que podamos
entrar en el bucle y luego continuar.
Entonces, vamos a guardar eso.
Volvamos a nuestra ganancia o y nosotros en realidad.
Todavía no tenemos esto.
Entonces para llamar a esto,
¿dónde deberíamos estar llamándolo?
Creo que esto es parte de tu reto.
Bueno, creo que será parte de tu reto.
lo que lamentablemente no podremos probarlo.
Pero, o sabes qué,
vamos a probarlo.
Entonces si voy a donde crees que si quieres,
puedes convertirlo en un reto.
Pero desafortunadamente, ya te lo he mostrado.
Entonces aquí cuando dijimos la depuración,
todas las ondas están completas.
Solo mantengamos esto,
eliminemos lo común porque ahora realmente podemos
seguir adelante y acceder al gestor de nivel.
Y creo que es una instancia.
Y accederemos al recolector de nivel.
Y ahora en realidad podemos escoger un nivel y también debemos
asegurarnos de que las olas estén completas.
Y también necesitamos asegurarnos de que
las olas estén completas.
Entonces, ¿cómo vamos a hacer esto?
Esto es algo que deberíamos haber
hecho antes, pero sin preocupaciones.
Vamos a crear una variable privada
aquí y las olas se completan.
Y lo pondremos como falso al principio.
Tan privado, oh, lo siento, olas booleanas completas.
¿ Y dónde lo ponemos a verdad?
Aquí abajo después de que todas las olas estén completas.
Por lo que las ondas completas es igual a verdad.
¿ Y dónde afecta esto todo?
Bueno, aquí arriba, si miramos
donde estamos desovando cada vez.
Entonces voy a sangrar esto usando la pestaña.
Y voy a decir si las olas aún no están
completas, entonces, ¿verdad?
Ondas completas aún no están completas.
Entonces si éste sigue siendo falso,
lo cual no debería ser falso hasta que nos convertamos
en verdadero aquí mismo.
Entonces como esto lo mantengo así, creo que
esto va a funcionar,
pero sabes qué, voy a
añadir las dos líneas ardientes,
asegurarme de que todo esté configurado correctamente.
Entonces ahora, una vez que destruimos o terminamos todas las olas,
Waves completas se hace.
Ya no estamos contando atrás y elegimos un nivel.
Entonces trataremos de ver cómo se ve eso en nuestro juego.
Entonces corremos.
Y creo que deberíamos quitar
el justo para hacerlo más rápido.
Entonces voy a disparar a los enemigos un par de veces.
Espera la segunda ola,
que son los ojos cobardes hallan.
Voy a disparar a los cobardes ojos voladores.
Y ahí vamos.
Y todavía tenemos uno aquí.
Entonces una vez que lo matamos,
tenemos el número aleatorio tres.
Y abramos la consola y pausemos el juego.
Entonces si miramos en la consola,
tenemos el número aleatorio es tres.
Por lo que obviamente este trabajo por primera vez.
Veamos cuáles son los 40 índices de construcción, los
de Kelly, sus dos.
Entonces tres es el nivel de jefe.
Por lo que elegimos otro nivel.
Excelente.
De verdad quiero que veas
el número aleatorio siendo elegido varias veces,
pero sin preocupaciones, tendremos mucha
oportunidad para esas cosas.
Voy a quitar este
aquí y la depuración aquí mismo,
porque ya sabemos que todo
está funcionando perfectamente bien.
Pero obviamente sigue habiendo
el segundo nivel que queremos establecer.
Entonces te lo voy a emitir como un reto.
Y tu reto es establecer el nivel al que ir, para
conseguirlo juego de palabras intencionado.
Entonces, después de establecer el primer nivel al que ir,
necesitamos establecer el segundo.
Y el segundo debe ser
diferente al primer nivel.
Y el primer nivel al que ir
y el que estamos actualmente.
Por lo que tendrás que asegurarte de inicializarlo.
Y te voy a dar una pista porque
queremos asegurarnos de que sea diferente
a la primera y
diferente a la que estamos actualmente.
Tendrás que usar el quirófano
para que la condición while se detenga.
Y aún no te he mostrado el mar,
así que te lo voy a mostrar aquí mismo.
Si quieres, tal vez puedas, no sé,
tomar una captura de pantalla o tal vez luego volver atrás
y ver todos los pasos del reto.
Ahora les voy a mostrar la mesa de la verdad
y la mesa de la verdad.
Entonces empecemos con el final.
Entonces el final una mesa de verdad.
¿ Cómo funciona?
Si tenemos varias condiciones,
como he dicho en este momento,
necesitamos asegurarnos de que sea diferente
al nivel actual y
diferente al primero que hemos establecido.
Entonces tiene que ser un bucle while que comprueba
por usar el todo así mientras que el nivel
dos que vamos a establecer es
igual al amor y queremos ir o nivel dos para ir,
entonces tendremos que cambiarlo.
Tiene que ser diferente a ambos.
Entonces déjame mostrarte cómo funciona la verdadera,
la mesa de la verdad.
Si tienes dos verdaderos, obtenemos un verdadero.
Si tenemos un falso y un verdadero, obtenemos un falso.
Si tenemos un falso y un falso, obtenemos un falso,
tenemos un verdadero y otro falso,
obtenemos un falso.
Pero cuando se trata de la, O,
verás que si tenemos una falsa y otra verdadera, entonces.
La respuesta será cierta,
pero si ambos son falsos,
entonces la respuesta será falsa.
Entonces con esa información,
sé que es un poco confuso ahora cuando realmente tenemos
la solución para el reto,
te voy a explicar todo, a
pesar de que este video se está haciendo muy largo,
pero no se preocupe por eso.
Pausa el video ahora mismo y ve a hacer el reto.
De acuerdo, bienvenido de nuevo.
¿ Cómo te pusiste con eso?
Entonces en el nivel manager,
sé que este es uno de los retos más duros,
pero estamos en el Desafío Avanzado.
Entonces aquí voy a decir que el salvaje y el nivel 2,
oops, el nivel al que ir es igual al nivel para ir uno.
O cómo está el, o son estas dos columnas,
o el nivel al que ir es igual al
índice de puntos del gestor de escena.
Entonces el actual.
Entonces aquí dentro vamos a seguir adelante
y hacer exactamente lo mismo.
Copia esto, oops.
Pega aquí.
Y el número aleatorio 1, oops, perdón.
Ahora, al azar número 1 y al azar número dos.
Y el nivel al que ir es igual a aleatorio 2.
Y la India, vamos a ahorrar que el nivel al que ir es igual a
la instancia de punto del gestor de escena.
O podemos decir que ese nivel para ir
como igual a nivel para ir uno.
Pero sabes qué, no quiero arriesgarme
eso solo mantiene las cosas seguras.
Pero, oops, péguelo aquí,
guarde eso lo que está pasando ahora mismo.
Entonces hay un problema porque
no podemos usar el nivel de salida a,
necesitamos establecer el nivel para ir a guardar eso.
Entonces, ¿qué está pasando aquí?
Hemos establecido el nivel al que ir, para
ser exactamente como
el gestor de escena o el índice en la escena actual.
Y aquí dentro revisamos cuál es
la condición aquí dentro, como hemos dicho,
si volvemos a nuestra mesa de verdad del off,
vamos a mantenerla aquí y veamos
cómo se ve todo.
Por lo que empezamos comprobando como nivel para ir a igual dos,
nivel para ir uno.
Y actualmente el nivel a ir
o nivel sólido a ir uno
será diferente al actual gestor de escena.
Por lo que esta condición es falsa, que es buena.
Eso significa que no entraremos en el bucle while.
Pero entonces comprobamos nivel para ir a,
¿es igual al índice de compilación actual?
Lo es.
Entonces tenemos una verdadera condición que está justo aquí,
y una condición falsa que está justo aquí.
Entonces si miramos en la tabla de la verdad,
tenemos una condición verdadera con una condición falsa,
eso significa que todo el conjunto de condiciones es cierto.
Eso significa que luego volvemos al bucle while,
y eso es exactamente lo que queremos.
Si tenemos 11 de estos verdaderos,
queremos volver atrás y crear otro número aleatorio y volver a
configurar el número aleatorio.
Y seguiremos haciendo eso hasta que
esta condición sea falsa.
Y esta condición es falsa,
porque sólo dos condiciones que son
falsas hacen un falso total.
Entonces de vuelta aquí, si el nivel para ir
a diferente al nivel para ir uno,
y es diferente al actual.
Sólo entonces cuando ambos son falsos,
toda la condición es falsa y seguimos adelante.
Entonces volvamos aquí.
Vamos a imprimir esos y ejecutar
el juego y te deja saber qué,
vamos a quitar 11 manager que ha quitado a uno
de los tíos de miedo.
Y quitemos este también y ejecutemos
el juego porque queremos demostrarlo bastante rápido.
Entonces el enemigo aparecerá en
tan solo un poco para que tengamos
solo un esqueleto a esqueletos en realidad,
una vez que los matamos, deberíamos ver eso.
Ahí vamos. Entonces los llamamos,
vamos a la consola,
pausas el video, pausas el juego.
Es decir, y se puede ver que los ejecutamos.
número 1 es 3,
el número aleatorio 2 es 4.
Ambos son diferentes.
Hemos recogido niveles, asegúrate de comprometer tus cambios,
y te veré en el siguiente.