Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-03-2006, 13: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, 14: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, 12: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, 12: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, 15: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 27-03-2006, 00: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, 12: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, 13: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, 14: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, 14: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, 14: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


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Binance riapre dopo il maxi furto: gli u...
Ecovacs X12 OmniCyclone crolla a 599€ (p...
Solo le cialde Nespresso Original costan...
Un nuovo materiale termoelettrico promet...
Nuova acquisizione per Apple: ingegneri ...
OpenAI ritira il taglio al Pro 200, Anth...
Polymarket, script esterno compromesso: ...
I MacBook Pro con display OLED avranno u...
DeepSeek rilascia Superagent: arriva l'a...
Meta ha costruito in Cina il robot umano...
App non ottimizzate sui pieghevoli? Goog...
Dyson Supersonic super scontato su Amazo...
Proscenic punta al massimo con le scope ...
Altri pieghevoli per Samsung: l'azienda ...
Musk non riesce a fermare la causa: le t...
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: 09:40.


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