Изображение не будет рисовать при обработке java - PullRequest
0 голосов
/ 10 января 2020

Я работаю над проектом для универа, в котором я должен сделать свою собственную игру памяти в процессе обработки, но мы не можем использовать код, который мы еще не изучили. Так что нет объектно-ориентированных / классов. Это должно быть очень просто, как основы.

Теперь я знаю, что это не выглядит так здорово, но у меня не было много времени, так что осталось. Моя единственная проблема сейчас заключается в том, что после нажатия на карточку она покажет карточку, но когда я нажму на вторую карточку, она не покажет вторую карточку. Это действительно проверяет, является ли это неправильным или правильным. Если это соответствует, это покажет, если нет, это повернет назад слепую сторону. Поэтому, когда я нажимаю на вторую карточку, она сразу же показывает слепую сторону, когда знает, что это неправильно.

Но выписка с чековой карточки ставится ПОСЛЕ демонстрационной карточки, поэтому я действительно растерялся. Когда он знает, что это правильно, он покажет карту. Сейчас мой код написан на голландском языке, но я думаю, что его не так сложно читать / понимать Kaart = карта, een = один, twee = два et c.

Вот код:

void verstopKaart(float xpos, float ypos) {
  image(blind, xpos, ypos, breedteKaart, hoogteKaart);
}

void kaartCheck() {
  if (kaartEen == kaartTwee && beurt) {
    scoreSpeler1 += 10;
    beurt = false;
  } else if (kaartEen == kaartTwee && !beurt) {
    scoreSpeler2 += 10;
    beurt = true;
  } else if (kaartEen != kaartTwee && beurt) {
    delay(2000);
    verstopKaart(XPosKaartEen, YPosKaartEen);
    verstopKaart(XPosKaartTwee, YPosKaartTwee);
    beurt = false;
  } else if (kaartEen != kaartTwee && !beurt) {
    delay(2000);
    verstopKaart(XPosKaartEen, YPosKaartEen);
    verstopKaart(XPosKaartTwee, YPosKaartTwee);
    beurt = true;
  }
}

void mouseClicked() {
  for (int i=0; i < kaartenHorizontaal; i++) {
    for (int j=0; j < kaartenVerticaal; j++) {
      if ((mouseX >= XPosKaart + (i * (breedteKaart + marge)) && mouseX <= (XPosKaart + (i * (breedteKaart + marge)) + breedteKaart) &&
        mouseY >= YPosKaart + (j * (breedteKaart + marge)) && mouseY <= (YPosKaart + (j * (breedteKaart + marge)) + breedteKaart))) {
        if (eenKaartOpen) {
          kaartTwee = kaarten[i][j];
          **image(kaarten[i][j], XPosKaart + (i * (breedteKaart + marge)), YPosKaart + (j * (breedteKaart + marge)), breedteKaart, hoogteKaart); // THIS WON'T DRAW OR DRAWS UNDERNEATH**
          XPosKaartTwee = XPosKaart + (i * (breedteKaart + marge));
          YPosKaartTwee = YPosKaart + (j * (breedteKaart + marge));
          kaartCheck();
          eenKaartOpen = false;
        } else {
          **image(kaarten[i][j], XPosKaart + (i * (breedteKaart + marge)), YPosKaart + (j * (breedteKaart + marge)), breedteKaart, hoogteKaart); // THIS WILL DRAW**
          kaartEen = kaarten[i][j];
          XPosKaartEen = XPosKaart + (i * (breedteKaart + marge));
          YPosKaartEen = YPosKaart + (j * (breedteKaart + marge));
          eenKaartOpen = true;
        }
      }
    }
  }
}
...