Así que pasamos mucho tiempo en esta primera pantalla, pero obviamente por una buena razón, este
curso se trata de aprender React Native después de todo y aprendiste mucho sobre el diseño, el estilo, la conexión de
componentes, el uso de múltiples componentes y la configuración de componentes incorporados. esa es una parte central de
React Native y lo que le permite crear aplicaciones reales al final. Sin embargo, ahora es el momento de seguir trabajando en esta
aplicación y antes de profundizar en otras cosas que
podríamos diseñar, lo que haré más adelante, quiero asegurarme de que este botón de inicio
del juego funcione porque en este momento siempre estamos atrapados en esto inicio de la pantalla
del juego, pero ahora, agregaré un segundo componente a la carpeta de pantallas, la pantalla del juego en sí, así que
la pantalla, el contenido que quiero mostrar en la pantalla cuando el juego se está ejecutando y esa es la pantalla
responsable de mostrando la suposición de la computadora y permitiendo que el usuario le diga a la computadora
si está bien o mal, si el valor debe ser menor o mayor,
entonces ese es el objetivo aquí.
Ahora, como mencioné antes, es un componente regular, así
que necesitamos importar React con seguridad y también importaremos algunas cosas de React Native, lo más importante, por supuesto,
la vista y el texto, nunca puedes equivocarte con estos, También la hoja de estilo,
por supuesto, normalmente siempre los necesita.
Luego, aquí, podemos agregar nuestro componente funcional de la pantalla del juego,
crear el objeto de estilos aquí usando Stylesheet. crea así y, al final, exporta nuestra pantalla de juego aquí como predeterminada y deshazte de
esa ventaja aquí en la parte superior.
Así que ahora tenemos ese componente de pantalla del juego
definido aquí y ahora detengámonos brevemente y pensemos qué necesita suceder aquí.
Ahora, al final, lo que debe suceder es que la computadora necesita hacer una suposición y
necesita hacer una
suposición inicialmente cuando esta pantalla se carga por primera vez, pero luego también cuando el usuario básicamente presiona el botón de esto es
demasiado
bajo o demasiado alto, así
que cada vez que el usuario da una pista sobre si esa suposición es, en qué dirección del número
real esta suposición es, por así decirlo, siempre que eso suceda, queremos generar una nueva suposición.
Ahora, la conjetura en sí misma debería ser un número aleatorio y, por lo tanto, comenzaré creando una nueva función fuera
de mi componente
funcional ahora porque no usará ningún dato de allí, por lo que no debería recrearse en cada representación
de los componentes simplemente para ahorrar algo
de rendimiento, si no confía en accesorios o estado, también puede simplemente tener una función que se
encuentre fuera de su componente y nombraré esto generar
aleatoriamente porque eso es
lo que hará esta función.
Es una función, generará un número aleatorio entre un mínimo y un máximo y
que también nos permite
excluir ciertos números, por ejemplo, el primer número que generamos debe excluir la solución para que el dispositivo, la
aplicación nunca adivine la elección del usuario en el primer intento.
Ahora aquí, el mínimo se normalizará a Matemáticas. Techo mínimo, por lo que básicamente para
tener un número entero aquí si se ingresa un número no entero y redondearlo hacia arriba y max se hará un piso
para hacer lo mismo pero redondeado hacia abajo. Entonces tendré mi número aleatorio que genero con Math. al azar y
matemáticas. random nos da un
número aleatorio entre 0 y 1, por lo que para tener un número entre min y max, tenemos que multiplicar esto con max - min
y luego también al final, agregue min aquí pero también asegúrese de llamar a Math. en el resultado de toda esta operación aquí y esto le
dará un número aleatorio entre este mínimo y máximo.
Ahora con eso
generado, quiero verificar si el número aleatorio es igual al número que queremos excluir, lo que, por supuesto,
sería una coincidencia muy rara, pero puede suceder, en cuyo caso devolveré el resultado de otra generación aleatoria entre llama donde simplemente
reenvío min, max y excluyo lo que obtuvimos, por lo que simplemente repetiré generar aleatorio
entre y devolver el valor de esa ejecución repetida si obtenemos el valor excluido nuevamente, lo repetiremos una
vez más, así que finalmente Llegaremos allí y si no tenemos el
número excluido, que debería ser el caso en la mayoría de los casos, entonces devolveré
ese número aleatorio de inmediato.
Entonces esta es una función que nos genera un número aleatorio.
Ahora aquí en la pantalla del juego, quiero administrar algún estado, así que importaré el gancho useState de React e inicializaré algún estado aquí con el número
aleatorio porque el estado que quiero administrar aquí es la suposición de la computadora,
la corriente supongo y eso también necesita una
función de conjetura actual establecida para que podamos cambiar esto cada vez que el usuario dé
una nueva pista.
Entonces, aquí podemos llamar a generar aleatorio entre para generar un estado inicial que se guardará y esto solo se
considerará como un estado inicial, por lo
que cuando este componente se reconstruya y, por lo tanto, se vuelva a llamar al estado de
uso, generaremos otro número aleatorio nuevamente, pero esto no anulará ese estado porque una vez que el estado se
establece inicialmente, no se anulará nuevamente agregando el valor derivado aquí.
React solo lo tendrá en cuenta si aún no tenemos un estado inicial, a partir de entonces, este estado
inicial o actualizado se administrará de forma separada del componente y esta llamada no lo anulará nuevamente.
Inicialmente, sin embargo, tenemos que hacer esta llamada, queremos obtener un número aleatorio entre 1 y
100, 100 está excluido con la lógica
que escribimos allí, por lo que será un número entre 1 y 99, 99
incluido y quiero excluir La elección del usuario.
Espero obtener esto en mis accesorios aquí, por lo que
la elección del usuario podría ser un nombre de accesorio que usamos aquí y ese es el valor que quiero ejecutar porque
esa es
la solución al final y no podremos adivinar la solución de inmediato, eso
sería un poco injusto.