|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
[CICLO 6/bis] Xmas Story 1
Dato che a Natale siamo tutti più buoni, oggi apriamo un ciclo "speciale", dalla durata superiore al solito, e che si chiuderà il 6 gennaio 2006 (giorno fino al quale siamo formalmente - ma non effettivamente - in pausa). Si tratterà di un ciclo differente perchè stavolta sarà aperto, e quindi è possibile che dei nuovi task vengano aggiunti in seguito. Quindi, sbirciate spesso questo post... potreste trovare qualche sorpresa di tanto in tanto
Storia: Storia di servizio. Quando la colonna centrale in cui le gemme entrano nell'area di gioco è piena, il gioco deve smettere di crearle, e deve far comparire al centro dello schermo una png con la scritta Game Over. Occorre anche fare in modo che, quando viene premuto un tasto direzionale (sinistra o destra) mentre l'altro opposto è già premuto, venga eliminata l'incertezza sulla colonna di posizionamento della gemma, che deve restare fissa nella colonna in cui si trovava un istante prima della pressione del tasto contrastante. To be continued... Punti cardine da tenere a mente durante i lavori:
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. Ultima modifica di Jocchan : 13-12-2005 alle 12:03. |
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Ecco i task per il ciclo natalizio.
Task: Xmas.1.1: 71104: Interrompere l'inserimento di nuove gemme quando la colonna centrale si riempie dopo di che si deve mostrare la scritta "Game Over" all'interno della griglia. Xmas.1.2: cisc: 3 giorni Aggiungere un ritardo di 300 millisecondi tra l'istante in cui la gemma si ferma e la creazione di una nuova gemma. Xmas.1.3: cionci: 2 giorni Ignorare la pressione del tasto direzionale finche quello con direzione opposto rimane premuto. Xmas.1.4: Ufo13: completo Portare a 50 millisecondi il repeat delay dopo la prima volta che è stato superato. E riportarlo al suo valore originale quando il tasto viene rilasciato. ciao Ultima modifica di VICIUS : 16-12-2005 alle 12:38. |
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Specifico meglio il task 3 per evitare incomprensioni.
Attualmente, se tengo premuto un tasto direzionale (ad esempio destra), ed in seguito premo quello opposto (in questo caso sinistra) senza rilasciare il precedente, spesso la gemma, prima di continuare la sua caduta senza spostarsi lateralmente, ha un comportamento imprevedibile: può rimanere nella stessa colonna, finire in una adiacente, oppure spostarsi temporaneamente e tornare in quella iniziale. Lo scopo del task è fare in modo che questo non avvenga, e che - finchè entrambi i tasti restano premuti - la gemma rimanga nella stessa colonna, e continui a cadere in questa, senza incertezze (che, nella foga del gioco vero e proprio, possono portare a un posizionamento errato). La necessità di apportare questa correzione nasce dalla possibilità che il giocatore cambi idea all'ultimo secondo, e decida di posizionare la gemma da un'altra parte: questo evento può comportare la pressione contemporanea di due direzioni contrastanti, e non possiamo permetterci di avere imprecisioni in questa circostanza
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
UAO LA STORIA DI NATALE, A ME A ME!!!
li voglio fare tutti io!!! ![]() comincio col primo ^^ dubbi: la scritta "Game Over" come ce la scrivo? c'è qualche texture? e a che coordinate la scrivo? ora penso alla test list |
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Jocchan; mi puoi spiegare emglio il problema che vuoi risolvere ?
a) pressione continua del tasto a dx...pressione del tasto sx, la gemma si deve fermare b) pressione contemporanea di entrambi i tasti la gemma deve restare ferma... |
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
volevo fare la stessa domanda di cionci, cmq, vorrei prenotarmi per il Xmas.1.2, tempo 3 giorni (meglio essere larghi
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Risolvendo il problema a)...se si premono entrambi i tasti la gemma si sposta nella cella corrispondente al tasto premuto prima fra i due (se la pressione va a cavallo fra due polling) Al massimo possiamo lasciare il b) com'è ora e risolvere il problema a)... |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Texture committata.
Per il problema della pressione contemporanea, si tratta solo dell'incertezza che si ha quando si preme un tasto opposto a quello già in pressione. La gemma ogni tanto o si sposta di una colonna, e non deve accadere, oppure si sposta e torna nella precedente. In realtà bisogna fare in modo che, quando si preme il secondo tasto, oltre a quello premuto, la gemma non abbia questa incertezza. Se sto tenendo premuto destra e, quando sono nella casella 4, inizio a tenere premuto anche sinistra, la gemma deve continuare a cadere nella casella 4 fino a quando non rilascio uno dei due pulsanti.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ho letto il codice attuale e riflettuto, e per la cronaca mi sono anche fatto consigliare da Jocchan; inoltre mi sono fatto un panino con insalata e mortazza, due solitari di Windows, una partita a campo minato, fumato una sigaretta, guardato in aria, fatto una cosa che non si dice, ed infine rieccomi qua sul forum
il problema è il seguente: il codice per catturare l'eccezione e visualizzare uno sprite con scritto "Game Over" dove lo metto, in Grid, in Game o in una classe apposta? Jocchan dice Grid e io mi trovo d'accordo... questo è il test che ho fatto (si troverebbe in TestGrid): Codice:
public void testGridStops()
{
grid.insertGem(1, 4, gem1);
grid.getGemUnderControl().dropGem();
grid.insertGem(0, 4, gem2);
try
{
grid.update();
}
catch(IllegalArgumentException e)
{
fail("Grid.update is trying to put other gems");
}
}
poi magari la test listi si potrebbe completare con un test per verificare col MockEngine che Grid.update, una volta catturata l'eccezione, disegni lo sprite "Game Over". |
|
|
|
|
#11 | |||
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Quote:
Tradotto: non mettere nulla in Grid se non strettamente necessario ma anche di piu'. Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|||
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
prendo il secondo task
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Quote:
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Allora il quarto
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Mi prendo 2 giorni di tempo...
L'acceptance test list sarà come segue: - se un tasto freccia è premuto continuamente e premo il tasto freccia opposta la gemma deve stare ferma - se due tasti freccia vengono premuti due tasti freccia e la pressione risulta a cavallo fra due aggiornamenti la gemma deve tornare alla posizione iniziale (quindi mantennedo la condizione attuale) Ultima modifica di cionci : 13-12-2005 alle 11:37. |
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Test list per il task Xmas.1.3:
Codice:
public void testLeftAndRightBothPressed()
{
grid.insertGem(2, 4, gem);
grid.setGemUnderControl(gem);
input.generateKey(KeyCode.vk_Left);
input.generateKey(KeyCode.vk_Right);
grid.reactToInput(input, timer);
assertTrue("Gem may not move when Left & Right key are both pressed",
grid.isGemAt(2, 4));
}
public void testLeftAndRightSequenceInTwoPollings()
{
grid.insertGem(2, 4, gem);
grid.setGemUnderControl(gem);
input.generateKey(KeyCode.vk_Left, timer.getTime());
grid.reactToInput(input, timer);
timer.advance(grid.getRepeatDelay() - 1);
input.generateKey(KeyCode.vk_Right, timer.getTime());
grid.reactToInput(input, timer);
assertTrue("Gem may not move when Left & Right key are both pressed",
grid.isGemAt(2, 4));
}
public void testLeftStillPressedAndRightPressed()
{
grid.insertGem(2, 4, gem);
grid.setGemUnderControl(gem);
input.generateKey(KeyCode.vk_Left, timer.getTime());
grid.reactToInput(input, timer);
timer.advance(grid.getRepeatDelay() + 1);
input.generateKey(KeyCode.vk_Right, timer.getTime());
grid.reactToInput(input, timer);
assertTrue("Gem may not move when Left key is repeated & Right key is pressed",
grid.isGemAt(2, 3));
}
public void testRightStillPressedAndLeftPressed()
{
grid.insertGem(2, 4, gem);
grid.setGemUnderControl(gem);
input.generateKey(KeyCode.vk_Right, timer.getTime());
grid.reactToInput(input, timer);
timer.advance(grid.getRepeatDelay() + 1);
input.generateKey(KeyCode.vk_Left, timer.getTime());
grid.reactToInput(input, timer);
assertTrue("Gem may not move when Right key is repeated & Left key is pressed",
grid.isGemAt(2, 5));
}
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Ma vi state mangiando quattro task al giorno voi? E' cosi' che mi piace, duri, cattivi e produttivi.
E per premiarvi, vi diamo altri task di Natale
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Fatto il commit del task Xmas.1.3
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Siete delle belve.
ciao |
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:08.



















