私が作っている私のプログラムはテトリスです。私が行き詰まった部分の1つは、プレーヤーが特定のスコアに達したときにタイマーの速度を下げることでした。たとえば、200ポイントごとに(モジュロでチェックされます)、時間はたとえば50減少します。最初は、時間は500ミリ秒で開始されました。タイマーを作成すると、渡される時間は変わらないので、それを減らす方法がわかりません。
**タイマーをインスタンス化する私のコンストラクター。
public PlayingPanel(SidePanel p)
{
pf = new PlayingField(p);
generateNewPiece();
setFocusable(true);
addKeyListener(new KeyEvent());
timer = new Timer(time, new BlockListener());
timer.start();
}
public void startTimer()
{
time -= 20;
}
/**
* generates new piece
*/
public void generateNewPiece()
{
startTimer();
...
}