cs193p-memorize/Memorize/EmojiMemoryGame.swift
Ching 189bfc0bb8 feat(view, viewmodel): 修改 veiwmodel 发送用户点击事件,修改 card 状态,完成 card match 逻辑
点击 card 修改 card.isFaceUp 属性,当两个 card.content 相同时,将 card 隐藏

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

30 lines
669 B
Swift

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