Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Al .NEXT 2026 di Chicago, Nutanix ha mostrato quanto sia cambiata: una piattaforma software che gestisce VM, container e carichi di lavoro IA ovunque, dall’on-premise al cloud pubblico. Con un’esecuzione rapidissima sulle partnership e sulla migrazione da VMware
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Xiaomi Pad 8 Pro adotta il potente Snapdragon 8 Elite all'interno di un corpo con spessore di soli 5,75 mm e pannello LCD a 144Hz flicker-free, per un tablet che può essere utilizzato con accessori dedicati di altissima qualità. Fra le caratteristiche esclusive, soprattutto per chi intende usarlo con la tastiera ufficiale, c'è la modalità Workstation di HyperOS 3, che trasforma Android in un sistema operativo con interfaccia a finestre
Tutti gli articoli Tutte le news

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

Storia: Introduzione del tipo di pezzo "baule" (con numero di colori equivalente a quello delle gemme e punteggio nullo). Quando il baule collide con il fondo o si ferma su una gemma (o agglomerato), tutte le gemme (e/o gli agglomerati) di colore uguale al baule, adiacenti ad esso ed adiacenti tra loro in una delle quattro direzioni principali, spariscono, incrementando il punteggio di un valore pari a quello della somma dei singoli punteggi, e lo spazio lasciato libero viene coperto dalle gemme sovrastanti (gli agglomerati, essendo il legame irreversibile, scenderanno SOLO se non ci saranno gemme al di sotto di tutta la loro larghezza).
Per chiarirci le idee, definiamo questo meccanismo "cancellazione", ed ogni volta che parleremo di cancellazione ci riferiremo a tutto il processo nella sua interezza.
La collisione gemma-baule deve essere rilevata anche in senso inverso: se una gemma, quando si ferma, collide con un baule in una delle quattro direzioni principali, si innesca ugualmente il meccanismo di cancellazione sopra descritto. Questo può innescare delle reazioni a catena (chain).
Fin quando ci sono cancellazioni in corso, non devono cadere altre gemme.


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


N.B.:
- I bauli non sono gemme, quindi non devono concorrere nella formazione di agglomerati
- Due bauli uguali, se collidono, si eliminano a vicenda (insieme alle altre gemme di uguale colore adiacenti)
- Non deve mai essere creata una coppia di bauli uguali
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.

Ultima modifica di Jocchan : 25-01-2006 alle 21:02.
Jocchan è offline  
Old 23-01-2006, 22:50   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Task: Tutti in pair-programming
9.1.1: 71104 + ^TiGeRShArK^:
Aggiungere il supporto per 5 nuovi tipi di gemme "Baule". Le gemme di tipo baule possono essere di 5 colori, uno per ogni tipo di gemma già presente. Modificare quindi RandomGemGenerator perché possa creare questo tipo di gemme con una probabilità più bassa rispetto alle altre. Modificare anche BagOfGem in modo che il punteggio dei "bauli" sia pari a 0.

9.1.2:
Ogni volta che entrambe le gemme di una gemspair si sono fermate grid deve controllare se ci sono dei bauli presenti all'Interno della griglia. Per ognuno di questi bauli deve controllare se esistono gemme o agglomerati dello stesso colore con almeno un lato a contatto col baule. Se ve ne sono allora queste gemme e agglomerati devono essere cancellate dalla griglia. Se queste gemme sono a loro volta a contatto con altre gemme dello stesso colore allora devono essere cancellate anche queste.

9.1.3: Bonfo + cisc:
Se dopo la cancellazione delle gemme o agglomerati vengono a formarsi degli spazi vuoti, e sopra a questi ci sono delle gemme o agglomerati, queste lacune devono essere riempite con le gemme che li sovrastano. Gli agglomerati devono spostarsi verticalmente di un numero di celle che permetta di spostare tutti i membri che formano le loro basi dello stesso numero di righe. Se questo non è possibile allora devono rimanere immobili. Se almeno una gemma è stata spostata allora grid deve rieseguire il controllo per vedere se è possibile cancellare altre gemme.

9.1.4: Ufo13 + ??:
Spostare il calcolo del punteggio dal momento in cui le gemme vengono create nella griglia a quello in cui queste vengono cancellate.

