title: Java Memory Game how to flip individual cards?
body: <p>i am trying to flip individual cards when i click on them. At the moment when i click all the cards flip at the same time. </p>
  
  <p>here is my code. any help would be appreciated and thank you very much in advance. </p>
  
  <pre><code>package cards;
  
  import processing.core.PApplet;
  
  public class MemoryGame extends PApplet {
  
  static final int COLS=2;
  static final int RAWS=3;
  Card[] cards;
  
  public void setup() {
      size(RAWS*Card.WIDTH, COLS*Card.HEIGHT); // card witdth 60*9+(10*9) for the gaps=630
      cards = new Card[COLS*RAWS];
      cards[0] = new Card(11, 0, 0);
      cards[1] = new Card(3, Card.WIDTH, 0);
      cards[2] = new Card(7, 2 * Card.WIDTH, 0);
      cards[3] = new Card(3, 0, Card.HEIGHT);
      cards[4] = new Card(7, Card.WIDTH, Card.HEIGHT);
      cards[5] = new Card(11, 2 * Card.WIDTH, Card.HEIGHT);
  
  }
  
  public void draw() {
      background(204);
      for (int i = 0; i &lt; 6; i++) {
          cards[i].display(this);
      }
  }
  
  public void mousePressed() {
      for (int i = 0; i &lt; 6; i++) {
          cards[i].flip();
      }
  }
  
  public static void main(String[] args) {
      PApplet.main("cards.MemoryGame");
  }
  }
  </code></pre>
  
  <p>++++++++++++++++++++Card class++++++++++++++++++++++++++++++++++++++++++++++++++++++</p>
  
  <pre><code>package cards;
  
  import processing.core.PApplet;
  
  public class Card {
  
  boolean shown=false;
  static final int WIDTH = 120;
  static final int HEIGHT = 180;
  static final int gap = 20;
  int value;
  float x,y;   
  
  Card(int _v, float _x, float _y) {
  
      value = _v;
      x = _x;
      y = _y;
  }
  
  public void display(PApplet applet) {
     applet.stroke(0);
      applet.strokeWeight(2);
      if (shown) {
          applet.fill(100);
          applet.rect(x, y, WIDTH, HEIGHT,WIDTH/5);
         applet.textAlign(applet.CENTER,applet.CENTER);
         applet.textSize(WIDTH/2);
         applet.fill(0);
         applet.text(value,x+WIDTH/2,y+HEIGHT/2);
      } else {
          applet.fill(255);
          applet.rect(x, y, WIDTH, HEIGHT,WIDTH/5);
      }
  }
  
  
  
  public void flip() {
      shown=!shown;
  }
  }
  </code></pre>