|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
[CICLO 17] Storia 1
Storia di refactoring:
- Completare il refactoring di BigGem, uniformando le interfacce di Droppable e BigGem. Cell deve diventare una Region, ovvero un gruppo di celle rettangolari. Un diamante e' una Region 1x1: Bonfo + Ufo13 - Consolidare le responsabilita' di Dynamite al momento sparse in piu' classi: thebol + Jappilas + ... - Testare il codice di input: cdimauro: completato La storia è già divisa in task: fatevi sotto! ![]()
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. Ultima modifica di VICIUS : 06-06-2006 alle 16:47. |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
|
Siccome siamo in ballo...continuiamo a ballare.
![]() Io e Ufo andiamo avanti con il refactoring di BigGem. |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao ![]() |
|
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Visto che ci siamo anche gli altri due task sarebbe meglio farli in pair. Quindi fatevi avanti.
![]() Per il terzo task sarebbe utile rifattorizzare keymapping in modo da caricare i tasti da un file di configurazione come GameConfig (quindi uso della classe properties) in modo da poter cambiare i tasti agilmente e usare un file standard per i test. ciao ![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Per il terzo task ci potrei pensare io e qualcun altro. Tempo previsto: 2 giorni per rifattorizzare qualcosina
![]() Un paio di domande: - per la configurazione dei tasti posso usare sempre GameConfig oppure un altro file (o due: uno il mapping di ogni giocatore); - con uso della classe properties cosa intendi? Comunque la mia idea è di sganciare KeyMappings dalla particolare implementazione della tastiera, rendendola quindi un elemento a sé stante, facendo sì che la tastiera diventi un semplice dispositivo di input che trasli già al suo interno i codici "raw" della tastiera sui relativi Event "standard" di Diamonds, per poi notificare questo evento ai listener a essa legati. Sarà poi la routine di notify del listener a traslare, tramite il keymapping che usa e relative impostazioni del file di configurazione, l'evento della pressione di un particolare tasto in quello di Event.UP, Event.DOWN, Event.BUTTON1, ecc. |
![]() |
![]() |
#6 | ||
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Quote:
![]() ciao ![]() |
||
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
#8 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Oggi sono un po' intronato. ![]() EDIT: Ho appena visto config e ho capito cosa volevi dire. Oggi non è proprio giornata. ![]() Comunque ho già rifattorizzato un po' di roba, semplificando KeyboardInterface, eliminato KeyMappings e facendola diventare una classe a sé stante, che non dipende dall'implementazione della tastiera. Inoltre la traslazione dell'evento (usando il mapping apposito) adesso avviene in notifyEvent. Di conseguenza cambia anche il modo di usare questo metodo. A motivo di ciò, ho dovuto cambiare un bel po' di test che usavano input senza impostare alcun KeyMapping, oppure che passavano a notifyEvent direttamente l'evento processato (es: al posto di Event.LEFT adesso si deve passare Event.KEY_LEFT). Ultima modifica di cdimauro : 30-05-2006 alle 11:09. |
||
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
scrivendo un file di properties secondo lo standard prop = value, e facendolo parsare dalla classe java properties, ottieni un oggetto su cui facendo getProperties(prop) restitusice value.
cmq è utilizzata anche nella gestione del file di config(classe Config). |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
|
Quote:
La situazione è "grave"...ovvero ogni volta che cerchiamo di mettere mano a qualcosa va ad impattare su gran parte del codice, richiedendo sempre la presenza di refactoring che non siamo ancora riusciti a fare. Insomma ...una cane che si morde la coda ![]() In ogni caso stiamo cercando i punti di attacco. Se tutto va come prevediamo ci troveremo alla fine con il codice praticamente "nuovo". ![]() Quindi i tempi sono lunghi...anche perchè biosgna mettere le mani in un sacco di posti (Grid, Action, State, tutti i Droppable, Sprite, Cell e via così...praticamente tutto ![]() ![]() |
|
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
![]() Se avete bisogno di consigli e idee nuove io sono sempre disponibile di sera. ciao ![]() |
|
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4741
|
esaminando il comportamento attuale (di fino a ieri sera, cioe' ) della dynamite, mi veniva un dubbio: attualmente il candelotto viene rimosso all' evento di BLOW.released ma la griglia aggiornata alla fine del "turno" (se il tasto viene rilasciato durante il gioco, statisticamente capitera' con maggiore probabilita' durante la caduta della gempair, quindi nel gemPairOnControlState)
il comportamento del cadelotto deve verificarsi (cancellazione + caduta della/e droppable che la sovrastano, per ora, animazione + cancellazione + caduta, nella storia successiva) appena si rilascia il tasto o si ha il timeout , anche se nel frattempo c e' una gempair in gioco che sta cadendo? Forse bisognera' aggiungere allo stato il controllo e la gestione della dynamite, o uno stato apposito (la mai idea e' di trattare anche la dynamite analogamente al crushState per far cadere le droppable) parlandone con vic e' emerso che a seconda dei casi "potrebbe" rendersi necessario o consigliabile rivedere gli state, quindi e' necessario chiarire
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
|
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Forza ragazzi che il lavoro che state facendo e' importantissimo. Vedrete che appena iniziate a svolgere i primi nodi il resto del codice andra' a posto da solo. L'importante come dice Vic e' procedere passettino per passettino, e scrivere tanti test che vi proteggono dai problemi.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Un ultimo consiglio: fate commit spesso e volentieri, cosi' permettete agl'altri che lavorano di sincronizzarsi al refactoring, ed evitate noiosi merge.
Inoltre mettersi in testa di fare commit spesso vi aiuta a sforzarvi di rendere ogni passo del refactoring molto breve, quindi meno rischi di fare casini. E piu' tranquillita' per voi. E' una lotta ![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
'na parola.
![]() Ho vissuto con l'incubo di effettuare merge chilometrici in questi momenti. ![]() Per fortuna che modifiche così pesanti non si fanno tutti i giorni. ![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Allora... Il refactoring di BigGem con Cell procede... Qualcuno riesce a darmi una mano?
Vi posto la BigGem refattorizzata, la build è rossa e non capisco perchè ![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Per favore, NON committate in questo momento: ho per le mani una rifattorizzazione piuttosto pesante, e non vorrei che si creassero casini!!!
|
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Commit effettuato. Adesso Diamonds è event-based.
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
|
Quote:
Ho visto qualcosa di strano...perchp in addColumn e addRow le gem sono dichiarate FINAL ?? ![]() ![]() |
|
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Quote:
|
|
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:50.