Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 09-01-2006, 14:35   #1
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
[CICLO 8] Storia 2

Storia 2: Quando una gemma è a contatto con altre dello stesso colore, e queste formano un quadrilatero nella griglia (quadrato o rettangolo di dimensioni qualsiasi), formeranno un agglomerato. Le gemme nell'agglomerato useranno delle png differenti a seconda che si trovino nei bordi dello stesso (4 angoli e 4 lati) o al suo interno. L'agglomerato è considerabile come un oggetto complesso, il cui valore di punteggio è pari alla somma dei singoli punteggi delle gemme componenti, moltiplicato per un bonus (il valore del bonus è unico per tutti gli agglomerati, ed è variabile da GameConfig). Le gemme presenti in un agglomerato non possono più tornare ad essere singole.
Terminata la storia, occorre eliminare l'illuminazione per le gemme uguali adiacenti.


Punti cardine da tenere a mente durante i lavori:
  • Mai fare a gara a chi finisce il task per primo, meglio procedere con calma, altrimenti perderemo molto più tempo in seguito
  • Evitiamo di complicarci la vita, esiste di certo una soluzione più semplice di quella che abbiamo pensato di implementare
  • MAI aggiungere elementi non richiesti esplicitamente dai task: se mai serviranno, se ne parlerà nelle prossime storie
  • Comunichiamo il più possibile, se qualcosa non è chiaro discutiamone tutti i dettagli fino ad eliminare ogni dubbio, anche il più insignificante
  • Postare sempre la test list PRIMA di mettere mano al codice
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.

Ultima modifica di Jocchan : 10-01-2006 alle 22:27.
Jocchan è offline  
Old 09-01-2006, 19:24   #2
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Linee guida per le texture degli agglomerati
I file che ho appena committato in gfx/gems/tiles hanno una struttura diversa da quella delle texture precedenti. Possiamo assimilarli ad una griglia 6x6 strutturata come in questo file di esempio:



Griglia e coordinate sono ovviamente presenti solo per chiarezza.
Come potete vedere, le maxigemme usano una struttura a tile (unico metodo che ci consente di avere agglomerati di dimensioni qualsiasi), e nei file è già presente un sistema per ricavare delle animazioni (che inseriremo in un altro ciclo). Per ora, quindi, utilizzeremo soltanto la porzione di png che racchiude le caselle da A1 a C3, ignorando temporaneamente le altre.
Le caselle A1, A3, C1 e C3 andranno a rivestire gli angoli degli agglomerati. Per i lati useremo A2, B1, B3 e C2, mentre per le caselle all'interno ripeteremo B2 finchè necessario.
Buon divertimento
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline  
Old 10-01-2006, 22:29   #3
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Task:
8.2.1: Vifani: completato
Modificare il codice che rileva le gemme addiacenti in modo che riconosca solo gruppi di gemme che formano un rettangolo o un quadrato.

8.2.2: thebol + ??: ??
Quando un gruppo rettangolare o quadrato di gemme viene riconosciuto al posto delle gemme dev'essere disegnata una gemma grande usando i tile dell'immagine di Jocchan.

8.2.3: jappilas + fek: completato
Modificare bagofgem in modo che il punteggio delle gemme che fanno parte di un gruppo sia moltiplicato per un Bonus. Il valore del bonus deve essere modificabile da GameConfig.xml

8.2.4: Vifani: completato
Eliminare il codice e i test che illuminano le gemme addiacenti.

ciao

Ultima modifica di VICIUS : 18-01-2006 alle 16:09.
VICIUS è offline  
Old 10-01-2006, 22:47   #4
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
Il task 8.2.1 è mio, ma ho bisogno di al più 4 giorni, ma molto probabilmente finirò prima.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline  
Old 11-01-2006, 07:15   #5
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
mi prenoto per l' 8.2.2 in pair
thebol è offline  
Old 11-01-2006, 11:15   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
aaaaaargh, il primo lo volevo io!!
vabbè, vorrà dire che farò il secondo
alla fine mi chiameranno the pair man

thebol, quando?
considera che io devo anche fare un task della storia precedente, ma non ho ben capito quand'è che va bene per Bonfo... io cmq ci sono praticamente tutte le sere, altrimenti vi avviso.

PS: vicius, considera che questa è la storia che mi piace di più, quella che apettavo praticamente dall'inizio del gioco
quindi se per voi sto facendo troppi task piuttosto che rinunciare a questo preferisco rinunciare a quello della Storia 1 ^^

