49 lines
		
	
	
		
			840 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			840 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
| //
 | |
| //  SetGameModelView.swift
 | |
| //  Set
 | |
| //
 | |
| //  Created by Oliver Hnát on 10.04.2023.
 | |
| //
 | |
| 
 | |
| import Foundation
 | |
| 
 | |
| 
 | |
| class SetGameModelView: ObservableObject {
 | |
|     
 | |
|     typealias Card = SetGame.Card
 | |
|     
 | |
|     @Published private var model: SetGame
 | |
|     
 | |
|     init() {
 | |
|         self.model = SetGame()
 | |
|     }
 | |
|     
 | |
|     var cardsOnTable: Array<Card> {
 | |
|         var cardsOnTable: Array<Card> = Array()
 | |
|         for card in model.cards {
 | |
|             if (card.isOnTheTable && !card.isMatched) {
 | |
|                 cardsOnTable.append(card)
 | |
|             }
 | |
|         }
 | |
|         return cardsOnTable
 | |
|     }
 | |
|     
 | |
|     func newGame() {
 | |
|         self.model = SetGame()
 | |
|     }
 | |
|     
 | |
|     func choose(_ card: Card) {
 | |
|         self.model.choose(card)
 | |
|     }
 | |
|     
 | |
|     var score: Int {
 | |
|         model.score
 | |
|     }
 | |
|     
 | |
|     func deal() {
 | |
|         self.model.addCardsToTable(3)
 | |
|     }
 | |
|     
 | |
|     
 | |
| }
 |