```

    float x = 400, y=100;
    int a=20,b=10;
    void setup() { size(800, 200); }
    void draw() {
    rect(x-10, y-5, a, b);
    }
    void keyPressed() {
      int k=' ';
    if (keyCode == RIGHT) {
    x++;
    } else if (keyCode == LEFT) {
    x--;
    } else if (keyCode == UP){
      y--;
    } else if (keyCode == DOWN){
      y++;
    }
    }
    
```
CC BY-SA 4.0
2019-01-22T10:44:15.617
52210
2019-01-23T10:18:52.767
2019-01-22T12:11:15.747
19110
31878
question
java processing
スペースキーを押すごとに、四角形の大きさを2倍、1倍、2倍、1倍とトグします？
スペースキーを押すたびに`拡大中`かどうかを示す変数を書き換えることで、サイズをトグルして管理できます。  
下記のサンプルコードではスペースを押すたびに`isExtended`変数を書き換えて、[三項演算子](https://processing.org/reference/conditional.html)で`a`と`b`の値を制御しています。

```

    float x = 400, y = 100;
    int a = 20, b = 10;
    boolean isExtended = false;
    void setup() { size(800, 200); }
    void draw() {
      fill(255);
      rect(0, 0, 800, 200);
      rect(x - a / 2, y - b / 2, a, b);
    }
    void keyPressed() {
      if (keyCode == RIGHT) {
        x++;
      } else if (keyCode == LEFT) {
        x--;
      } else if (keyCode == UP){
        y--;
      } else if (keyCode == DOWN){
        y++;
      } else if (keyCode == ' ') {
        isExtended = !isExtended;
        a = isExtended ? 40 : 20;
        b = isExtended ? 20 : 10;
      }
    }
    
```
CC BY-SA 4.0
2019-01-23T10:18:52.767
52258
2019-01-23T10:18:52.767
9820
52210
answer