Ultima modifica di 71104 : 11-01-2006 alle 11:17.
71104 è offline  
Old 11-01-2006, 17:53   #7
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
per me vanno bene tutte le sere tranne venerdi.
sabato e domenica pero sono in forse.



cmq ho paura che sara dura farlo in una sera sola sto task
thebol è offline  
Old 11-01-2006, 18:02   #8
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4741
sto studiando l' 8.2.3
__________________
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
jappilas è offline  
Old 16-01-2006, 00:00   #9
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
Ragazzi ho bisogno di un paio di giorni in più per realizzare il mio task. Purtroppo risulta essere più dura di quanto pensassi all'inizio. Comunque quasi tutti i test che mi ero prefisso sono passati. Manca solo qualcosina.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline  
Old 16-01-2006, 07:22   #10
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
np
thebol è offline  
Old 16-01-2006, 11:12   #11
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
8.2.3 completato
fek è offline  
Old 16-01-2006, 11:31   #12
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
8.2.4 lo farò io. E' incluso nel mio task perché con il nuovo rilevamento delle gemme addiacenti, i test vecchi falliscono sempre per ovvie ragioni.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline  
Old 16-01-2006, 23:15   #13
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
I test che ho identificato relativi al task 8.2.1 sono i seguenti:

Quote:
public void testQuadDropAndBrighten()
{
grid.insertGem(13, 3, gem3);
grid.update(timer, gem3);

grid.insertGem(13, 4, gem4);
grid.update(timer, gem4);

grid.insertGem(12, 3, gem5);
grid.update(timer, gem5);

grid.insertGem(12, 4, gem6);
grid.update(timer, gem6);

assertTrue(gem5.isBrighter() && gem6.isBrighter() && gem3.isBrighter() && gem4.isBrighter());
}

public void testRectDropAndBrighten()
{
grid.insertGem(13, 3, gem3);
grid.update(timer, gem3);

grid.insertGem(13, 4, gem4);
grid.update(timer, gem4);

grid.insertGem(12, 3, gem5);
grid.update(timer, gem5);

grid.insertGem(12, 4, gem6);
grid.update(timer, gem6);

grid.insertGem(11, 3, gem7);
grid.update(timer, gem7);

grid.insertGem(11, 4, gem8);
grid.update(timer, gem8);

assertTrue(gem7.isBrighter() && gem8.isBrighter() && gem5.isBrighter() && gem6.isBrighter() && gem3.isBrighter() && gem4.isBrighter());
}

public void testRectDropAndDontBrighten()
{
grid.insertGem(13, 3, gem3);
grid.update(timer, gem3);

grid.insertGem(13, 4, gem4);
grid.update(timer, gem4);

grid.insertGem(12, 3, gem5);
grid.update(timer, gem5);

grid.insertGem(12, 4, gem6);
grid.update(timer, gem6);

grid.insertGem(11, 3, gem7);
grid.update(timer, gem7);

grid.insertGem(11, 4, gem1);
grid.update(timer, gem1);

assertFalse(gem7.isBrighter() && gem1.isBrighter() && gem5.isBrighter() && gem6.isBrighter() && gem3.isBrighter() && gem4.isBrighter());
assertTrue(gem5.isBrighter() && gem6.isBrighter() && gem3.isBrighter() && gem4.isBrighter());
}

public void testQuadDropAndDontBrighten()
{
grid.insertGem(13, 3, gem1);
grid.update(timer, gem1);

grid.insertGem(13, 4, gem5);
grid.update(timer, gem5);

grid.insertGem(12, 3, gem3);
grid.update(timer, gem3);

grid.insertGem(12, 4, gem4);
grid.update(timer, gem4);

assertFalse(gem1.isBrighter() && gem5.isBrighter() && gem3.isBrighter() && gem4.isBrighter());
}
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline  
Old 16-01-2006, 23:17   #14
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
I seguenti sono una rivisitazione dei vecchi test. Fanno parte del task 8.2.4.

Quote:
public void testDropAndDontBrightenOnRight()
{
grid.insertGem(13, 5, gem1);

grid.update(timer, gem1);

grid.insertGem(13, 4, gem2);
grid.update(timer, gem2);
assertFalse(gem2.isBrighter());
}

public void testDropAndDontBrightenOnDown()
{
grid.insertGem(13, 4, gem1);

grid.update(timer, gem1);

grid.insertGem(12, 4, gem2);
grid.update(timer, gem2);
assertFalse(gem2.isBrighter());
}

