예제 #1
0
  @Override
  public void doTurn(ImageView imageBoard, int position) {
    if (mHomeView == null) return;

    if (bAllowClick) {
      if (!cardsList.get(position).isMatched())
        if (c1 == null && !cardsList.get(position).isFlipped()) {
          cardsList.get(position).setFlipped(true);
          c1 = cardsList.get(position);
          mHomeView.flipCard(imageBoard, c1.getId());
        } else if (c2 == null && !cardsList.get(position).isFlipped()) {
          cardsList.get(position).setFlipped(true);
          c2 = cardsList.get(position);
          mHomeView.flipCard(imageBoard, c2.getId());

          bAllowClick = false;
          startTimer(1000);
        }
    }
  }
예제 #2
0
  @Override
  public void checkCards() {
    if (mHomeView == null) return;

    if (c1.getId() == c2.getId()) {
      c1.setMatched(true);
      c2.setMatched(true);
      iUserScore += iCorrectPair;
      mHomeView.updateScore(iUserScore);
      c1 = null;
      c2 = null;
      changeVisibilityCards();

      if (isGameWon()) mHomeView.onGameFinished(iUserScore);
    } else {
      iUserScore -= iInCorrectPair;

      mHomeView.updateScore(iUserScore);
      flipBackAllCards();
    }

    bAllowClick = true;
  }