// // EmojiMemoryGame.swift // Memorize // // Created by ching on 2023/2/12. // import SwiftUI // viewmodel class EmojiMemoryGame: ObservableObject { typealias Card = MemoryGame.Card static let emojis = ["🚌", "🚙", "🚗", "🚕", "🏎", "🚎", "🚓"] static func createMemoryGame() -> MemoryGame { MemoryGame(numberOfPairsOfCards: emojis.count) { pairIndex in EmojiMemoryGame.emojis[pairIndex] } } @Published private var model = createMemoryGame() var cards: [Card] { return model.cards } // MARK: - Intent(s) func choose(_ card: Card) { model.choose(card) } func shuffle() { model.shuffle() } func restart() { model = EmojiMemoryGame.createMemoryGame() } }