|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
[CICLO 12] Storia 2
Storia 2: Introduzione della Flashing Gem, pezzo speciale SENZA colore nè punteggio. Quando questa collide con un’altra gemma (o baule), tutte le gemme e tutti i bauli dello stesso colore di quest’ultima devono essere cancellati dall’area di gioco, senza dare alcun punteggio, nè avere alcun peso nelle eventuali Crush scatenate o già attive.
Il colore delle gemme da cancellare verrà deciso in base al colore degli elementi (in ordine di priorità) al di sotto, a sinistra, a destra o al di sopra della Flashing Gem. Questo pezzo deve quindi avere una percentuale di occorrenza molto bassa, quantificabile intorno al valore di default del 2% e modificabile via GameConfig, insieme alle percentuali di occorrenza delle singole 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
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Task
12.2.1: thebol: completato Aggiungere a GemType un nuovo tipo di gemma di nome Flashing Gem. Questa nuova gemma non avrà ne colore ne punteggio. Quando la Flashing Gem collide con una gemma o un baule questa cancella dalla griglia tutte le gemme, biggem e bauli di quel colore. 12.2.2: cionci: completato Animare la Flashing Gem usando la texture presente in data. L'animazione è composta da 8 frame e deve avvenire a ciclo continuo senza alcuna pausa tra il primo e l'ultimo frame. 12.2.3: Vifani: completato Modificare ScoreCalculator in modo che tutte le gemme eliminate usando una Flashing Gem non siano considerate durante il calcolo del punteggio. ciao Ultima modifica di VICIUS : 17-03-2006 alle 09:12. |
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Mi sono permesso di fare un refactoring del motore di crush, ora mi sembra più semplice iniziare una nuova catena di crush a partire dalla flashing gem...
L'ho fatto perchè mi volevo prendere il task 1, ma non ho molto tempo...quindi mi prendo il task 2, ma lo devo rimandare a lunedì... Considero 2 giorni a partire dalla fine del task 1... |
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
prendo l'1, penso di finirlo entro oggi(se continua a piovere) o domani(se smette e vado a giocare a calcio
test list provvisoria. esistenza tipo gemma flash esistenza texture flash creazione gemma di tipo flash correttezza crush(che vengano cancellate tutte le gemme e chest di quel colore) |
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
cosa succede se la flashingGem tocca il fondo senza toccare nessun'altra gemma?
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
il 2% lo tolgo a alla prob delle gemme o delle chest?
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Quote:
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
proporrei pero un refactoring. ora come ora, è impostato via file di config la probabilita delle gemme, e la restante era per i chest. Io farei la cosa un po piu pulita, inserendo : FlashProbability = 2 GemProbability = 79 ChestProbability = 19 e usando questi valori. A questo punto si potrebbe anche mettere un check in creazione di game, che controlli che la somma di queste 3 variabili sia 100 |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
Codice:
public void testCorrectGemAndChestAndFlashProportion()
{
Config config = Config.createForTesting();
int chestProb = config.getInteger("ChestProbability") ;
int flashProb = config.getInteger("FlashProbability");
int startFlash = 0;
int endFlash = flashProb - 1;
int startChest = flashProb ;
int endChest = flashProb + chestProb - 1;
int startGem = flashProb + chestProb;
int endGem = 99;
int[] percentages = { startGem, 1, endGem, 1, startChest, 1, endChest, 1 , startFlash, endFlash};
factory = GemFactory.createForTesting(new MockRandomGenerator(
percentages));
Gem gem = factory.createRandomDroppable();
assertFalse("does not return a Gem", gem.getType().isChest());
assertFalse("does not return a Gem", gem.getType().isFlash());
gem = factory.createRandomDroppable();
assertFalse("does not return a Gem", gem.getType().isChest());
assertFalse("does not return a Gem", gem.getType().isFlash());
gem = factory.createRandomDroppable();
assertTrue("does not return a Chest", gem.getType().isChest());
assertFalse("does not return a Chest", gem.getType().isFlash());
gem = factory.createRandomDroppable();
assertTrue("does not return a Chest", gem.getType().isChest());
assertFalse("does not return a Chest", gem.getType().isFlash());
gem = factory.createRandomDroppable();
assertTrue("does not return a Flash", gem.getType().isFlash());
assertFalse("does not return a Flash", gem.getType().isChest());
gem = factory.createRandomDroppable();
assertTrue("does not return a Flash", gem.getType().isFlash());
assertFalse("does not return a Flash", gem.getType().isChest());
}
se entra in contatto con piu gemme di tipo diverso, deve cancellarle tutte?(diventerebbe molto potente...) |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
No, il colore da cancellare è unico e l'ordine di priorità delle direzioni è sempre lo stesso indicato nella storia
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
FINITO
L'implementazione attuale prevede gia che le cancellazioni della flash non vengano conteggiate per le crush. Vengono invece contate come punteggio(da risolvere nel task 3, se nessuno lo prende posso farlo io). E rispettato (e testato) l'ordine down,sx,dx,up. Ultima modifica di thebol : 12-03-2006 alle 23:09. |
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
|
Mi prendo carico del task numero 3. Prevedo 3 giorni per farlo.
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Ottimo lavoro thebol.
Vifani il task è tutto tuo. Buon divertimento. ciao |
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
|
Ragazzi ho problemi con il repository. E' online?
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
No, offline anche per me... Mi stavo accingendo a guardare il codice per postare la test list, ma non posso senza aver aggiornato il codice...
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:18.


















