Prueba si los colores son iguales a

Estoy trabajando en la tarea de Breakout de las conferencias de Stanford en iTunes U (todavía bastante verde) y me encontré con un gruñido. Estoy tratando de establecer un valor en puntos para los ladrillos de diferentes colores para poder calcular un puntaje, pero mis if no parecen funcionar. Tengo la sensación de que getColor () no está devolviendo el valor que creo que es; Creé una etiqueta de estado para mostrar lo que está devolviendo, pero aún no puedo encontrar la forma de probarlo. Lo más probable es que me falte algo simple o que todavía no sepa.

Aquí hay un fragmento del bit en el que estoy trabajando:

if (collider != null && collider != paddle) {
        remove(scoreLabel);
        vy = -vy;
        Color brickColor = collider.getColor();
        add(new GLabel("" + collider.getColor(), 10, 12));
        double temp = brickVal(brickColor) * scoreMultiplier;
        score += Math.abs(temp);
        addScoreboard();
        remove(collider);
    }
}

private double brickVal(Color c) {
    if (c.equals(Color.RED)) {
        return 10.0;
    } else if (c == Color.ORANGE) {
        return brickVal = 8.0;
    } else if (c == Color.YELLOW) {
        return brickVal = 6.0;
    } else if (c == Color.GREEN) {
        return brickVal = 4.0;
    } else if (Color.CYAN.equals(c)) {
        return brickVal = 2.0;
    } else if (c == Color.MAGENTA) {
        return brickVal = 1.0;
    } else {
        return 1.0;
    }
}

Si necesita el código completo, avíseme.

Respuestas a la pregunta(1)

Su respuesta a la pregunta