wollok
wollok copied to clipboard
WG rompe los sets
En este repo: https://github.com/wollok/juegoQueRompeLosSet Al jugar al juego de las cajas voy metiendo en un set la caja con la que colisiona el personaje. En un momento, jugando a mover las cajas, llego a tener en el set más cajas que las que existen:
CAJAS TOCADAS:
#{a Caja[image="caja.png", position=a Position[x=0, y=1]], a Caja[image="caja.png", position=a Position[x=8, y=4]], a Caja[image="caja.png", position=a Position[x=3, y=9]], a Caja[image="caja.png", position=a Position[x=8, y=9]], a Caja[image="caja.png", position=a Position[x=7, y=13]], a Caja, a Caja, a Caja}
8
[[0, 1], [8, 4], [3, 9], [8, 9], [7, 13], [8, 4], [8, 9], [8, 4]]
Viendo en el log que hay varios elementos que aparecen sin mostrar los atributos. Esto es consecuencia de tener el mismo elemento en el set (y ya fue printeado).
Acá hay otro ejemplo que pasa con diccionarios:
Con el código de esta branch se puede reproducir el error. https://github.com/JuanFdS/final-pepita-tactics/tree/bug-diccionario
En este commit explica como reproducirlo: https://github.com/JuanFdS/final-pepita-tactics/commit/330e194270f77280b83212a53f1acb88668c21e6
Estos errores se arreglan redefiniendo el toString
de los objetos dentro de la colección o tocando esta línea del comparator: https://github.com/uqbar-project/wollok/blob/13093cfead2b77d6262f45bbbfe271d3ea454cbe/org.uqbar.project.wollok.lib/src/wollok/lang/WollokObjectComparator.xtend#L58-L60
Probablemente se arregle si sacamos el toString
de esa key, yo lo intenté pero algunos tests me rompieron.
Habría que ver en qué quedó esto después de los cambios en los sets y toStrings.
@JuanFdS , soy un queso con los juegos, me bajé el juego y no pude mover el mago ni cambiar de personaje (y eso que lo levanté 5 veces, estuve 15 minutos y con el link de cómo jugarlo), un fail
terrible el mío. Podrías probarlo con la nueva versión de Wollok y contarnos? De última lo vemos algún VnC...