Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
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à
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 09-01-2006, 15: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 23:27.
Jocchan è offline  
Old 09-01-2006, 20: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, 23: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 17:09.
VICIUS è offline  
Old 10-01-2006, 23: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, 08: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, 12: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 12:17.
71104 è offline  
Old 11-01-2006, 18: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, 19:02   #8
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
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, 01: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, 08:22   #10
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
np
thebol è offline  
Old 16-01-2006, 12:12   #11
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
8.2.3 completato
fek è offline  
Old 16-01-2006, 12: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 17-01-2006, 00: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 17-01-2006, 00: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, 01: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, 01: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, 10:18   #17
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
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, 10:19   #18
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
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, 11: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, 11:51   #20
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
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 vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
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...
RDNA 5 sulle APU AMD, ma non per tutti: ...
Marvell acquisisce Lumentum per 115 mili...
La febbre dei data center fa impennare i...
ECOVACS T90S OMNI crolla a 499€ su Amazo...
In Cina i camion elettrici hanno gi&agra...
Attacchi hacker ai supermercati in Europ...
I datacenter non piacciono? OpenAI prova...
Cupra Raval sfida BMW, Volvo e le altre:...
BYD supera per la prima volta le 300.000...
Crisi RAM, spunta un prezzo incredibile ...
Ginux, un nuovo kernel compatibile con L...
Gemini Notebook si aggiorna: arrivano i ...
Svolta per l'emulazione della prima Xbox...
Narwal celebra 10 anni: l'evoluzione tec...
TIM Enterprise acquisisce il 70% di VoiS...
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: 19:09.


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