|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#121 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Quote:
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
|
#122 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Una piccola nota, cerchiamo durante queste vacanze di dare un po' di stabilita' alla codebase: la necessita di fare refactoring non e' una licenza a stare sempre in refactoring land e a cambiare il codice tanto per fare. Ogni refactoring deve avere uno scopo preciso per semplificare il codice, e' giusto fare tentativi ma e' altrettanto importante sapere quando fare il commit del refactoring e quando non farlo.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
#123 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Visto che Xmas.2.1 è un task veramente lungo ho fatto un refactoring abbastanza grosso (figuriamoci come sarebbe stato il task) per avvantaggiare chi dovrà svolgere il task...ho portato fuori da Grid tutti i metodi *GemUnderControl ed ho modificato la signature di Grid.update...aggiungendo come parametro la gemma su cui dovranno essere applicati i cambiamenti... Ho spostato l'update delle animazioni delle gemme in update di GridController... In questo modo il metodo update di Grid potrà essere applicato anche a più gemme (una coppia
Ovviamente ho rimesso a posto la quintalata di test che davano errori... |
|
|
|
|
#124 |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
sono sempre stato favorevole a questo refactoring(l'avevo fatto io steso, ma poi ero andato oltre e mi era stato revertato).
ma con ufo, stavamo ponderando una strada diversa, cioè mantenere in grid GemUnderControl. gridControll avrebbe settato la gemma pivot come gemUnderControl, l'avrebbe mossa, avrebbe settato la gemma slave, e l'avrebbe mossa(questa come idea generale). La cosa aveva senso, non so quanto avrebbe potuto funzionare(ci stava guardando ufo), ma poteva essere interessante. |
|
|
|
|
#125 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Comunque potrebbe funzionare anche avendo tirato fuori gemUnderControl..almeno da come hai descritto quello che volete fare...
Dopo tutto avere gemUnderControl in Grid presuppone che grid debba occuparsi anche dell'input cosa che invece non fa...IMHO era un controsenso lasciare gemUnderControl in grid... |
|
|
|
|
#126 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Quote:
|
|
|
|
|
|
#127 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
#128 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Task Xmas.2.1 completato
|
|
|
|
|
#129 |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
aggiunta la classe gemsPair e test del caso(molti spostati da gridController)
Nota: negli handler viene fatto un controllo se esiste la gemma pivot, questo controllo non sarebbe piu giusto farlo nella moveLeft/Right di gridController o di gemsPair? cmq ora gli altri task possono andare avanti direi. Ciao |
|
|
|
|
#130 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
sì direi che ormai si può fare da move
Hai lasciato di nuovo codice commentato.. cancello |
|
|
|
|
#131 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ottimo
|
|
|
|
|
#132 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Idem
|
|
|
|
|
#133 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#134 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
la chiamata negli handler ora risulta però un po prolissa.. gridController.getGemsPair().moveRight(gridController.getGrid()); era per questo che l'avevo lasciata in gridController, ma in effetti era una dupicazione inutile. |
|
|
|
|
|
#135 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
thebol avevo già fatto io hai fatto update prima di commitare?
|
|
|
|
|
#136 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
durante il commit ho visto le differenze |
|
|
|
|
|
#137 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Jocchan, non mi è chiaro cosa deve succedere quando una rotazione della mia (quella del tasto C) non è possibile... Ripetendo la rotazione semplicemente avrei un ritorno alla situazione attuale
P.S. Il task 2.3 non lo ha preso nessuno? Ultima modifica di Ufo13 : 26-12-2005 alle 23:46. |
|
|
|
|
#138 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Quote:
Normalmente, se la pivot è a sinistra/destra della slave, e non c'è spazio di movimento, è normale che il comando venga ignorato. Idem se la pivot è sotto la slave (se è sopra, non ci saranno problemi in nessun caso), vuol dire che sta per collidere e non c'è lo spazio per ruotare. In questo caso, però, se l'utente preme il tasto quando la pivot è appena entrata nell'ultima casella libera prima della collisione, una non risposta ai comandi potrebbe essere frustrante. Quindi, in questo caso (e solo in questo) direi che possiamo fare un'eccezione alla "regola di spostamento" (al contrario di come ti ho detto ieri su msn, cioè che per coerenza dovevamo mantenere lo stesso tipo di comportamento), e consentire che le due gemme vengano scambiate di posizione tra di loro.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
|
#139 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
quindi è valido solo nel caso in cui pivot è sotto, slave è sopra e sta per collidere?
|
|
|
|
|
#140 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Aspetta, ci sto riflettendo ancora su, ed in effetti questa eccezione non va bene, perchè - appunto - va evidentemente contro le altre regole di spostamento, e quindi creerebbe delle situazioni poco coerenti. Vediamo di impostare la cosa con una certa "permissività".
Quando la pivot è sotto la slave, ed è appena entrata nella casella libera più in basso (diciamo che ne ha occupati al max 10 pixel), se il giocatore preme il tasto C faremo in modo di forzare lo spostamento al solito modo (insomma, la slave si piazza sotto la pivot, e quest'ultima - in pratica - torna su fino ai bordi della casella)... in pratica, la facciamo entrare con la forza. Se si supera questo valore limite, lo spostamento sarà impossibile e verrà ignorato. Siamo costretti a dividere il tutto in questi due casi per consentire lo stesso al giocatore spostamenti "all'ultimo secondo", senza generare incoerenze
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:36.


















