私はiTunesU(まだかなり緑色)でのスタンフォード大学の講義からのブレイクアウトの割り当てに取り組んでいて、うなり声に出くわしました。スコアを計算できるように、さまざまな色のレンガにポイント値を設定しようとしていますが、うまくいかないようです。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;
}
}
完全なコードが必要な場合はお知らせください。