I'm working on the Breakout assignment from the Stanford lectures on iTunes U (still pretty green) and ran into a snarl. I'm trying to set a point value for the different colored bricks so I can calculate a score but my if's don't seem to work. I have a feeling that getColor() isn't returning the value that I think it is; I created a status label to show my what it's returning but I still can't figure out how to test for that. More than likely it's something simple I'm missing or just don't know of yet.
Here's a snippet of the bit I'm working on:
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;
}
}
If you need the full code let me know.