wollok icon indicating copy to clipboard operation
wollok copied to clipboard

WG rompe los sets

Open PalumboN opened this issue 5 years ago • 4 comments

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).

PalumboN avatar Nov 02 '19 19:11 PalumboN

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

JuanFdS avatar Nov 02 '19 19:11 JuanFdS

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.

PalumboN avatar Nov 02 '19 20:11 PalumboN

Habría que ver en qué quedó esto después de los cambios en los sets y toStrings.

PalumboN avatar Jun 18 '20 02:06 PalumboN

@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...

fdodino avatar Aug 12 '20 03:08 fdodino