Archive for the ‘Desenvolupament’ Category

notes de les versions 0.31, 0.32 i 0.33

17 Desembre 2010

He fet un constructor a carta per construïr-la a partir d’una icona
Quan es tira una carta s’afegeix a la basa actual

He fet guanyadorBaza que sigui public per cridar-lo des d’el controlador (a gestionarAccioCartai)
No és una bon idea, s’ha de fer un mètode i que es cridi internament

PASSEN COSES EXTRANYES:
De vegades es carrega al començar el 10B al tapet
Segons com es produeixen exceptions al tocar alguna carta (la 10, per exemple)

Controla qui guanya la baza.
ATENCIÓ: Una vegada s’acaba el dat, he de desconectar el últim nova basa

No funciona quan es tira un oro. He inicialitzat el trumfo a 4 per fer que sigui botifarra
De vegades surt un 10B a la 3 carta del tapet. Potser es pot soluciona posant a ma les que estaan a null
Hi ha un problema amb el trumfo: Bastos i espases estan al revés????

He fet un botó i un mètode per ordenar les cartes

//HAuria de ser private perquè s’hauria d’actualitzar desde dins, però tal com ho faig l’ha de cridar la controladora
public void actualitzaMarcadorDat() {

Posem el marcador i comprovem que funciona i el printa.
Versió 0.32: Funciona el marcador del dat

Per fi aconseguim posar la gui del que tira a primer plà!!!!

Acabem la partida amb un alert

A l’acabar el dat, s’ha d’apretar el botó nova basa (es podria acabar amb un temporitzador)

Anuncis

Notes de la versió ButiFree 0.42

13 gener 2010

Funcionalitat (afegida) de la versió Butifree 0.42:
desactiva les cartes quan no es poden tirar
Posa si el trumfo és directe o passat
soluciona el problema de la carta fantasma a l’ordenar
Problemes/coses pendents
repassar tot arreu on es posen activar/desactivarcartes
activar i des haurien d’anar a la gui??
Per evitar tocar una carta abans de cantar, s’hauria de cantar amb un alert!! És l’únic cas en què es poden produïr equivocacions

De l’EOID a AWT

20 Novembre 2009

  • He plantejat el problema a altres desenvolupadors i no hem trobat solució
  • No aconseguim veure perquè no agafa la eoid corresponent. Si recorrem les gui amb un for-each, tenen el eoid que toca, però si fem un get(i) de la llistaGuis, resulta que dues obtenen el eoid 0 i dues el eoid 1.
  • Hem provat i intentat de totes les maneres, però no entenem què passa.
  • Una opció seria passar un Jugador amb el seu eoid a cada Gui, però no tenim clar que funcioni
  • Sense aconseguir la gui (o el jugador ) que tira, no puc implementar el mètode baza, que porta el control de la carta guanyadora i em dirà el següent a començar

Els problemes que tenim amb l’EOID fa que ens plantegem utilitzar altres eines per a la part gràfica.

El misteri de l’EOID

19 Novembre 2009

  • M’ha costat molt obtenir el eoid de la gui que clica la carta per anar al tapet. Deu haver estat un problema de destruir la referència o alguna cosa extranya. Ha funcionat quan he posat un print al click de la carta 1 (el tenia a sota i el eoid era diferent, de veritat!!  NONONONOOOOO
  • No hi ha manera que pugui obtenir el eoid. Crec que és problema de la funció get() de LinkedList, però no ho hauria de ser ja que add() situa l’element a la última posició
  • Poso markes per depurar, i no entenc perquè en unes dòna un eoid de la gui i en altres un altre

Nova classe CartaTapet per al testeig

18 Novembre 2009

  • Penso com ho he de fer amb les cartes del tapet (He muntat una classe paranoia CartaTapet que nomès em servirà per l’aplicació de testeig. Podré reutilitzar-la substituint l’arraiList per una jLabel
  • CartaTapet em permet posar un null i que al començar no es vegin les cartes del tapet
  • Per carregar la carta a la posició del tapet que toca, necessito accedir al eoid de la gui. Creo un getEoid()
  • No sé què passa que no agafa el num que toca

Cartes massa fosques ?

17 Novembre 2009

  • Si un botó es desactiva, es veu sense colors. Hauré de deixar els botons de les cartes activats però que no es faci acció (????) abans de posar l’acció fer un if s’ha iniciat la basa i és el jugador que tira???
  • Faré el mètode jugadorSeguent() L’he fet a partida, però no es veu a dat. L’he fet a dat i tampoc. He de posar-lo a la controladora??
  • No tinc clar que coses com el control del número de bases hagi d’estar en el controlador, ja que depèn de la partida. El mateix amb acabar a 101.
  • Solucionat el tema de mostrar les gui en l’ordre que toca.

Primers dubtes amb SWING

16 Novembre 2009

  • No podria fer alguna cosa per no haver de posar %4 cada vegada (si, una classe o un mètode!! jugadorSeguent() ) Valdria la pena!!
  • Vull Mostrar les gui en diferent ordre (0, 1, 2, 3)
  • Atenció: Quan tiri les cartes no les he de treure (remove), ja que han de seguir ocupant la mateixa posició
  • He afegit un comptador de les bases al dat, per poder acabar-lo quan sigui 12
  • He fet que baza sigui públic per cridar-lo des d’el controlador
  • Em falta repassar a tot arreu on faig quiReparteix%4 !!!!!! (si es fa en el controlador o en el dat, però nomès una vegada) Suposo que el posaré a la partida i li diré int jugadorSeguent(int j)
  • Allà va versió 0.214 (Porta el control dels botons iniciPartida i Repartir. Començo a implementar basa i que acabi el dat a les 12 bases. Tinc 2 problemes: lio amb quiReparteix (crec que faig +1 %4 dos vegades) i les cartes que no estan activades estan massa fosques.

Més problemes gràfics

14 Novembre 2009

  • He desactivat tots els botons de la gui excepte els de iniciar partida. Qualsevol dels 4 iniciarà, però el dat l’inicia el jugador 0 (hi ha un mètode quiReparteix que desprès es podrà redefinir)
  • He activat a cada botó els següents que puguin estar actius i pensar a desactivar els de les cartes una vegada s’han tirat
  • Tinc un problema a l’hora d’inicialitzar el primer dat, ja que he inicialitzat quiReparteix a -1 per sumar 1 cada vegada que inicialitzo el dat i qui reparteix voldria que fos 0. He posat el 0 aquí directament
  • Voldria que els botons d’apretar cartes estiguin desactivats però sense estar tapats???

Controlant qui comença la partida

12 Novembre 2009

  • He posat una variable d’instància quiReparteix a partida, que es passarà als dats i activarà els botons necessaris
  • He posat una variable d’instància datActual a la partida
  • Cada dat té una variable que és quiComenca (qui tira la primera carta de cada basa). Al crear el dat, aquesta variable agafa el valor quiReparteix (de la partida) + 1 (i %4)
  • Versió 0.213 (He fet botons novaPartida, nouDat i novaBasa. La partida es crea, el dat reparteix i mostra les cartes i porta el control de qui reparteix. La basa porta el control de qui comença tirant (de moment nomès quiReparteix + 1). Falta desactivar botons)

Continuem el desenvolupament

9 Novembre 2009

  • He fet un botó iniciaPartida que la inicia (crea la partida)
  • He fet un botó repartir (crec que inicia dat seria millor) que crea un dat i mostra les cartes dels jugadors. Per fer-ho he hagut de modificar Partida i Dat i fer mètodes que únicament facin això. Ara tinc el problema que no sé com acabar la partida (potser amb una exception) i que penso que he de crear dat i basa com a variables d’instància.
  • Cal reestructura i modular el domini, pensant què necessito i fer que nomès es puguin clicar els botons que es pot.