我正在从iTunes U上的斯坦福大学演讲(仍然很绿)中完成Breakout任务并陷入咆哮.我正在尝试为不同颜色的砖块设置一个点值,这样我就可以计算出一个分数但是我的if似乎不起作用.我觉得getColor()没有返回我认为的值;我创建了一个状态标签来显示它返回的内容,但我仍然无法弄清楚如何测试它.很可能这是一个简单的我想念或者还不知道.
这是我正在研究的一小部分内容:
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;
}
}
如果您需要完整的代码,请告诉我.