Код Swift запускается только тогда, когда он не должен, даже если он инкапсулирован внутри оператора if.

Извините за глупый вопрос, я пытался написать игру SwiftUI, которая отображает «X», когда пользователь касается экрана во время своего хода, и «O», если это не указанная очередь пользователя. Это часть моего кода, которая вызывает у меня проблемы (я уже объявил все переменные, которые использую в другой части моего кода, которую я не буду отправлять сюда, поскольку это было бы бесполезно):

      ZStack(content: {
                    RoundedRectangle(cornerRadius: 12.0, style: .continuous)
                        .aspectRatio(contentMode: .fit)
                        .foregroundColor(Color(UIColor.systemGroupedBackground))
                        .onTapGesture {
                            if mark == nil {
                                nextPlayerTwoMarkPosition = Int.random(in: 1...10)
                                if whoseTurnIsIt == "user" {
                                    mark = "xmark"
                                    whoseTurnIsIt = "device"
                                } else {
                                    if nextDeviceMarkPosition == 1 {
                                        mark = "circle"
                                        whoseTurnIsIt = "user"
                                    }
                                }
                            }
                        }
                    Image(systemName: mark ?? "")
                })

Это только кажется, что позволяет устройству отмечать квадрат после того, как игрок нажал на него, даже если это был не его ход. Я пытаюсь найти решение, как заставить устройство отмечать случайный квадрат (всего их 9) во время своего хода.

0 ответов

Другие вопросы по тегам