|
|
|
@ -12,22 +12,26 @@ import DouShouQiModel
|
|
|
|
|
class GameScene : SKScene {
|
|
|
|
|
|
|
|
|
|
let imageBoard:SKSpriteNode = SKSpriteNode(imageNamed: "board")
|
|
|
|
|
var game:Game = try! Game(withRules: VerySimpleRules(), andPlayer1: Player(withName: "x", andId: .player1)!, andPlayer2: Player(withName: "y", andId: .player2)!)
|
|
|
|
|
var game:Game = try! Game(withRules: ClassicRules(), andPlayer1: Player(withName: "x", andId: .player1)!, andPlayer2: Player(withName: "y", andId: .player2)!)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var pieces: [Owner : [SpriteMoople]] = [ .player1 : [ SpriteMoople(nameImage: "catMeeple", couleur: .red),
|
|
|
|
|
SpriteMoople(nameImage: "dogMeeple", couleur: .red),
|
|
|
|
|
SpriteMoople(nameImage: "leopardMeeple", couleur: .red),
|
|
|
|
|
SpriteMoople(nameImage: "lionMeeple", couleur: .red),
|
|
|
|
|
SpriteMoople(nameImage: "ratMeeple", couleur: .red),
|
|
|
|
|
SpriteMoople(nameImage: "wolfMeeple", couleur: .red)],
|
|
|
|
|
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 : [ SpriteMoople(nameImage: "catMeeple", couleur: .blue),
|
|
|
|
|
SpriteMoople(nameImage: "dogMeeple", couleur: .blue),
|
|
|
|
|
SpriteMoople(nameImage: "leopardMeeple", couleur: .blue),
|
|
|
|
|
SpriteMoople(nameImage: "lionMeeple", couleur: .blue),
|
|
|
|
|
SpriteMoople(nameImage: "ratMeeple", couleur: .blue),
|
|
|
|
|
SpriteMoople(nameImage: "wolfMeeple", couleur: .blue)]]
|
|
|
|
|
.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)]]
|
|
|
|
|
|
|
|
|
|
override init(size: CGSize) {
|
|
|
|
|
super.init(size: size)
|
|
|
|
@ -40,17 +44,20 @@ class GameScene : SKScene {
|
|
|
|
|
|
|
|
|
|
for c in pieces.flatMap({ _,values in return values })
|
|
|
|
|
{
|
|
|
|
|
self.addChild(c)
|
|
|
|
|
self.addChild(c.self.value)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
displayBoard(board: game.board)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func displayBoard(board:Board){
|
|
|
|
|
for ligne in 0...board.grid.count {
|
|
|
|
|
for col in 0...board.grid[ligne].count {
|
|
|
|
|
if cellule = board.grid[ligne][col] {
|
|
|
|
|
|
|
|
|
|
for ligne in 0..<board.grid.count {
|
|
|
|
|
for col in 0..<board.grid[ligne].count {
|
|
|
|
|
if let piece = board.grid[ligne][col].piece {
|
|
|
|
|
if let element = pieces[piece.owner]![piece.animal]{
|
|
|
|
|
element.cellPosition = CGPoint(x: ligne, y: col)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|