cs193p-memorize/Memorize/EmojiMemoryGame.swift
Ching 21ed5d55cb feat(view): 增加动画效果
增加发牌动效,增加倒计时动效

Signed-off-by: Ching <loooching@gmail.com>
2023-02-16 23:21:20 +08:00

39 lines
799 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)
}
func shuffle() {
model.shuffle()
}
func restart() {
model = EmojiMemoryGame.createMemoryGame()
}
}