enum GameStatus { playing, won, lost }

class CardModel {
  final String id;
  final String faceId;
  final bool isFlipped;
  final bool isMatched;

  const CardModel({
    required this.id,
    required this.faceId,
    required this.isFlipped,
    required this.isMatched,
  });

  CardModel copyWith({
    String? id,
    String? faceId,
    bool? isFlipped,
    bool? isMatched,
  }) {
    return CardModel(
      id: id ?? this.id,
      faceId: faceId ?? this.faceId,
      isFlipped: isFlipped ?? this.isFlipped,
      isMatched: isMatched ?? this.isMatched,
    );
  }
}
