I made some edits to include the word "possible" more. I'm not sure I didn't make it more confusing. Need to look again another day. --MF, 6/13/18
I need to review the rest of this lab. Looks different than before. --MF, 5/31/20
PG: I haven't thought deeply (haven't even read carefully!) but would want to check carefully to make sure this is /developmentally/ helpful. Maybe it already is.
En esta página, primero programarás tu proyecto tres en línea para reportar el contenido de un conjunto específico de tres cuadrados que generaría una victoria (como la fila superior), y luego lo usarás para encontrar el contenido de todos los triples ganadores posibles. Usarás esa información para averiguar si uno de los jugadores ha ganado el juego.
Necesitamos una forma de averiguar si realmente ha ocurrido un posible triple ganador. Podemos usar mapear
para verificar cada posición en un triple y ver si algún jugador ha ganado con ese triple.
Aprendiste sobre mapear
en Unidad 3 Laboratorio 2, Página 5: Transformar todos los elementos de la lista.
Mapear
aplica la función del anillo gris a cada elemento de la lista de entrada y reporta una lista de todos los resultados.
Recuerda que la ranura de entrada en blanco en la función dentro del anillo gris es donde va un elemento de la lista cada vez que se realiza la función.
mapear
aquí?
Esta expresión mapear
funciona de la misma manera que el ejemplo anterior de unir
, pero a veces a las personas les resulta un poco más complejo pensar en ello, porque es natural esperar , pero eso es no lo que dice la expresión. En su lugar, se mapea sobre una lista constante, no una variable. Como antes,
mapear
inserta cada elemento de la lista en el espacio en blanco de la función dentro del anillo gris y reporta una lista de los resultados.
Pero aquí, la función en el anillo gris es elemento () de (
tablero)
, por lo que mapa
comprueba los elementos 1, 2 y 3 de la lista tablero, y reporta una lista de lo que hay en esas tres posiciones (cada una de las cuales es X, O o un número si el cuadrado está vacío).
Si no puedes ver lo que hay dentro de la variable tablero, asegúrate de que su casilla esté marcada en la paleta Variables y expande el observador para ver los elementos de la lista como se muestra en la imagen a continuación.
{1, 2, 3}
no es el triple en el que x ganó el juego, reemplaza la lista en la expresión mapear
con el triple ganador y haz clic en la expresión de nuevo.Verdadero
si X ganó el juego en el triple Falso
, si ocurre lo contrario.
estado de triple
con el triple ganador. Soluciona cualquier error.
Ahora vas a usar estado de triple
sistemáticamente para comprobar todos los triples.
Por ejemplo, el jugador O ganó el juego a continuación, y el bloque estado de todos los triples ganadores
encuentra el estado de cada posible triple. La computadora puede usar este bloque para buscar un triple ganador que tenga todo X o todo O.
mapear
junto con algunos de los otros bloques que has creado para construir el bloque estado de todos los triples ganadores
. Debe reportar el estado de todos los posibles triples ganadores como una lista de listas, como se muestra arriba.mapear
.
Cuando uses mapear
, piensa:
¿ganó?
.
Ponlo en palabras: ¿Qué es lo que quieres comprobar?
¿Hay algún bloque que pueda ser útil para eso?
Haz clic para obtener otra pista.
verdadero
si y solo si ese jugador ha ganado el juego.