9.1.5:
Impedire la creazione della nuova gemspair finché il processo di cancellazione e spostamento dei task 2 e 3 non è completamente terminato.

ciao

Ultima modifica di VICIUS : 24-01-2006 alle 11:07.
VICIUS è offline  
Old 23-01-2006, 22:57   #3
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Le png dei bauli son già pronte?
Ufo13 è offline  
Old 23-01-2006, 23:00   #4
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
prendo il 9.1.4, 2 giorni dopo la fine del 9.1.2
Ufo13 è offline  
Old 23-01-2006, 23:08   #5
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Bellissimi il 9.1.2 e il 9.1.3 ....!!!
Io ne prendo uno dei due....e se uqlcuno lo vuol fare con me mi fa solo piacere

Siccome mi sembrano tutto tranne che banali mi terrei coi tempi larghi !!!
__________________
Software engineer
Bonfo's Blog
Bonfo è offline  
Old 23-01-2006, 23:48   #6
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
Bonfo, che ne dici di un bel pair programming con uno de due? ( tanto so sicuro che adesso esce fek o vic che ci dice che uno dei due va fatto in pair)
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline  
Old 24-01-2006, 08:26   #7
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Le png le preparo stamattina (scusatemi ma 'sto periodo è un inferno).
I task 2 e 3 immagino saranno solo in pair programming, ma aspettate la conferma di Fek e/o Vicius.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline  
Old 24-01-2006, 09:48   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
9.1.1 io!!!
ora provo a sviluppare qualche test...
71104 è offline  
Old 24-01-2006, 09:57   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ma i test per RandomGenerator non esistono?
71104 è offline  
Old 24-01-2006, 09:59   #10
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Quote:
Originariamente inviato da 71104
ma i test per RandomGenerator non esistono?
Non è facile testare la randomizzazione...

Comunque credo che cionci avesse testato qualcosa... Usa la funzione di ricerca (mi pare ctrl+shift+g) per vedere chi chiama il metodo selezionato.
Ufo13 è offline  
Old 24-01-2006, 10:16   #11
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Ufo13
Non è facile testare la randomizzazione...
mock, mock, mock!!
ora cerco, se i test non ci sono li aggiungo io
71104 è offline  
Old 24-01-2006, 10:22   #12
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Quote:
Originariamente inviato da 71104
mock, mock, mock!!
ora cerco, se i test non ci sono li aggiungo io
hmmmmm non intendevo quel genere di problema... Il task è tuo cmq
Ufo13 è offline  
Old 24-01-2006, 10:40   #13
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Wow, storie toste, queste. Peccato che sono senza Eclipse e Java al momento, devo provare a reinstallarli, anche se non ho ancora recuperato la Debian, posso fare qualcosina qui dalla Knoppix.
Ma lo so tanto che con voi non c'è scampo, nel frattempo che io cerco di reinstallare il necessario voi avete già prenotato e finito tutto!
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline  
Old 24-01-2006, 10:49   #14
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Ok cisc....io prefereisco il 9.1.3, ma sono pronto a contrattare per il 9.1.2
E' bene pèrò dirti quando nun ci sono... ...e quando ci sono
Ti mando un pm.
Ciao
__________________
Software engineer
Bonfo's Blog
Bonfo è offline  
Old 24-01-2006, 10:51   #15
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Visto che i task sono solo cinque ma tutti piuttosto complessi, fateli tutti in pair per favore. E mi raccomando la test list prima di iniziare.
fek è offline  
Old 24-01-2006, 10:53   #16
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
io mi prenderei quello dei due che mi lasciate...
miii che siete cannibali però!

EDIT:
visto il post di fek, 71104 che ne diresti di un bel pair x il task 1?
__________________
^TiGeRShArK^ è offline  
Old 24-01-2006, 11:05   #17
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
eh volentieri, ma c'è un problema: i test per il primo task non ci sono, è tutto untested e testare comporta un overhead che non vale la pena; fek, puoi vedere tu stesso per favore? io per adesso ho fatto uno spike modificando in questo modo il metodo RandomGenerator.extract:
Codice:
    public int extract(int gems)
    {
        if (rand.nextInt(100) >= 70)
        {
            return rand.nextInt(gems);
        }
        else
        {
            return gems;
        }
    }
e aggiungendo una linea in GemType:
Codice:
    public static final GemType EMERALD = new GemType("emerald", 40);
    public static final GemType RUBY = new GemType("ruby", 50);
    public static final GemType SAPPHIRE = new GemType("sapphire", 60);
    public static final GemType TOPAZ = new GemType("topaz", 80);
    public static final GemType DIAMOND = new GemType("diamond", 100);
    public static final GemType TRUNK = new GemType("trunk", 0);
e anche altre due in BagOfGems:
Codice:
    private void createMapOfGemsWithoutBonus()
    {
        numberOfGems = new HashMap<GemType, Integer>();
        numberOfGems.put(EMERALD, 0);
        numberOfGems.put(RUBY, 0);
        numberOfGems.put(SAPPHIRE, 0);
        numberOfGems.put(TOPAZ, 0);
        numberOfGems.put(DIAMOND, 0);
        numberOfGems.put(TRUNK, 0);
    };

    
    private void createMapOfGemsWithBonus()
    {
        numberOfGemsWithBonus = new HashMap<GemType, Integer>();
        numberOfGemsWithBonus.put(EMERALD, 0);
        numberOfGemsWithBonus.put(RUBY, 0);
        numberOfGemsWithBonus.put(SAPPHIRE, 0);
        numberOfGemsWithBonus.put(TOPAZ, 0);
        numberOfGemsWithBonus.put(DIAMOND, 0);
        numberOfGemsWithBonus.put(TRUNK, 0);
    }
tutto senza test perché i test di quel codice non so se vale la pena di farli; il task sarebbe finito così, ma non ho ancora committato nulla ovviamente.

per quanto riguarda un pair per me va benissimo
mi prenoto per il secondo task in pair.
71104 è offline  
Old 24-01-2006, 11:11   #18
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da 71104
tutto senza test perché i test di quel codice non so se vale la pena di farli; il task sarebbe finito così, ma non ho ancora committato nulla ovviamente.

per quanto riguarda un pair per me va benissimo
mi prenoto per il secondo task in pair.
Ma in questo modo come fai a distinguere tra i bauli dei vari colori?
Il codice per caricare le png in Gem lo hai gia scritto ?

ciao
VICIUS è offline  
Old 24-01-2006, 11:20   #19
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Ho committato i bauli.
Il formato è lo stesso delle gemme (incluso il riflesso animato e l'illuminazione).
In seguito vedremo di creare un'animazione per la loro apertura, e di animare anche i riflessi dei gemmoni
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline  
Old 24-01-2006, 11:21   #20
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da VICIUS
Ma in questo modo come fai a distinguere tra i bauli dei vari colori?
to', è vero ^^
troppa assenza da Diamonds mi ha fatto male T_T

Quote:
Il codice per caricare le png in Gem lo hai gia scritto ?
si, è implicito: una volta aggiunto il tipo a GemType, la GemFactory ha la possibilità di caricarlo dal nome del file specificato (io avevo temporaneamente messo "trunk"), e se non lo trova carica il diamante di default: infatti avviando il gioco da me al posto dei bauli mi carica tutti diamanti standard (quelli bianchi).
71104 è offline  
 Discussione Chiusa


Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Ecovacs presenta la gamma 2026: paviment...
Efficienza energetica fino a 2.000 volte...
Lenovo 360: il programma di canale dell'...
Appena 10.000 qubit per rompere la critt...
Analisi dei transistor durante il funzio...
Attacco informatico a Booking.com: espos...
A quattro mesi dal divieto dei social ne...
NVIDIA GeForce RTX 5060 e 5060 Ti: in ar...
Rebellions, Arm e SK Telecom, nuova alle...
Modernizzazione delle app: Red Hat OpenS...
Nel mirino di Google c'è il back ...
PRAGMATA in bundle con GeForce RTX 5000:...
Le novità MOVA per il 2026: robot e impi...
Windows, stop all'attivazione telefonica...
ASUS porta la serie TUF nel formato Mini...
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: 03:19.


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