Closed miqueldedo closed 4 years ago
De fet, sí que les posicions inicials són irrellevants ja que es generen de manera automàtica al crear el tauler. Per tant, primer dubte arreclat!
En aquest, es guarden les posicions inicials. Per a què és important saber-les? Ja que sabent els moviments que s'han fet, podem arribar a saber les seves posicions inicials.
Crec que t'estàs confonent. Les jugades que et donen s'han d'efectuar a partir de la situació inicial, per determinar la situació a partir de la qual cal continuar.
Un altre dubte també, és sobre si ens recomanaries tenir una classe que ens guardi els torns, o com en dieu en aquest fitxer, tirades. Ja des de l'inici que hi donem voltes però ens acabem de decidir. Seria simplement per guardar-ne la informació i poder-ho passar a JSON de manera molt més senzilla.
Sí, seria una classe molt simple, però podria estar bé per ajudar a entendre el codi.
Potser estaria bé que anéssiu tancant algun issue (preferentment qui l'hagi obert). Trobo que en teniu massa d'oberts.
Perfecte
Miquel, entenc el que dius que les jugades són sobre la situació inicial, però, no entenc perquè cal que ens donguin aquesta posició inicial la qual ja es troba en el fitxer de configuracions. Tenim dues vegades la mateixa informació. Perquè quan creem una partida amb les configuracions que se'ns donen, ja posicionem les diferents peces allà on toquen en funció d'aquesta llista que ens indica l'ordre en el qual han d'estar. No acabo de veure el sentit que això torni a estar repetit.
@miqueldedo, no és la mateixa informació. La situació inicial que tens en el fitxer de configuració és l’estàndard. La situació inicial que tens en el fitxer de desenvolupament pot ser diferent de l’estàndard.
A la pàgina 14 de l’enunciat es comenta el següent: “Val la pena remarcar que aquesta opció pot servir no només per continuar una partida prèviament ajornada, sinó també per jugar una partida a partir d’una certa posició inicial de les peces, a l’estil dels típics problemes d’escacs que apareixen als diaris. Notem que en aquest darrer cas (en què el fitxer haurà estat editat manualment) l’apartat del fitxer corresponent a les tirades prèvies serà buit, ja que només interessarà la posició inicial i el bàndol a qui toca tirar.”
Llavors, podríem haver de carregar una partida que no tingui cap moviment, però les peces es trobin en una posició inicial diferent a la que les col·loquem nosaltres (com l'exemple que anomenes dels escacs)?
Recomanaries tenir un mètode dins la classe Chess
que ens permetés modificar les posicions inicials? O seria millor que se li enviés aquesta llista de posicions inicials i ella les modifiques?
Llavors, podríem haver de carregar una partida que no tingui cap moviment, però les peces es trobin en una posició inicial diferent a la que les col·loquem nosaltres (com l'exemple que anomenes dels escacs)?
Sí. Exactament, aquest és el cas.
Recomanaries tenir un mètode dins la classe Chess que ens permetés modificar les posicions inicials? O seria millor que se li enviés aquesta llista de posicions inicials i ella les modifiques?
Així d’entrada no veig la necessitat de cap de les dues coses. Penso que et pots esperar a crear la partida amb les posicions inicials que toquin. Convé separar la lògica de la lectura de fitxers de la lògica del joc. “Modificar posicions inicials” és barrejar les dues coses. Et sembla coherent el que dic?
PD Ara he vist que també a la pàgina 12, on comença la descripció del fitxer de desenvolupament d’una partida, ja avisa:
“Posició inicial de les fitxes. Notem que no necessàriament ha de coincidir amb la posició inicial indicada al fitxer de regles. Aquest aspecte es comenta al proper apartat.”
Sobre carregar una partida guardada, entenc que el format serà el mateix que el que tenim a l'annexe 2 del fitxer
escacs_generics
. En aquest, es guarden les posicions inicials. Per a què és important saber-les? Ja que sabent els moviments que s'han fet, podem arribar a saber les seves posicions inicials. Si aquestes posicions inicials fóssin irrellevants, les saltaria. Un altre dubte també, és sobre si ens recomanaries tenir una classe que ens guardi els torns, o com en dieu en aquest fitxer, tirades. Ja des de l'inici que hi donem voltes però ens acabem de decidir. Seria simplement per guardar-ne la informació i poder-ho passar a JSON de manera molt més senzilla. Com ho veus? Merci!