0

このループを 2 回実行してから、状態を 1 に変更しようとしています (state=1;)。それは可能ですか?

public void mousePressed() {
    if (state == 0) {
        for (int i = 0; i < 6; i++) {
            if (mouseX >= cards[i].x && mouseX <= cards[i].x + cards[i].WIDTH && mouseY >= cards[i].y && mouseY <= cards[i].y + cards[i].HEIGHT) {
                cards[i].flip();
            }
        }
state = 1;
}

このループを実行すると、1 回だけ実行され、状態が 0 (state==0) から 1 に変更されます。私の質問は、このループを 2 回実行し (マウスを 2 回押す)、状態を 0 から 1 (状態) に変更できるかどうかです。 =1;)。

事前にどうもありがとうございました。任意の助けをいただければ幸いです。

4

2 に答える 2

0

あなたが何を求めているのか100%確信が持てませんが、それはそのようなものですか:

public void mousePressed() {
    state = 0; /* Assuming it is global */
    while (state < 2) {
        for (int i = 0; i < 6; i++) {
            if (mouseX >= cards[i].x && mouseX <= cards[i].x + cards[i].WIDTH && mouseY >= cards[i].y && mouseY <= cards[i].y + cards[i].HEIGHT) {
                cards[i].flip();
            }
        state++;
    }
}

mousePressedこれにより、呼び出されるたびにループが 2 回実行されます。ifで切り替えるwhile

于 2013-11-05T20:05:39.110 に答える