public void testDropAndDontBrightenOnLeft()
{
grid.insertGem(13, 3, gem1);

grid.update(timer, gem1);

grid.insertGem(13, 4, gem2);
grid.update(timer, gem2);
assertFalse(gem2.isBrighter());
}


public void testMultipleBrightening()
{
grid.insertGem(13, 3, gem1);
grid.update(timer, gem1);

grid.insertGem(13, 4, gem2);
grid.update(timer, gem2);

assertFalse(gem1.isBrighter() && gem2.isBrighter());
}
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline  
Old 17-01-2006, 00:00   #15
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Ho dato una letta veloce hai test e mi sembrano buoni. Per rendere i test più semplici prova ad usare una funzione di appoggio simile a questa.
Codice:
private static void insertAndUpdate(Gem gem, int x, int y)
{
    grid.insertGem(x, y, gem); 
    grid.update(timer, gem); 
}
ciao
VICIUS è offline  
Old 17-01-2006, 00:58   #16
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
Ci avevo pensato, però avevo visto che nessuno lo aveva fatto e quindi pensavo non fosse necessario. In ogni caso ho un altro problema: la complessità ciclomatica dell'algoritmo messo a punto è troppo elevata. Se faccio la commit il checkstyle fallirà sicuramente.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline  
Old 17-01-2006, 09:18   #17
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
Quote:
Originariamente inviato da Vifani
Ci avevo pensato, però avevo visto che nessuno lo aveva fatto e quindi pensavo non fosse necessario. In ogni caso ho un altro problema: la complessità ciclomatica dell'algoritmo messo a punto è troppo elevata. Se faccio la commit il checkstyle fallirà sicuramente.
Per quanto riguarda semplificazioni come quella che ti ha suggerito Vicius, non hai bisogno di vedere che qualcuno lo abbia gia' fatto, hai piena liberta' di semplificare come e quando vuoi, ancora meglio se con soluzioni innovative.

Per quanto rigarda la complessita' ciclomatica, qualche Extract Method e vedi che piombera' a valori accettabili e aprira' la strada per altri refactoring.
fek è offline  
Old 18-01-2006, 09:19   #18
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
Quote:
Originariamente inviato da thebol
mi prenoto per l' 8.2.2 in pair
A che punto e' questo task? In attesa di 8.2.1?
fek è offline  
Old 18-01-2006, 10:33   #19
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
Quote:
Originariamente inviato da fek
A che punto e' questo task? In attesa di 8.2.1?
Ragazzi perdonatemi per questo ritardo, ma è davvero un periodaccio tra 3DMark06, R580, riproduzione video.... questo solo per parlare di Hardware Upgrade.

Comunque l'algoritmo è a posto e funziona perfettamente: i test passano. Il tempo di ridurre le complessità ciclomatica e metto tutto su SVN. Conto di finire il tutto questa sera.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline  
Old 18-01-2006, 10:51   #20
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
Quote:
Originariamente inviato da Vifani
Ragazzi perdonatemi per questo ritardo, ma è davvero un periodaccio tra 3DMark06, R580, riproduzione video.... questo solo per parlare di Hardware Upgrade.

Comunque l'algoritmo è a posto e funziona perfettamente: i test passano. Il tempo di ridurre le complessità ciclomatica e metto tutto su SVN. Conto di finire il tutto questa sera.
Tranquillo, e' un periodaccio per tutti

E nonostante questo stiamo per finire tre storie invece di due.
fek è offline  
 Discussione Chiusa


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Il rover NASA Perseverance ha ''raccolto...
NASA e ISRO hanno lanciato il satellite ...
Switch 2 ha venduto 5,82 milioni di cons...
Assassin's Creed Black Flag Remake: le m...
Cosa ci fa una Xiaomi SU7 Ultra alle por...
Promo AliExpress Choice Day: prezzi stra...
Nostalgico, ma moderno: il nuovo THEC64 ...
AVM avvia la distribuzione di FRITZ! OS ...
Super offerte Bose: le QuietComfort a me...
Epic vince (ancora) contro Google: Andro...
Sconti nuovi di zecca su Amazon: 27 arti...
Un'esplorazione del 'lato oscuro' di Fac...
Apple ha venduto 3 miliardi di iPhone da...
Grandi sconti oggi sugli spazzolini elet...
Reddit sfida Google: vuole diventare il ...
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: 22:44.


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