Bienvenido al primer desafío de codificación de esta sección.
Y este va a ser emocionante.
Porque en este,
estamos construyendo una aplicación Pol simple.
Así que un pol tiene una pregunta,
una variedad de opciones entre las que las personas pueden elegir,
y una matriz con el número de respuestas para cada opción.
Y estos datos se almacenan en este objeto aquí.
que ya creó para ti.
Ahora puedes copiar este objeto desde aquí,
o puede obtenerlo del código final
eso está disponible para la sección en el repositorio de GitHub.
Ahora bien, ya ves, tenemos que preguntar,
la matriz de opciones, y también una nueva matriz de respuestas.
Así que este código aquí,
aprenderemos cómo funciona en la próxima lección.
Pero esto creará esta matriz de cuatro ceros.
Y eso es porque hay cuatro opciones aquí,
para esta pregunta
Y ahora, aquí están sus tareas.
Entonces, primero en ese objeto de encuesta,
cree un nuevo método llamado registrar nueva respuesta.
Y este método hace dos cosas.
Así que muestra una ventana de aviso
para que el usuario ingrese el número de la opción seleccionada.
Y aquí, quiero que el texto se vea exactamente así.
Entonces,
basado en el número ingresado,
por lo que el usuario debe ingresar cero, uno, dos o tres.
Entonces, en base a eso, actualice la matriz de respuestas.
Entonces, si el usuario,
da tres aquí,
como la opción,
luego aumente el valor en la posición tres de la matriz.
Y, por supuesto, aumentar eso en uno.
Para hacer esto, asegúrese de que la entrada sea realmente un número.
Y si ese número tiene sentido,
entonces quiero que llames a este método,
cada vez que el usuario haga clic en este botón.
Y aquí es donde está el segundo botón aquí,
entra en juego.
Luego, número tres, cree un método llamado mostrar resultados.
Y este, debería, como su nombre lo dice,
mostrar los resultados de la encuesta.
Ahora este método toma un argumento llamado tipo.
Y ese tipo debería ser una cadena, como digo, aquí,
y el valor de esa cadena debe ser cadena,
o matriz.
Así que estas son dos formas diferentes de mostrar los resultados,
básicamente.
Ahora, si el tipo se establece en la cadena de matriz,
luego simplemente muestre la matriz de resultados tal como está,
utilizando un registro de punto de consola normal.
Y esta debería ser la opción predeterminada.
Está bien. Ahora, si el tipo se establece en cadena,
luego muestre una cadena como esta aquí.
Bueno. Y luego, una vez que haya construido este método,
ejecútelo cada vez que registre una nueva respuesta.
Así que esencialmente,
cada vez que alguien hace clic en este botón aquí,
llamará esto;
hay registro de un nuevo método de respuesta.
Y luego este método llamará a los resultados de visualización.
Bueno. Y para hacer esto,
use tantas de las herramientas que aprendió en esta sección,
y probablemente también las últimas secciones,
y realmente todo el curso en sí.
Ahora, hay muchas partes móviles en este desafío.
Y puede que no sea tan sencillo como parece aquí.
Entonces, si necesita cortar algunas esquinas,
y hacer algunas cosas un poco más fáciles,
entonces eso no es absolutamente ningún problema.
Al menos solo escribe algo de código por tu cuenta.
Ese es realmente mi objetivo principal con este desafío.
Entonces, si logras hacer estos desafíos,
o para hacer el desafío como se indica aquí,
entonces también tengo un bono para ti.
Y eso es usar este método de visualización de resultados,
que construyó antes para mostrar estas dos matrices,
que tenemos aquí en los datos de prueba.
Bueno. por lo general,
simplemente usa este método para mostrar
la matriz de respuestas que está dentro del objeto.
Pero aquí, quiero que realmente muestres simplemente esta matriz,
y esta matriz.
Y por supuesto,
no coloque esta matriz aquí dentro de este objeto de encuesta.
Está bien, deberías usarlos individualmente.
Ahora, por hacer esto,
tienes que pensar realmente en
cómo debería verse la palabra clave disk en esta situación.
Y entonces necesitas,
y luego básicamente necesita establecer esta palabra clave en consecuencia.
Ahora, está bien, ese es un buen desafío aquí,
y una cosa que es cierta es que,
su código se verá diferente al mío.
Solo soy un desarrollador normal como cualquier otra persona,
y todos escriben su propio código.
Entonces mi código es diferente del código de todos los demás,
probablemente.
Y sí, eso es completamente normal,
si estás empezando a desarrollar tu propio estilo.
Así que tómate tal vez una hora para hacer todo esto,
y luego regrese a este video para ver mi solución.
Así que pongámonos a trabajar aquí. Espero que te haya ido bien,
cuando lo pruebes por tu cuenta.
Y siempre puedes compartir tu experiencia en el área de preguntas y respuestas.
De todos modos, vamos a obtener ahora la respuesta aquí.
Y para eso usamos prompt.
tan constante,
respuesta,
inmediato.
Y entonces, veamos cómo tiene que verse.
Entonces es solo una pregunta,
entonces es una nueva línea,
entonces son estas opciones,
otra línea nueva, y luego hasta el número.
Así que esta parte es siempre la misma.
Así que solo lo estoy copiando de aquí.
Entonces, queremos tomar la pregunta primero.
Y así es,
este,
pregunta de punto
Luego la nueva línea, que es esta, recuerda,
entonces queremos las opciones.
Y así, una nueva línea para cada una de estas opciones aquí.
Entonces, esta es una matriz, queremos transformarla en una cadena.
Y para eso, usamos el método de unión.
Así que este lo aprendimos en la sección anterior.
Así que espero que recuerdes este.
Entonces tomamos la matriz de opciones aquí y la unimos.
Y lo unimos de nuevo con el carácter de nueva línea.
Ahora, está bien, y finalmente, otra línea nueva.
Y luego esta parte.
¿Ahora a la derecha? Ah, y luego nosotros, por supuesto,
También es necesario convertir este resultado en un número.
Está bien. Así que esto se ve bien.
Solo agreguemos un comentario aquí. Así que esto es obtener la respuesta.
Y luego aquí en segundo lugar, es para,
registro.
Creo que es,
lo que teníamos aquí.
Así que el primer paso es obtener la respuesta.
Y el segundo es básicamente actualizar las respuestas.
Así que solo estoy llamando a ese registro la respuesta.
Está bien, pero aquí, comencemos por probarlo.
Así que hagámoslo por ahora, punto de encuesta
registrar nueva respuesta.
Y de hecho,
este es exactamente el formato que estábamos buscando,
digamos tres. Y de hecho, tenemos tres.
Lindo.
Y ahora vamos a registrar la respuesta.
Y recuerda que debemos comprobar,
si este valor es en realidad un número.
Y también, si realmente tiene sentido.
Así que en términos de la cantidad de opciones.
Entonces, primero, verificamos si realmente es un número.
Y hay mejores formas de verificar esto,
Pero más de eso después.
Y también queremos saber si la respuesta,
está por debajo de la longitud de esta matriz, básicamente. ¿Bien?
Entonces, si la respuesta es 10, entonces eso no tiene ningún sentido.
Y por lo que debe permanecer por debajo de la longitud.
Así que la longitud aquí es cuatro.
Entonces, la respuesta máxima que aceptamos es tres.
Entonces, la respuesta debe permanecer debajo de las respuestas de este punto,
longitud del punto
Ahora aquí, no pudimos hacer una declaración if,
y básicamente diciendo que si esto es cierto,
luego aumente la matriz de respuestas en la posición correcta.
Sin embargo, en cambio,
este es en realidad un gran caso de uso para cortocircuitos,
con el operador final.
Así que simplemente hagamos esto. Entonces este punto responde,
y luego vamos a la posición de respuesta,
y luego simplemente aumentarlo así.
Ahora, está bien, así que si esto es cierto,
entonces el operador final continuará. ¿Bien?
Y entonces esto se evalúa, y si sigue siendo cierto,
entonces esto aquí se ejecuta.
Pero si cualquiera de estas condiciones aquí es falsa,
entonces el operador final hará un cortocircuito,
y esta parte aquí no se ejecuta.
Así que este es un buen caso de uso para cortocircuitos,
porque el código que queremos ejecutar,
es solo una simple línea de código.
Ahora bien. Así que ahora vamos,
entonces,
echa un vistazo a las respuestas.
Entonces este punto responde.
Así que esto es por ahora, registrar un nuevo método de respuesta.
Y ahora centrémonos aquí en el punto número dos,
que es en realidad llamar al método,
cada vez que hacemos clic en este botón ENTER aquí.
Entonces,
seleccionemos ese botón,
selector de consulta de punto de documento.
Y ahora necesitamos el nombre de la clase.
Veamos eso aquí de nuevo, en los elementos.
Y así tiene la clase de encuesta.
Así que encuesta,
dot @ detector de eventos.
Haga clic, y ahora la función que queremos ejecutar.
Y eso es @ encuesta
punto
registrar nueva respuesta.
Está bien. Ahora, ¿crees que esto funcionará así?
Y vamos a darle un ahorro, en realidad.
Y hay un error.
Y eso es porque estamos tratando de leer la combinación de propiedades,
de indefinido, aquí mismo.
Entonces, el problema aquí es, como habrás adivinado,
porque hablamos de esto antes,
es que la palabra clave del disco en este momento, apunta a este elemento.
Así que a este botón de encuesta aquí.
Y de nuevo, hay porque en una función de controlador de eventos,
como este de aquí,
que esta palabra clave siempre apuntará al elemento,
al que se adjunta.
Y ahora mismo, hay este botón.
Entonces, para solucionar esto, necesitamos vincular la palabra clave del disco.
Y en este caso, debemos establecerlo en el objeto de encuesta.
Y entonces, en esta función aquí,
que es el resultado del método bind,
así que en esta nueva función,
la palabra clave del disco apuntará al objeto de encuesta.
Así que veamos eso, y ahora sí, funciona.
Entonces esa es la entrada cero aquí.
Y de hecho, ya tenemos nuestra matriz,
donde el conteo de las respuestas en la posición cero,
ha aumentado. Y si intentamos esto, de nuevo,
debe convertirse en dos.
Y lo hace
Ahora, para mostrar estos resultados,
debemos crear este nuevo método llamado mostrar resultados.
Ahora bien, toma una cadena que se llama tipo,
con matriz siendo el valor predeterminado aquí.
Ahora a la derecha.
Así que hagamos esto.
Y también tenga en cuenta,
que este es el tipo de cadena que queremos,
si el tipo es cadena.
Así que copiemos este.
Y ahora aquí, agregamos ese nuevo método llamado,
mostrar,
resultados.
Y así obtiene el tipo.
Y recuerde, tiene el conjunto predeterminado en matriz.
Y aquí, podemos usar los parámetros predeterminados de ESX,
utilizando este signo igual.
Entonces,
si,
tipo es igual,
formación,
luego simplemente inicie sesión,
este,
punto,
entra,
a la consola
Demás,
si,
el tipo es igual,
cadena,
entonces queremos registrar algo como esto en la consola.
Entonces, una vez más, una cadena de plantilla o un literal de plantilla.
Y en realidad esto sería fuera
resultados,
son.
Y luego para crear esto aquí,
simplemente podemos unir la matriz para formar una cadena.
Así que ese es el resultado de este punto o en realidad responde,
dot join, y los unimos con una coma y un espacio.
Ahora, está bien, y ahora aquí,
deshagámonos de este registro de puntos de la consola.
Y en su lugar, ahora llamaremos a este método.
Así que este punto muestra los resultados.
Y eso en realidad se llama dos veces.
Una vez sin pasar ningún argumento,
y luego aquí pasando,
cadena,
y entonces veremos ambos tipos de resultados,
impreso en la consola.
Y así es esto,
número cuatro aquí.
Entonces, vamos a darle un ahorro.
Cero. Y, de hecho, funciona igual.
Número tres,
intentemos,
tres de nuevo.
Y así, de hecho, funciona muy bien.
Permítanme ahora introducir algo más.
Y entonces nada cambia aquí.
Por lo tanto, los resultados no se actualizan.
Y eso es debido a esta lógica de prueba que tenemos aquí.
Excelente. Así que espero que hayas estado siguiendo hasta aquí.
Así que esto es similar a lo que hemos estado haciendo.
Y ahora veamos el bono aquí.
Así que usemos el método de visualización de resultados que acabamos de usar,
pero para mostrar estas dos matrices.
Bien, vamos a copiarlos solo,
para que no tengamos que desplazarnos tanto.
Y aquí dice que debemos pensar,
cómo se verá la palabra clave del disco.
Así que haremos eso, por supuesto.
Bien, estas son las matrices con las que vamos a trabajar.
Entonces,
el método está en los resultados de visualización de puntos Pol.
Pero como dije,
ahora, queremos llamar,
este método aquí, no con esta matriz.
Así que no con la matriz de respuestas, sino con esta matriz.
Entonces, ¿qué debemos hacer aquí?
Bueno, tendremos que usar el método de llamada,
porque necesitaremos una nueva palabra clave de disco, ¿verdad?
Debido a que los resultados de visualización utilizan este punto responde.
Bien, entonces las respuestas provienen de la palabra clave del disco.
Entonces, si queremos tener una palabra clave de disco diferente,
entonces necesitamos usar call.
¿Y cómo debería ser la palabra clave del disco?
Bueno, necesitamos un objeto,
que contiene la propiedad de respuestas aquí, ¿verdad?
De lo contrario, no hay manera para este método,
para llamar a este punto responde.
Y entonces podemos simplemente crear un nuevo objeto,
y decir, responde, y luego,
este,
esta matriz, y eso es todo.
Intentemos esto.
Y de hecho, aquí está el resultado impreso.
Y eso incluso ahora nos pasa la opción de cadena.
Y ahora, de hecho, obtenemos los resultados de la encuesta,
cinco, dos y tres.
Está bien. De nuevo, para recapitular, esto funciona,
porque esta función aquí está buscando las respuestas de este punto.
Pero nuestra matriz es, bueno, simplemente está aquí.
Así que necesitamos una manera de hacer que este punto responda,
igual a esta matriz.
Y es por eso que solíamos llamar al método aquí,
para que pudiéramos configurar manualmente la palabra clave del disco,
a un nuevo objeto,
que como la propiedad de las respuestas tiene esa nueva matriz.
Y ahora vamos a intentarlo con el otro aquí.
Y,
y podemos hacer lo mismo sin la cuerda,
y luego simplemente bloqueará la matriz en sí.
Y sí, eso funciona bien.
Excelente.
Ahora, lo que hicimos aquí, no es realmente un escenario real,
pero aún así es bueno para nosotros usar estos conceptos,
de diferentes maneras,
para realmente acostumbrarse a cómo todos estos conceptos,
trabajar juntos.