11 Horas seguidas haciendo esquemas, pensando y picando código a morir. Casi no paro ni para comer.
Han sido tantos los cambios internos de la práctica, que antes de sacar el SONAPOLY 1.0 se podría pensar en sacar el SONAPOLY 2.0.
Ha sido una AUTENTICA barbaridad, y lo más gracioso de todo es que aún queda que echarle algunas horas más para terminar la transición del antiguo código al nuevo. Y todo esto, recuerdo a los presentes, con el objetivo de hacer que la práctica sea estable al 100% en el manejo de botones (que no lo era NI DE LEJOS, y con la llegada de Comerciar menos aún).
Lo bueno de todo esto, es que con el nuevo sistema que me he sacado de la manga después de muchas horas, no sólo se ha ganado en estabilidad y coherencia con los botones, sino que por si fuera poco, ahora el juego ha perdido la rigidez que le caracterizaba, de obligarte a hacer las cosas en un orden determinado y tal, siendo mucho más flexible con el jugador en cada momento.
Es esa flexibilidad la que me ha tenido muchas horas dándole vueltas a la cabeza y la que, para mi sorpresa, después de probar el resultado de lo codeado durante horas, funciona (creo — por ahora), de maravilla.
Estoy seguro de que os va a gustar tanto como esta quedando, que por un momento Jorge olvidará el tochazo de post que estoy poniendo y por otro el pánico (con fundamento) que nos ha metido pal cuerpo a todos la palabra ‘PERSISTENCIA’.
En fin, en subversión he subido lo que llevo. Estimo que es un 70% del total de la transición, no se la dificultad que nos puede acarrear lo que queda, pero espero que no sea mucha.
Lo que he hecho es:
*CLASE JUGADOR:
- Nuevo método valorTotal()
- Metodo comprobarSaldo(int cantidad) cambiado
*VISTA PRINCIPAL:
- Nuevo método desactivarBotones()
- Nuevo método activarBotonesComunes()
- Nuevo método activarBotones(int opcion), ATENTOS A LA MOVIDA
- Revisión COMPLETA de TODOS, TODOS!!! los jDialogs que existen, para adaptarlos al nuevo sistema. ¡¡ TODOS CON SUS BOTONES Y DISEÑO !! :S
-CLASE JUEGO:
- Método analizar PRÁCTICAMENTE NUEVO, LO VAIS A FLIPAR. El analizar() ahora te dice exactamente que pasa, y entre otras cosas, comprueba si el jugador tiene dinero y TODO !! Le da mascaito a la Vista el resultado de lo que tiene que hacer. Para conseguir esto, he tenido que preparar todos los jDialogs como dije antes, para que contemplen todas las posibles situaciones (Sin opcion de venta en Venta Terrenos, por ejemplo, etc…)
- variable pagoCompletado
- variable subastaRealizada
… en fin, creo haber tocado más cosas pero se me han olvidado apuntarlas seguro, de todas formas eso es lo fundamental.
Lo que queda:
- Falta por controlar en el nuevo analizar() de JUEGO y en activarBotones() de Vista principal los casos:
* Caer en Casilla Tarjeta
* Caer en Casilla Especial
- Estimar si hay que modificar el control de 3 tiradas seguidas sacando dobles o el tema de ir a la cárcel.
Situación de la práctica en Subversion:
-Como ahora mismo no esta terminado toda la transición, tengo “trucado” la lógica del juego. Los jugadores siempre empiezan en la casilla 1, y no 0 (por ser una casilla de calle y no especial), y si cuando tiran no caen en una casilla de calle, sp o estación, vuelven a tirar automaticamente de forma transparente al usuario, de forma que siempre se caiga en alguna zona controlada por ahora.
Dicho esto, podéis probar en esas circunstancias TODO lo que la práctica os vaya permitiendo. Si veis un botón activo, sin miedo, darle! y comprobad que pasa. Debería ser impetable en lo referente a la lógica de juego. Los jDialogs pueden tener fallos que no hayamos visto hasta ahora, pero eso es harina de otro costal.
Fallos conocidos / cosas a mejorar tras una prueba ligerita:
-Cambiar euros por creditos EN TODA LA PRÁCTICA = código, swing, etc. (€ por Cr, si os parece bien)
-Añadir sonidos en el comerciar, música de fondo, sonidos de compra y rechazo de oferta.
-El VENDER TERRENOS, cuando vendes terrenos intermedios no funciona. Intermedios y finales, vamos, que siempre vende el primer terreno que haya en el combobox del jugador. Pollo please, mira tu esto que sabras mejor el motivo.
-Revisar en GESTION EDIFICIOS, si el mensaje de “Puede edificar en el siguiente erreno:” y “Puede edificar en los siguientes terrenos” se muestra bien, según el caso.