|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#161 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Bene, ho buttato giu' un primo test per il task 2.2:
Codice:
public void testGemsPairCanRotateCounterclockwise()
{
int old_row = gridController.getGemsPair().getSlaveGem().getCellRow();
int old_col = gridController.getGemsPair().getSlaveGem()
.getCellColumn();
gridController.getGemsPair().rotateCounterclockwise();
int new_row = gridController.getGemsPair().getSlaveGem().getCellRow();
int new_col = gridController.getGemsPair().getSlaveGem()
.getCellColumn();
boolean has_moved_down = (new_row == (old_row + 1));
boolean has_moved_left = (new_col == (old_col - 1));
assertTrue("slaveGem didn't rotate", (has_moved_down && has_moved_left));
}
- basta che il test verifichi la rotazione oppure deve gestire tutti e quattro i casi? - quando la gemma slave ha un ostacolo che le impedisce la rotazione, deve "saltare" al prossimo spazio libero o fare qualche altra cosa?
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
#162 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quando non è possibile assumere la nuova posizione imho per ora la rotazione deve fallire, quindi non deve accadere niente...
|
|
|
|
|
#163 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Colgo l'occasione per riscrivere il test di prima, come suggeritomi dal buon VICIUS: Codice:
public void test()
{
assertTrue(gridController.getGemsPair().slaveIsUp());
gridController.getGemsPair().rotateCounterclockwise();
assertTrue(gridController.getGemsPair().slaveIsLeft());
}
Questa soluzione mi permette anche di verificare con facilita' tutte e quattro le condizioni: Codice:
public void testGemsPairCanRotateCounterclockwise()
{
assertTrue("slaveGem should have been up", gridController.getGemsPair()
.slaveIsUp());
gridController.getGemsPair().rotateCounterclockwise();
assertTrue("slaveGem didn't rotate", gridController.getGemsPair()
.slaveIsLeft());
gridController.getGemsPair().rotateCounterclockwise();
assertTrue("slaveGem didn't rotate", gridController.getGemsPair()
.slaveIsDown());
gridController.getGemsPair().rotateCounterclockwise();
assertTrue("slaveGem didn't rotate", gridController.getGemsPair()
.slaveIsRight());
gridController.getGemsPair().rotateCounterclockwise();
assertTrue("slaveGem didn't rotate", gridController.getGemsPair()
.slaveIsUp());
}
Non credo che finiro' entro le 18:00... al massimo committo domani.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! Ultima modifica di DanieleC88 : 29-12-2005 alle 09:27. |
|
|
|
|
|
#164 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Guarda in Grid...ora c'è una funzione isValidCell che sicuramente ti può tornare utile...
|
|
|
|
|
#165 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Io devo rinunciare al mio task... Domattina parto e non ci sarò fino al 10...
Colgo l'occasione per augurarvi buon anno! Ci vediamo l'11 |
|
|
|
|
#166 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Il codice e' questo: Codice:
public void rotateCounterclockwise()
{
int row = pivotGem.getCellRow();
int column = pivotGem.getCellColumn();
if(slaveIsUp())
{
if(grid.isGemAt(row, column - 1) == false)
column--;
}
else if(slaveIsLeft())
{
if(grid.isGemAt(row + 1, column) == false)
row++;
}
else if(slaveIsDown())
{
if(grid.isGemAt(row, column + 1) == false)
column++;
}
else if(slaveIsRight())
{
if(grid.isGemAt(row - 1, column) == false)
row--;
}
slaveGem.setCellPosition(row, column);
}
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#167 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
DanieleC88: devi partire da piccoli passi:
Fai prima un test posizionando la gemma pivot sopra...le altre condizioni guardale una per una... IMHO non servono nemmeno quelle isSlaveXX... Comincia facendo le verifiche semplicemente tramite la getColumn e la getRow delle varie gemme... |
|
|
|
|
#168 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per muovere la gemma devi usare grid.moveRight, grid.moveLeft e altre due: grid.moveDown e grid.moveUp che vanno perà scritte...
|
|
|
|
|
#169 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Be', dopo molta fatica e dopo aver scassato i cosiddetti a cionci per una giornata (
In ogni caso, il task e' praticamente finito, i test passano e Ant non mi da' alcun errore. Faccio il commit? Cosi' magari avete anche voi la possibilita' di cercare l'errore.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
#170 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Chi lo sa...bisognerebbe implemetare un test che riproduca los tesso effetto... Vediamo
|
|
|
|
|
#171 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#172 | ||
|
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Quote:
Quote:
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
||
|
|
|
|
#173 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
#174 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ho risolto il bug dell'update, ma se ne è ripresentato un altro che non sono riuscito a replicare con i test...
|
|
|
|
|
#175 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
omg che casino O_O
il task di Daniele funziona, solo che se provo ad incasinare un po' la situazione (cioè a dropparne un po' "separandole", cioè facendone collidere una e aspettando che caschi anche l'altra) a un certo punto non so perché le gemme iniziano a collidere a mezz'aria, ma non tutte solo alcune... O_o' |
|
|
|
|
#176 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quello dovrebbe essere il bug che ho risolto, devo ancora fare il commit...
Ora ce n'è uno simile ma che si ha quando due gemme si separano...ed è stranissimo... |
|
|
|
|
#177 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
sgamato il bug!! le gemme collidono a mezz'aria solo quando le si capovolge di 180 gradi, cioè quando quella che sta giù se ne va su (quando la ruoto due volte insomma); quando questo succede, la gemma che se n'è appena andata su (che dovrebbe essere la slave) collide non appena tocca il fondo della cella corrente, mentre la gemma pivot continua a cadere; nessuna delle due però naturalmente perde il controllo, perciò se io le sposto lateralmente continuano a cadere entrambe.
|
|
|
|
|
#178 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
#179 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ok... Sono riuscito a riprodurre il bug...
Fate l'update con l'utima revisione... Prendete la prima coppia... Premete Z e lasciate cadere orizzontalmente... Premete Z sulla nuova coppia spostate a sinistra e lasciate cadere... |
|
|
|
|
#180 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
btw, è normale che il tasto Z (e quindi suppongo prossimamente anche X e C) non abbia(no) la gestione della ripetizione? il Customer cosa vuole in proposito? dovremo gestire le ripetizioni o no?
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:05.


















