Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 27-11-2005, 22:01   #1
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
[CICLO 6] Storia 1

Storia 1: Ogni gemma dovrà avere un colore (tra 5 possibili: bianco, rosso, blu, verde, giallo), a cui corrisponderanno una differente png (rispettivamente diamond, ruby, sapphire, emerald, topaz) ed un differente valore in punteggio (per ora rispettivamente 100, 50, 60, 40, 80), e dovrà riconoscere se nelle vicinanze (diagonali escluse, quindi nelle quattro direzioni principali) ha delle gemme di uguale colore (evento da evidenziare visivamente agendo sulla luminosità delle gemme uguali adiacenti tra loro).
Il colore delle prime sei gemme viene scelto casualmente all'inizio del gioco, e viene inserito in una coda. Ad ogni gemma creata, viene estratto il primo valore e viene creato un nuovo valore casuale che si appende in coda.


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
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.

Ultima modifica di Jocchan : 28-11-2005 alle 00:21.
Jocchan è offline  
Old 29-11-2005, 17:31   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Ecco la lista dei task per questa storia.
Task:
6.1.1: 71104: completato
Aggiungere la possibilita di scegliere quale tipo di gemma deve essere creata da GameGemFactory quando viene chiamata la create. I vari tipi di gemme per ora sono: diamond, ruby, sapphire, emerald, topaz.

6.1.2: ^TiGeRShArK^: completato
La casella dei punti non deve piu riportare il numero di gemme all'interno della griglia. Il nuovo valore è la somma dei punti che ogni singola gemma rappresenta. La tabella con i punti è la seguente:
diamond | ruby | sapphire | emerald | topaz
100 | 50 | 60 | 40 | 80

6.1.3: Ufo13: completato
Aggiungere un metodo per modificare la "luminosità" di uno sprite. Si deve quindi moltiplicare il colore proveniente dalla texture per un colore che ne indica la luminosita

6.1.4: 71104 + DanieleC88: completato
Grid deve aumentare la luminosità delle gemme che hanno almeno un lato in comune con un'altra gemma dello stesso tipo.
(solo pair-programming)

6.1.5: cionci: completato
Aggiungere a GameGemFactory una coda che deve contenere le prossime 6 Gemme da rilasciare.

6.1.6: Ufo13: completato
Quando viene richiesta una nuova gemma GameFemFactory deve restituire quella in testa alla coda ed eliminarla dalla lista. Fatto questo deve essere creato un nuovo valore da appendere in coda

ciao

Ultima modifica di VICIUS : 07-12-2005 alle 18:56.
VICIUS è offline  
Old 29-11-2005, 18:29   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
provo il primo, 1 giorno; ora mi cimento in qualche test, se non ho ben chiaro qualcosa lo posto sul forum.

PS: vicius, non mi ero accorto che mettevi il "ciao " pure in fondo ai task
perché non te lo metti in signature scusa?
71104 è offline  
Old 29-11-2005, 18:30   #4
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da 71104
provo il primo, 1 giorno; ora mi cimento in qualche test, se non ho ben chiaro qualcosa lo posto sul forum.

PS: vicius, non mi ero accorto che mettevi il "ciao " pure in fondo ai task
perché non te lo metti in signature scusa?
Assegnato.

ciao
VICIUS è offline  
Old 29-11-2005, 18:39   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
allora, problema: come faccio il test?
perché idealmente il test dovrebbe chiamare GameGemFactory.create passandogli il nome della texture da caricare e verificare che la Gem restituita contenga la texture giusta, ma come fo a verificare che la texture è quella giusta?
71104 è offline  
Old 29-11-2005, 21:54   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Potresti usare questo metodo per fare i confronti:

gem.getTexture().equals(new Texture(nome_della_gemma))
cionci è offline  
Old 29-11-2005, 21:57   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Anzi...mi sa che così non funziona... Credo per problemi di confronto fra due buffer...
cionci è offline  
Old 29-11-2005, 23:25   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
infatti non funzionerebbe di sicuro perché la nostra classe Texture non overridda il metodo equals... la comparazione risulterebbe sempre falsa...
71104 è offline  
Old 29-11-2005, 23:29   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Controllarlo con il nome avrebbe poco senso...che dici ? Ovviamente andrebbe esposto un metodo getName in Texture...
Anche se, supponendo che la classe Texture funzioni, dovrebbe essere sufficiente...
cionci è offline  
Old 29-11-2005, 23:40   #10
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
io mi prenderei il task 2 tempo previsto 2 giorni (mi tengo sempre largo non si sa mai )
....sempre che non riteniate + opportuno che possa continuare a giochicchiare col Parser (Vedi Thread apposito....)

[EDIT]ovviamente pure io dovrei partire dopo che finisce 71104 mi sa.....
altrimenti come faccio a sommare il valore delle gemme diverse con tutte le gemme uguali???
__________________

Ultima modifica di ^TiGeRShArK^ : 30-11-2005 alle 08:56.
^TiGeRShArK^ è offline  
Old 30-11-2005, 08:11   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Io mi prenoto per il 6.1.5...2 giorni a partire da quando 71104 ha terminato il suo task

