diff --git a/.DS_Store b/.DS_Store index ca7d508..0686c38 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift b/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift index d4f16e5..b585ec1 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift @@ -8,76 +8,100 @@ import Foundation import SpriteKit import DouShouQiModel + +class GameScene: SKScene { + var isGameOver = false + let imageBoard: SKSpriteNode = SKSpriteNode(imageNamed: "board") + var game: Game = try! Game(withRules: ClassicRules(), andPlayer1: HumanPlayer(withName: "Bot1", andId: .player1)!, andPlayer2: RandomPlayer(withName: "Bot2", andId: .player2)!) - class GameScene: SKScene { - var isGameOver = false - let imageBoard: SKSpriteNode = SKSpriteNode(imageNamed: "board") - var game: Game = try! Game(withRules: ClassicRules(), andPlayer1: HumanPlayer(withName: "Bot1", andId: .player1)!, andPlayer2: RandomPlayer(withName: "Bot2", andId: .player2)!) - - var player1Name: String - var player1Image: UIImage - var player2Name: String - var player2Image: UIImage - - var pieces: [Owner: [Animal: SpriteMoople]] = [ - .player1: [.cat: SpriteMoople(nameImage: "catMeeple", couleur: .red), - .dog: SpriteMoople(nameImage: "dogMeeple", couleur: .red), - .leopard: SpriteMoople(nameImage: "leopardMeeple", couleur: .red), - .lion: SpriteMoople(nameImage: "lionMeeple", couleur: .red), - .rat: SpriteMoople(nameImage: "ratMeeple", couleur: .red), - .wolf: SpriteMoople(nameImage: "wolfMeeple", couleur: .red), - .elephant: SpriteMoople(nameImage: "elephantMeeple", couleur: .red), - .tiger: SpriteMoople(nameImage: "tigerMeeple", couleur: .red)], - .player2: [.cat: SpriteMoople(nameImage: "catMeeple", couleur: .blue), - .dog: SpriteMoople(nameImage: "dogMeeple", couleur: .blue), - .leopard: SpriteMoople(nameImage: "leopardMeeple", couleur: .blue), - .lion: SpriteMoople(nameImage: "lionMeeple", couleur: .blue), - .rat: SpriteMoople(nameImage: "ratMeeple", couleur: .blue), - .wolf: SpriteMoople(nameImage: "wolfMeeple", couleur: .blue), - .elephant: SpriteMoople(nameImage: "elephantMeeple", couleur: .blue), - .tiger: SpriteMoople(nameImage: "tigerMeeple", couleur: .blue)] - ] - - var deplacementPossible: [SKShapeNode] = [] + var player1Name: String + var player1Image: UIImage + var player2Name: String + var player2Image: UIImage + + var pieces: [Owner: [Animal: SpriteMoople]] = [ + .player1: [.cat: SpriteMoople(nameImage: "catMeeple", couleur: .red), + .dog: SpriteMoople(nameImage: "dogMeeple", couleur: .red), + .leopard: SpriteMoople(nameImage: "leopardMeeple", couleur: .red), + .lion: SpriteMoople(nameImage: "lionMeeple", couleur: .red), + .rat: SpriteMoople(nameImage: "ratMeeple", couleur: .red), + .wolf: SpriteMoople(nameImage: "wolfMeeple", couleur: .red), + .elephant: SpriteMoople(nameImage: "elephantMeeple", couleur: .red), + .tiger: SpriteMoople(nameImage: "tigerMeeple", couleur: .red)], + .player2: [.cat: SpriteMoople(nameImage: "catMeeple", couleur: .blue), + .dog: SpriteMoople(nameImage: "dogMeeple", couleur: .blue), + .leopard: SpriteMoople(nameImage: "leopardMeeple", couleur: .blue), + .lion: SpriteMoople(nameImage: "lionMeeple", couleur: .blue), + .rat: SpriteMoople(nameImage: "ratMeeple", couleur: .blue), + .wolf: SpriteMoople(nameImage: "wolfMeeple", couleur: .blue), + .elephant: SpriteMoople(nameImage: "elephantMeeple", couleur: .blue), + .tiger: SpriteMoople(nameImage: "tigerMeeple", couleur: .blue)] + ] + + var deplacementPossible: [SKShapeNode] = [] + + required init?(coder aDecoder: NSCoder) { + self.player1Name = "" + self.player1Image = UIImage() + self.player2Name = "" + self.player2Image = UIImage() + super.init(coder: aDecoder) + } + + override init(size: CGSize) { + self.player1Name = "" + self.player1Image = UIImage() + self.player2Name = "" + self.player2Image = UIImage() + super.init(size: size) + // -- -- // + scaleMode = .aspectFit + anchorPoint = CGPoint(x: 0.5, y: 0.5) + imageBoard.zPosition = 0 + self.addChild(imageBoard) + // -- -- // - init(size: CGSize, player1Name: String, player1Image: UIImage, player2Name: String, player2Image: UIImage) { - self.player1Name = player1Name - self.player1Image = player1Image - self.player2Name = player2Name - self.player2Image = player2Image - super.init(size: size) - - scaleMode = .aspectFit - anchorPoint = CGPoint(x: 0.5, y: 0.5) - imageBoard.zPosition = 0 - self.addChild(imageBoard) - - for c in pieces.flatMap({ $0.value }) { - c.value.refGameScene = self - c.value.zPosition = 2 - self.addChild(c.value) - } - - displayBoard(board: game.board) + for c in pieces.flatMap({ _,values in return values }) + { + c.self.value.refGameScene = self + c.self.value.zPosition = 2 + self.addChild(c.self.value) } - required init?(coder aDecoder: NSCoder) { - self.player1Name = "" - self.player1Image = UIImage() - self.player2Name = "" - self.player2Image = UIImage() - super.init(coder: aDecoder) - } + displayBoard(board: game.board) - func displayBoard(board: Board) { - for ligne in 0..