View Single Post
Old 04-02-2008, 20:40   #22
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Cittā: San Francisco, CA, USA
Messaggi: 13826
Era :

it.diamonds.grid.action.CrushByChestAction.java Linea 62

Codice:
    private void getAdjacentCrushableGems(Droppable crushSourceDroppable,
        DroppableList adiacentCrushableGems)
    {
        // TODO: REFACTOR THIS

        Region sourceCell = crushSourceDroppable.getRegion();

        if(sourceCell.getLeftColumn() >= 1)
        {
            getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_LEFT);
        }

        if(sourceCell.getRightColumn() < getGrid().getNumberOfColumns() - 1)
        {
            getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_RIGHT);
        }

        if(sourceCell.getTopRow() >= 1)
        {
            getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_UP);
        }

        if(sourceCell.getBottomRow() < getGrid().getNumberOfRows() - 1)
        {
            getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_DOWN);
        }
    }
E'

Codice:
    private void getAdjacentCrushableGems(Droppable crushSourceDroppable,
        DroppableList adiacentCrushableGems)
    {
            getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_LEFT);
            
            getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_RIGHT);

            getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_UP);

            getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
                adiacentCrushableGems, GO_DOWN);
    }
E ho spostato i controlli nei metodi getUpOrDownAdjacent.... getLeftOrRight...


ad esempio in getUpOrDown... č stato aggiunto:

Codice:
        if(row + direction.deltaY() < 0 || row + direction.deltaY() > getGrid().getNumberOfRows() - 1)
        {
            return;
        }
Analogo č stato fatto nella getLeftOrRight.... ma con le colonne al posto delle righe

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano č offline   Rispondi citando il messaggio o parte di esso