Closed DavidNagisa333 closed 4 years ago
@DavidNagisa333 @joanplaja @miqueldedo recordeu que a part de pujar el codi, cada setmana heu d'obrir (o continuar) un issue cadascú per comentar què heu fet durant la setmana, i quina part us proposeu fer de cara a la setmana vinent (veure missatge del 23 de març al fil COVID-19 del fòrum de l'assignatura). Penseu a posar qui és l'autor de cada classe en forma de comentari en el codi.
Si la classe l'hem fet entre dues persones, posem els dos com a autors?
Poseu tan sols l'autor principal. Heu d'evitar implementar cap classe entre dos.
Sobre el que hem d'anar fent cada setmana, des del nostre punt de vista, ens ajudaria que se'ns dongués més feedback sobre el que s'està fent, ja que sinó ens és molt complicat plantejar com encarar el projecte cada setmana.
@miqueldedo és difícil donar més feedback. La primera setmana de confinament vaig dedicar 25 hores a aquesta assignatura, i la segona setmana 30 hores. No pretenc pas explicar-vos en què consisteix la vida d'un investigador que a més ha de fer de professor, però és fàcil adonar-se que aquest és massa temps dedicat a la docència. Amb el vostre grup hem interactuat per correu, GitHub i videotrucades (una d'una hora la setmana passada, i una de mitja hora amb en @joanplaja fa tot just uns minuts). Només has de multiplicar per 18 grups, i et faràs a la idea. I això és només una assignatura. Ja sé que la situació no és fàcil, i que vosaltres també treballeu molt. Però no podeu pretendre que em miri amb lupa el codi de tothom. O almenys, que ho faci gaire sovint.
Per tant, el que convindria és que un cop per setmana obríssiu un issue cadascú indicant clarament què heu fet/què voleu que em miri (quan pugui), i digueu també com preteneu continuar.
Cap problema, anirem fent.
Sobre la classe Chess
: en lloc de ArrayList<String> initPositions
millor guardar ArrayList<Position> initPositions
. Això lliga amb el que he comentat a l'issue #7. Aquí podeu declarar ArrayList
en lloc de List
perquè és un detall privat (tot i que també podríeu declarar List
). Però convé utilitzar Position
en lloc de String
.
Hi ha parts del codi que m'abstindré de comentar perquè no estan documentades, com per exemple la funció diferentOwnerPiece
.
Després de mirar el codi he posat alguns comentaris en els altres issues. Si voleu que em miri amb lupa alguna cosa en particular feu-m'ho saber. Sinó, tanquem aquest issue.
Bones nois,
he creat una carpeta old on he guardat els primers dissenys de les classes per no perdre'n les descripcions. He penjat un conjunt de classes amb funcions implementades i un codi mitjanament funcional. Com vam dir treballarem en anglés exceptuant els comentaris que faig entre linies per aclarir dubtes. Per provar el joc executem ChessJSONParser. S'ha reutilitzat part del codi de les dames per llegir i realitzar el moviment, ara bé, he estat pensant el la funció checkMovement. Aquesta ha de validar si la jugada es possible o no i pel que sembla es bastant complexa. Actualment he validat alguna cosa petita (pero falta acabar de ajustar-ho ja que ara mateix per moure't be has de moure les peces superiors). Entre altres coses hem de comprobar la direcció de la peça, si te el moviment, si es permés en aquella jugada, la invulnerabilitat, capturar saltant... Es a dir que serà bastant de codi. Per no tenir una funció enorme farem petites funcions booleanes que ens vagin comprobant a la classe Chess (sera una classe força gran).
Primer ens centrem en fer un codi funcional per treballar amb ell i mes endevant ens fixem en la eficiencia i com podem anar retocant, com ho veieu?