Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-03-2006, 12:26   #1
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Grid e GridController

Arrivati a questo punto noto che Grid fa davvero molte cose...

Secondo me sarebbe una buona idea cominciare a separare i comportamenti strettamenti legati al concetto di "Griglia contentente delle gemme" dai vari concetti di "crush, creazioneBigGem, scoring, Stone etc...".

Parlando di GridController, invece, il codice mi sembra parecchio complicato...

Cosa ne dite di organizzare una sessione di refactoring? Potrei offrirmi per un pair nei prossimi giorni
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 13:48   #2
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
beh in grid di logica per le crush ce ne è ormai ben poco(sta in abstractCrushAction and soon), cmq secondo me in grid sarebbe da togliere l'opponentGrid(che ora non fanno nulla, l'ho tolta e non ha dato errori), i restanti metodi me sembrano metodi di utilita e accesso alla griglia. Forse si potrebbero riorganizzare alcuni metodi per evitare ripetizioni di codice, ma non sono sicuro ce ne sia bisogno)

per gridController la gestione dell'update è abbastanza incasinata e si potrebbe cercare un modo per semplificarla(anche se al volo non me ne viene in mente nessuno).
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2006, 11:16   #3
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Quote:
Originariamente inviato da thebol
beh in grid di logica per le crush ce ne è ormai ben poco(sta in abstractCrushAction and soon), cmq secondo me in grid sarebbe da togliere l'opponentGrid(che ora non fanno nulla, l'ho tolta e non ha dato errori), i restanti metodi me sembrano metodi di utilita e accesso alla griglia. Forse si potrebbero riorganizzare alcuni metodi per evitare ripetizioni di codice, ma non sono sicuro ce ne sia bisogno)

per gridController la gestione dell'update è abbastanza incasinata e si potrebbe cercare un modo per semplificarla(anche se al volo non me ne viene in mente nessuno).
Tutta la logica che riguarda crush (il metodo c'è ancora), score, combo, Stone, animazioni gemme non c'entra con il concetto di griglia di gemme e secondo me ormai grid fa troppe cose troppo diverse arrivando al punto che quando non si sa dove mettere qualcosa la si mette facilmente in grid.
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2006, 11:52   #4
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da Ufo13
Tutta la logica che riguarda crush (il metodo c'è ancora), score, combo, Stone, animazioni gemme non c'entra con il concetto di griglia di gemme e secondo me ormai grid fa troppe cose troppo diverse arrivando al punto che quando non si sa dove mettere qualcosa la si mette facilmente in grid.
E' già successo in passato, Grid veniva usata come classe-monnezza.
Poi, con qualche refactoring, la cosa un pò si è sistemata.
Se la situazione è tornata come prima, allora urge un bel refactoring.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2006, 14:36   #5
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Me ne ero accorto anche io infatti volevo proporlo come storia di servizio ma visto che abbiamo ancora dei task da finire nella storia precedente dovremo rimandare.
Grid deve delegare in qualche modo tutta la gestione della logica ad altri. Si può pensare di usare observer per lanciare qualche evento che poi verrà gestito da queste classi.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2006, 23:54   #6
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Infatti...
...non so perchè ma nel nostro bel progetto di eventi se ne vedono proprio pochi.
Eppure in un game a me sembra quasi ovvio pensare che la maggior parte delle azioni sia dovuta a determinati eventi.

Forse dovremmo ristrutturare un po' il codice in questa ottica.
Non so se sembra anche a voi, ma le varie sottoclassi di GemAction ricordano un po' dei gestori di eventi
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 11:32   #7
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da Bonfo
Infatti...
...non so perchè ma nel nostro bel progetto di eventi se ne vedono proprio pochi.
Eppure in un game a me sembra quasi ovvio pensare che la maggior parte delle azioni sia dovuta a determinati eventi
Evidentemente non ci servivano. Ora pero la situazione sta degenerando.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 12:23   #8
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Ha ragione VICIUS. Non esageriamo con le idee.

Ci serve solo rendere il codice più leggibile e rendere più facile lo svolgimento dei task.

Inoltre il refactoring è reso difficile dalla discreta quantità di codice non testato presente in molte parti del codice.

Questo è un problema molto più grande che avere un'architettura Event-Driven
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 13:01   #9
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Verissimo Ufo...
...prima avremo la copertura la 100% prima potremmo fare dei refactoring anche stravolgenti !!!
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 13:03   #10
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Allora iniziamo ad aggiungere qualche test?

Se guardi in Thread dei Problemi manca un test per la condizione di GameOver in GameLoop
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 13:43   #11
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Volentieri...se potessi mettere le mani sul codice.
L'obiettivo delle prossime settimane è collaborare aggiungendo ogni volta che posso un piccolo test
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
AMD: l'alternativa al DLSS 5 sarebbe in ...
Canon EOS R8 Mark II: sensore da 24,2 MP...
Alla Napoli Shipping Week 2026 arriva il...
Addio bollo: il Governo cancella la tass...
Speciale Logitech G: mouse PRO X SUPERLI...
Cosa pensano Altman, Amodei, Benioff e H...
Microsoft: evento il 7 ottobre dedicato ...
Scoperti 84 corpi cosmici anomali: cosa ...
Dimensity 9600 Pro contro A20 Pro, il nu...
HillMiles MileCity1 torna a 648,99€: e-b...
Enel Mobile, il debutto è sempre ...
Nuova rimodulazione per il fisso di TIM ...
iPhone 18 Pro e Pro Max, preordini sotto...
Ha craccato 26 giochi: ora Denuvo vuole ...
Xiaomi 18 Pro, il lancio è uffici...
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: 01:17.


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