Мне принцип видится таким: есть массив этих карт (пусть они будут объектами), по которому отрисовывается поле.
Понадобится обработчик, который будет следить за действиями пользователя и производить сравнения 2-х выбранных карт.
Пользователь нажимает на карту, она поворачивается к нам лицом. Жмёт вторую карту - здесь происходит сравнение двух объектов (карт) => если по проверяемому ключу они совпадают, то просто берем и удаляем из DOM эти два объекта. Если сравнение не прошло, то сбрасываем карты, начинаем заново.