2

プレイヤーの推測数を出力する関数があります。
コードは次のとおりです。

public void drawString(Graphics g){
    g.setColor(Color.RED);
    g.drawString("You have " + getN() + " guesses left", 400, 50);
    if (lastN != getN()){
        repaint();
        lastN = getN();
    }
}

私の問題は、それが1回おきに塗り直されることです。つまり:

最初に印刷します。残りの推測は10個ですが、残り
の推測が9個の場合は10のまま です。

それからそれは印刷します:あなたは残りの8つの推測を持っています
。0になるまで...

毎回変更する方法は?

4

1 に答える 1

4

だからあなたはする必要があります:

if (lastN != getN()){        
    lastN = getN();
}
repaint();

repaint条件外ではif、この場合paintは毎回呼び出されます

于 2012-08-17T10:46:38.803 に答える