@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); } } }
@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; }