Player: GKGameModelPlayer { } GameScene: SKScene {
Board: GKGameModel { var board = Board( )
var players: [GKGameModelPlayer] ? var strategy: GKMonteCarloStrategist?
var activePlayer: GKGameModelPlayer? override func didMove( to view: SKView) {
func1 setGameModel(gameModel: GKGameModel) { } self.strtegy = GKMonteCarloStrategist( ) / /call func1, func2 and func3
func2 gameModelUpdates( for player: GKGameModelPlayer) { let playerA = Player( ) automatically
guard let players = self.players else { fatalError("players nil")} let playerB = Player ()
/ / appear "fatal error: players nil " self.board.players = [ playerA , playerB] as [ GKGameModelPlayer] }
if self.activePlayer.playerID == self.players![0].playerID{ override func touchBegan(touches: Set<UITouch>, event: UIEvent?){
self.getMoves( ) } self.activePlayer = board.opponent(self.activePlayer!) }
func3 apply(gameModelUpdate: GKGameModelUpdate){ } overide func update( delta: TimeInterval) {
func getMoves ( ) { } self.activePlayer = board.opponent(self.activePlayer!) }. }
func opponent( GKGameModelPlayer) { }
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.