Player: GKGameModelPlayer { }
GameScene: SKNode {
var board = Board ( )
var strategy: GKMontaCarloStrategist?
override didMove(to view: SKView) {
self.strategist = GKMonteCarloStrategist ( ) // object strategist call func1 , func2 and func3 automatically
let playerA = Player ( )
let playerB = Player ( )
self.board = [ playerA , playerB ] as [ GKGameModelPlayer] }
oveeride touchBegan(touches: Set<UITouch>, event: UIEvent?) {
self.board.activePlayer = board . opponent( board.activePlayer!) }
override update ( delta: TimeInterval) {
self.board.activePlayer = board . opponent(board.activePlayer!) } }
Board: GKGameModel {
var activePlayer: GKGameModelPlayer?
var players: [ GKGameModelPlayer] ?
func1 setGameModel( ) {. }
func2 gameModelUpdates ( ) {
guard let players = self.players else{ fatalError( " players nil") } / / appear" fatal error: players nil"
self.getMoves( ) }
func3 apply( GKGameModelUpdate) { }
func getMoves ( )
func opponent( GKGameModelPlayer ) }
i don`t know why appear "fatal error : players nil"
this is the sample of my entity code, when implement appear" fatal error : players nil", i don`t know why the assigned variable players of Board is nil. thanks for your appriciation.