View Single Post
Old 12-12-2005, 19:31   #10
71104
Bannato
 
L'Avatar di 71104
 
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");
        }
    }
eventualmente poi potrei anche creare una nuova classe GameOverException in modo tale che insertNewGem cattura la IllegalArgumentException causata dall'inserzione di una gemma quando non c'è spazio e la converte lanciando una GameOverException.

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".
71104 è offline