Ultima modifica di cionci : 30-11-2005 alle 08:30.
cionci è offline  
Old 30-11-2005, 09:55   #12
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Controllarlo con il nome avrebbe poco senso...che dici ? Ovviamente andrebbe esposto un metodo getName in Texture...
Anche se, supponendo che la classe Texture funzioni, dovrebbe essere sufficiente...
E' una buona soluzione per ora.
fek è offline  
Old 30-11-2005, 09:56   #13
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da ^TiGeRShArK^
io mi prenderei il task 2 tempo previsto 2 giorni (mi tengo sempre largo non si sa mai )
....sempre che non riteniate + opportuno che possa continuare a giochicchiare col Parser (Vedi Thread apposito....)
Gli Spike sono a parte, i task hanno sempre priorita'.
fek è offline  
Old 30-11-2005, 10:21   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Stavo pensando che io il mio task lo posso fare anche senza il task di 71104... Però mi sono trovato di fronte ad un problema...l'audio...
Non posso inserire il codice per la gestione della coda in GameGemFactory perchè ha bisogno che l'audio sia inizializzato nel costruttore...

fek, che ne dici se promuovo GemFactory da interfaccia a classe base ?
In questo modo implemento la coda lì e verrà ereditata da GameGemFactory e GemFactoryForTesting...
cionci è offline  
Old 30-11-2005, 11:13   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi sa che ho semplificato notevolmente tutto... Ho aggiunto una classe GemQueue... Basta che GameGemFactory e GemFactoryForTesting la istanzino...
cionci è offline  
Old 30-11-2005, 11:31   #16
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Mi sa che ho semplificato notevolmente tutto... Ho aggiunto una classe GemQueue... Basta che GameGemFactory e GemFactoryForTesting la istanzino...
Ecco

Bello programmare a interfacce vero? Ti costringe a cercare design piu' semplici.

Hai scritto GemQueue test-driven?
fek è offline  
Old 30-11-2005, 11:37   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Certo... Vorrei anche vedere...
9 test per 4 metodi
cionci è offline  
Old 30-11-2005, 11:37   #18
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da fek
Gli Spike sono a parte, i task hanno sempre priorita'.
ok...
ma tanto finchè non viene concluso il task 1 non credo che potrei fare molto.. il mio task si basa proprio sull'assunto che le gemme siano diverse...
intanto farei lo spike, appena 71104 finisce il suo task partirei col mio...
__________________
^TiGeRShArK^ è offline  
Old 30-11-2005, 12:15   #19
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Ragazzi, ricordatevi di scrivere la test list prima di iniziare il task. E questo vale per tutti

Se non l'avete scritta e avete gia' iniziato il task, scrivetela comunque.
fek è offline  
Old 30-11-2005, 12:33   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Questi dovrebbe essere i test più rappresentativi:
Codice:
    public void testTwoGemExtraction()
    {        
        Gem gem1 = new Gem("diamond");
        Gem gem2 = new Gem("diamond");
        
        gemQueue.insertLast(gem1);
        gemQueue.insertLast(gem2);
        Gem extractedGem1 = gemQueue.extractFirst();
        
        assertSame("gems are not the same", gem1, extractedGem1);
        assertEquals("erroneus queue size", 1, gemQueue.queueSize());
        
        Gem extractedGem2 = gemQueue.extractFirst();        
        
        assertSame("gems are not the same", gem2, extractedGem2);
        assertEquals("erroneus queue size", 0, gemQueue.queueSize());
    }

    public void testQueueOverflow()
    {
        gemQueue.insertLast(new Gem("diamond"));
        gemQueue.insertLast(new Gem("diamond"));
        gemQueue.insertLast(new Gem("diamond"));
        gemQueue.insertLast(new Gem("diamond"));
        gemQueue.insertLast(new Gem("diamond"));
        gemQueue.insertLast(new Gem("diamond"));
        try
        {
            gemQueue.insertLast(new Gem("diamond"));
        }
        catch(IllegalArgumentException e)
        {
            return;
        }
        fail("IllegalArgumentException not thrown");
    }
cionci è offline  
 Discussione Chiusa


Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
GTA 6: i costi di sviluppo sono impressi...
SSD Kioxia EXCERIA PRO G2 4TB, prestazio...
TSMC ha raggiunto il limite: starebbe ri...
Tutte le offerte Amazon più pesan...
Microsoft unisce GPT e Claude in Copilot...
MacBook Neo è una trappola second...
Meta testa Instagram Plus: abbonamento a...
Recensione ASUSTOR LockerStor 2 Gen2+: l...
SpaceX conferma anomalia per il satellit...
Apple rilascia le prime beta 26.5 di iOS...
Warhorse Studios sostituisce i traduttor...
Ecco perché in tanti stanno comprando Ap...
Intesa Sanpaolo, multa da 31,8 milioni d...
Stellantis, rinnovo di 5 anni con Palant...
Google Pixel 11 si mostra nei render CAD...
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: 12:42.


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