-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Que game tenga center() como una MutablePosition #197
Comments
Hola @hernanconiglio ! Lo que está pasando es que pepita (y todos los objects) se inicializan al iniciar el programa, y al inicio del programa el juego es de 5x5 (redondea el centro a
Un workaround es inicializar a pepita en el inicio Creo que este va a ser un problema común en los juegos, sobre todo con todos los ejemplos que ya existen y tienen este patrón. Y eso no me gustaMe pregunto si no podemos hacer que el center sea una MutablePosition constante y que al cambiar el |
The issue is that even we can change the center to mutable the references are x and y numbers that are calculated before the game starts, and not a reference to game so he can ask "heigh" and "width" to do it lazy when x and y are ask. A possible solution is make center a especial position that x and y methods are lazy, and use game height and width to calculate every time. This is less performant. |
Estamos acá en el hackathon charlando entre todos con @lspigariol @asanzo @CeciC24 @FedericoEncinazSayago. No estamos de acuerdo con resolverlo con una mutable position, porque cambia el comportamiento de center. Se podría resolver con:
|
I upload a branch with a B option to this issue as a draft that update all the center requested when game start, but the position is mutable and adress posible transformations. Maybe the solution is that unde the hood hack the requested positions if they are inmutables. |
Sadly I couldn't participate today on the Hackaton. |
Isaias!! Gracias por ponerte esto al hombro!!!! Me voy a permitir, si no te jode:
Viendo tu propuesta, me asusta un poco que sea tanto quilombo meter el feature del center actualizable, es un montón de boilerplate para lo que, en mi opinión, no es un bug. Es esperable que la inicialización de los atributos de los objetos ocurra antes que el game. Esto que marca hernán para mí se resuelve así: object pepita {
var property position = game.at(0,0)
}
program PepitaGame {
game.height(10)
game.width(10)
pepita.position(game.center()) // luego de setear las dimensiones del tablero.
game.start()
} |
Seguramente desde el lado de TS (en vez de Wollok Language) hay una manera más elegante o "hackera" de arribar a una solución, hay una discusión al respecto, en principio la alternativa es para recrear la feature que no genera dicho probelma en xtext para tener retrocompatibilidad. |
Hola! Acá seguimos molestando!
Verificamos que el mensaje center() no está retornando el objeto de la position central del tablero cuando usamos game; sino que devuelve la posición 2@2.
Tenemos este código en el program:
En el archivo pepita.wlk se define su position como game.center():
Y al ejecutar el game, pepita aparece en 2@2 en lugar de 5@5.
Estaremos haciendo algo mal?
Gracias!
The text was updated successfully, but these errors were encountered: