programandoai

Passo 3: Comparando pares

A regra que dá nome ao jogo: duas cartas viradas precisam ser comparadas, e o resultado decide se elas ficam reveladas ou voltam a se esconder.

Estudar esta lição interativa →

O coração do jogo: a função clicar(carta) ignora o clique se o jogo estiver travado ou se a carta já estiver virada ou encontrada (isso evita cliques "trapaça"), vira a carta clicada, e a empilha em viradas. Quando viradas alcança duas cartas, comparamos com verificarPar(cartaA, cartaB), uma função pura que só olha o valor das duas: se bateu, ambas ganham encontrada: true e ficam reveladas para sempre; se não bateu, esperamos 700ms (tempo para o jogador ver as duas cartas) e as desviramos.

A variável travado é essencial: sem ela, o jogador poderia clicar numa terceira carta antes das duas primeiras desvirarem, e o jogo perderia a conta de qual par está sendo comparado.

🧩 Este conteúdo é interativo — abra no app para ver e rodar de verdade. Vire duas cartas por vez. Pares batem e ficam verdes; erros desviram sozinhos.

Por que verificarPar é uma função separada

Assim como calcular() na calculadora e totalCarrinho() no carrinho, isolar a regra de comparação numa função que só recebe duas cartas e devolve um booleano a torna testável sem precisar simular clique nenhum. É exatamente essa função que o desafio final deste módulo vai pedir para você escrever.

← Voltar ao índice do curso