Bueno ya me levanté de la cama y me pasé el Gigant Squid part1
pues vamos allá...
*SPOILERS* *SPOILERS*
#adventofcode #AdventOfCode2021
El parser, este es una bestia de parser se come el fichero entero y digiere la lista de números y todas las tarjetas de juego que se encuentre.. Que mas puedo decir, ejercito casi todo lo que tienen Parsy y como dice @FabioskySG "Hard work pays off" +
Ahora os enseñaré el cuerpo de la parte 1. Construyo instancias de la clase board y luego chequeo todos los números hasta que una de ellas devuelve "Bingo!" tras lo cual obtengo el score y ya hemos terminado. Sencillo gracias a q el trabajo esta en los métodos de la clase Board.+
Si amigos hoy hemos hecho un poco de POO, mi pequeña y cutre clase Board me ha resuelto el trabajo, no espereis grandes maravillas de diseño orientado a objetos no obstante... +
Veamos el constructor, guardamos los numeros, ponemos el estado a no ganador e incializamos las marcas y las estadísticas a cero. +
Check comprueba si el número esta en la tarjeta, marca la posición y actualiza las estadisticas de fila, columna lo que nos permite saber si ya tenemos Bingo! o no. Actualiza el estado de la tarjeta y devuelve el resultado como True ó False.
__bool__: me he permitido sobrecargar este método para que la instancia valga True ó False dependiendo de si tenemos Bingo para cantar o no... Realemnte no me hizo falta +
__str__: Otro método mágico con un pequeño y cutre snippet para imprimir el contenido de la tarjeta +
score: con este método sacamos los valores no marcados y los sumamos multiplicando el resultado por el ultimo valor chequeado que es el que resulto en Bingo! +
Veamos si este intemerato enfoque sin TDD ni nada nos ha llevado al desastre o qué. Pasamos los datos del test sin mucho apuro... +
Bueno por probar suerte no va a pasar nada, ¿no? Asi que allá vamos.. Hay muchas tarjetas en este fichero asi que la salida es demasiado verbosa y la he cortado en su incio y final que es lo que interesa. Funcionó? +
Suertudo que soy! Otra estrella para la saca..
Diviértanse!!
#adventofcode #AdventOfCode2021
El hilo "desenrollado"
threadreaderapp.com/thread/1467983…
Bueno pues me puse hace un rato con la segunda parte, simplemente seguir probando números en las tarjetas que no han ganado y memorizar cual fué la ultima en ganar asi que solo había que tocar 3 lineas de código..
Probamos con el fichero de test y vemos que muestra los resultados esperados.. +
Probamos con el puzzle completo... Son 100 número y eventualmente muchas tarjetas obtienen Bingo! pero finalmente agotamos los números... +
8 estrellas!! habrá ya @santimntl avanzado otro poco? Pues no lo dejes que "el manco" te sigue a la zaga 🤣🤣🤣
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.