cs193p-memorize/Memorize/EmojiMemoryGame.swift
Ching 449fa1b8e9 refactor(view, model, viewmodel): 优化代码写法
优化代码写法

Signed-off-by: Ching <loooching@gmail.com>
2023-02-12 22:45:13 +08:00

31 lines
668 B
Swift

//
// EmojiMemoryGame.swift
// Memorize
//
// Created by ching on 2023/2/12.
//
import SwiftUI
// viewmodel
class EmojiMemoryGame: ObservableObject {
typealias Card = MemoryGame<String>.Card
static let emojis = ["🚌", "🚙", "🚗", "🚕", "🏎", "🚎", "🚓"]
static func createMemoryGame() -> MemoryGame<String> {
MemoryGame<String>(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)
}
}