Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-04-2006, 14:03   #1
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Refactoring Post FirstPlayable

Allora...
...pronti a riniziare a lavorare

Io ho iniziato lavorando sugli state.
Sto facendo 3 cose:
1) spostando i metodi in modo che le prime tre cose che si incontrano siano:
- costruttore
- isCurrentState()
- update();
2) ogni stato che si occupa di gravità dovrà occuparsene internamente, ovvero se setta la gravità ad un valore diverso da normal, dopo deve esso stesso rimetterlo a normal
3) diminuire l'istanziazioni di classi state

Ho modificato WaitStateBeforeNewGemsPair.
Ora ritorna:
Codice:
            return new GemsPairOnControlState(config).update(timer,gridController);
mentre prima ritornava, praticamente, solamente
Codice:
new GemsPairOnControlState(config);
e tutto funziona.

Invece in CrushState c'è questo:
Codice:
return new GemFallState(config);
e con
Codice:
return new GemFallState(config).update(timer, gridController);
invece non passano i test ??

Ora ci riguardo ....
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:09   #2
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Aspettate con i refactoring, per favore.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:09   #3
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Ottimo refactoring!!!
...ha introdotto un bug che i test non mi hanno segnalato
Ora la gemsPair quando si spezza, se il tasto giù è premuto, non scende a gravità Strongest ma a Normal.

__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:10   #4
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Avete fatto commit per caso????


Quote:
P.S.: Fek spezzerà personalmente le manine al primo che proverà a fare un commit da venerdi a lunedi'
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:14   #5
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da Jocchan
Avete fatto commit per caso????
Sì...io ...ma fek ha detto che aveva preso il tag e che si poteva ripartire con i refactoring....

Quote:
Ora che la First Playable e' chiusa ed ho preso la tag dalla quale verranno prodotte le build da distribuire, il trunk e' di nuovo libero e potere iniziare i refactoring dei quali abbiamo parlato.
http://www.hwupgrade.it/forum/showpo...17&postcount=1


Ho perso le dita???
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:17   #6
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da Bonfo
Sì...io ...ma fek ha detto che aveva preso il tag e che si poteva ripartire con i refactoring....



http://www.hwupgrade.it/forum/showpo...17&postcount=1


Ho perso le dita???

Ha preso il tag, ma sono sorti altri problemi che ci conviene provare a risolvere.
Questo weekend doveva essere destinato al playtesting, credo sia sbagliatissimo cercare di accelerare i tempi e crearci da soli altri problemi.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:18   #7
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Ok...reverto tutto!!!
O almeno ci provo

...fino a lunedì non tocco più nulla
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:20   #8
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da Bonfo
Ok...reverto tutto!!!
O almeno ci provo
Aspetta, vediamo prima che dicono anche Fek e Vicius.
E' la mia opinione, ma se hanno detto così un motivo ci sarà.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:23   #9
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
REVERT ESEGUITO.
Fino a lunedì fermo i lavori "PUBBLICI"...
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:24   #10
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Oooops...non aqvevo letto.

in ogni caso mi sono salvato le modifiche che ho fatto...quindi quando vogliamo le rifaccio in 5 sec

Ora vedo di andare avanti con il refactoring sulla mia copia locale ... poi per i play test uso quella della build.
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 14:25   #11
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Grazie Bonfo (e meno male che hai salvato le modifiche ), vedrò di parlarne con Fek e Vic per cosa ci conviene fare.
Intanto, vediamo di aprire un altro topic per vedere se riusciamo a risolvere questi problemi di compatibilità sorti all'ultimo minuto?
Sicuramente sono più urgenti.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 15:19   #12
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Certo...concentriamoci su quelli.

Sugli state però devo dire una cosa.
Ho notato come in crushState si faccia un return new FallGemState senza update. Lo capisco perchè rende difficili moltissimi test.

A questo punto mi viene da dire....o tutto o niente.

Ovvero o tutti fanno un return new STATE.Update() oppure non lo fa nessuno!!!
è una semplice scelta stilistica....tutto funziona uguale...solo bisogna mettere a posto i test di conseguenza.

Capire cosa succede quando faccio update è una delle cose che mi ha sempre fatto spendere un sacco di tempo nei test. Renderlo chiaro sarebbe fantastico....

A questo punto mi verrebbe da dire di togliere gli update dai return....forse diventa tutto un po' più deterministico
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 16:16   #13
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Colpa mia che ho fatto un po' di confusione, scusate. Ho preso il tag per lasciare il trunk libero per il refactoring. Potete tranquillamente continuare.

Bonfo, scrivi prima il test che copre la condizione che si e' verificata a seguito del tuo refactoring, cosi' da andare sul tranquillo.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 16:30   #14
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Ora non posso....sto uscendo.
Appena torno a casa scrivo il test.

