У меня есть функция ниже. Я застрял, потому что моя функция не сбрасывается, поэтому моя колода карт никогда не сбрасывается, и игра просто продолжает идти, никогда не увеличивая счет. Я все еще не настолько опытен в Swift, поэтому любая помощь с этим будет благодарна.
func chooseCard(at index: Int) {
assert(Round.Dealt.indices.contains(index), "SetRound.chooseCard(at: \(index)): chosen index not in the dealt cards array")
Round.Dealt[index].selected = true
var setItemCount: Int = 0
var First: Card = Card()
var Second: Card = Card()
var Third: Card = Card()
for Candidate in Round.Dealt {
if Candidate.selected { // If the candidate is part of a match
setItemCount += 1 // Count cards found
if (setItemCount == 1) { // First one found?
First = Candidate // Capture it
}
if (setItemCount == 2) { // Second one found?
Second = Candidate // Capture it
}
if (setItemCount == 3) { // Third one found?
Third = Candidate // Capture it
}
// assert(setItemCount < 4, "SetRound.chooseCard(at: \(index)): caused more then three cards to be selected")
}
}
if (setItemCount == 3) { // If picked three, see if a match
if (Round.SetMatch(FirstCard: &First, SecondCard: &Second, ThirdCard: &Third)) {
// assert(Round.RemoveMatchSet(),"SetRound.chooseCard could not remove a matched set")
//assert(Round.Deal(NumberOfCards: setItemCount),"Set.chooseCard ran out of cards")
} else { // Not a match, deselect all of them
First.selected = false
Second.selected = false
Third.selected = false
}
setItemCount = 0
}
// reset.chooseCard
}