Sarebbe utile anche avere un'opinione da parte di tutti per sapere che fare con questi update.
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2006, 20:25   #15
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Fatto il test...ma anche con la versione corretta non passa.
Ecco il test:
Codice:
    public void testSlaveGemFallFaster()
    {
        controller.getGemsPair().rotateClockwise();
        controller.getGemsPair().getPivotGem().drop();
        controller.update(timer);
        
        assertEquals(Config.createForTesting().getInteger("StrongestGravityMultiplier") * 0.5, grid.getActualGravity(), 0.01);
                
        input.notifyKeyEvent(KeyEvent.DOWN, KeyEvent.PRESSED);
        
        controller.reactToInput(timer);

        assertEquals(Config.createForTesting().getInteger("StrongestGravityMultiplier") * 0.5, grid.getActualGravity(), 0.01);

        input.notifyKeyEvent(KeyEvent.DOWN, KeyEvent.RELEASED);
        
        controller.reactToInput(timer);

        assertEquals(Config.createForTesting().getInteger("StrongestGravityMultiplier") * 0.5, grid.getActualGravity(), 0.01);
    }
Il test non passa perchè in realtà sia grid che la slaveGem lo sentono benissimo che la gravità ritorna normale, solo che GemsPairOnControlState prima di far cadere la slaveGem risetta sempre e comunque la gravità a Strongest.

A questo punto o il test è sbagliato "concettualmente" oppure il modo in cui viene fatta cadere la salveGem non è pulitissimo.

Ora ci sono 2 possibiltà nel caso il test sia corretto:
o si spezza lo stato in GemsPairOnControlState in 2 aggiungendo lo stato SlaveGemFall in modo da cambiare questo codice
Codice:
    public void reactToInput(TimerInterface timer)
    {        
        if(!currentState.isCurrentState("StoneFall") && !currentState.isCurrentState("GemFall")) && !currentState.isCurrentState("SlaveGemFall "))
        {
            inputReactor.reactToInput(timer);
        }
    }
oppure si fanno 2 metodi pubblici di gridController in modo da abilitare e disabilitare gli input e il relativo getter...così gli stati abilitano meno gli input e il metodo suddetto usa il getter per capire che fare.

A me paice molto più la soluzione 1

P.S.: ma dove vengono disabilitati gli input per la salveGem dopo che la gemsPair si è separata??? Dentro gemsPair??
__________________
Software engineer
Bonfo's Blog

Ultima modifica di Bonfo : 22-04-2006 alle 20:32.
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2006, 12:00   #16
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Sarà anche
..ma riuppo il thread perchè il test che ho postato è ancora lì che deve capire che fine deve fare.
Ripeto:il comportamento è strano.

In sti giorni ci sarò a sprazzi...ma dopo questo gli state sono abbastanza puliti.
Dopo passerò all'attaco degli action .... e lì si che ci sarà da fare a botte
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2006, 12:16   #17
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Ufo, puoi dare una mano a Bonfo che tu conosci benone questa parte?
fek è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2006, 12:27   #18
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Quote:
Originariamente inviato da fek
Ufo, puoi dare una mano a Bonfo che tu conosci benone questa parte?
Certo, Bonfo contattami su MSN, non ci sono oggi pomeriggio quindi dovremmo fare sul tardi o subito :P
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2006, 12:34   #19
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
vorrei proporre una forma di organizzazione del refactoring, stile assegnazione del refactoring delle varie parti del codice stile task, però a rotazione, tipo un giorno 1 guarda l'audio, un'altro guarda l'engine, ecc, ecc, il giorno successivo a rotazione, in modo da evitare di lavorare nello stesso momento allo stesso codice....
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2006, 12:53   #20
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Ok cisc. Scrivi qui l'elenco dei refactoring di cui abbiamo bisogno e li assegnamo.
fek è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Samsung Display presenta QD-OLED Penta T...
KONAMI torna con "Silent Hill: Town...
Rende il citofono smart a 44,99€: Ring I...
ThunderX3 XTC, la sedia da ufficio che s...
Mercy, Mission Impossible, Aronofsky: il...
Project Windless: il nuovo action in esc...
Saros: mostrato il gameplay del gioco de...
God of War: Sons of Sparta annunciato e ...
John Wick torna in un nuovo videogioco a...
MADE chiude il 2025 con 59 partner e 250...
007 First Light: allo State of Play un n...
Gli iPhone su Amazon costano meno che su...
Credevi fosse un assistente IA, invece e...
God of War Trilogy Remake annunciato all...
Star Wars Galactic Racer mostra il gamep...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v