|
|
@ -11,79 +11,48 @@ import SpriteKit
|
|
|
|
import SwiftUI
|
|
|
|
import SwiftUI
|
|
|
|
|
|
|
|
|
|
|
|
class GameScene : SKScene{
|
|
|
|
class GameScene : SKScene{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ObservedObject var gameVm : GameVM = GameVM(andPlayer1: Player(withName: "Meruemu", andId: .player1)!,
|
|
|
|
|
|
|
|
andPlayer2: Player(withName: "Kumogi", andId: .player2)!)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let imgBoard : SKSpriteNode = SKSpriteNode(imageNamed: "BoardImg")
|
|
|
|
let imgBoard : SKSpriteNode = SKSpriteNode(imageNamed: "BoardImg")
|
|
|
|
let defaultSize : CGSize = CGSize(width: 120, height: 120)
|
|
|
|
let defaultSize : CGSize = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
|
|
|
|
var game : Game = try! Game(withRules: ClassicRules(),
|
|
|
|
var game : Game = try! Game(withRules: ClassicRules(),
|
|
|
|
andPlayer1: Player(withName: "Meruemu", andId: .player1)!,
|
|
|
|
andPlayer1: Player(withName: "Meruemu", andId: .player1)!,
|
|
|
|
andPlayer2: Player(withName: "Kumogi", andId: .player2)!)
|
|
|
|
andPlayer2: Player(withName: "Kumogi", andId: .player2)!)
|
|
|
|
|
|
|
|
|
|
|
|
let pieces : [ Owner : [Animal : SpriteMeeple]] =
|
|
|
|
// let pieces : [ Owner : [Animal : SpriteMeeple]] =
|
|
|
|
[ .player1 : [
|
|
|
|
// [
|
|
|
|
.rat : SpriteMeeple(imageName: "RatMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .player1 : [
|
|
|
|
.cat : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .rat : SpriteMeeple(imageName: "RatMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
.dog : SpriteMeeple(imageName: "DogoMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .cat : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
.wolf : SpriteMeeple(imageName: "WolfMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .dog : SpriteMeeple(imageName: "DogoMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
.leopard : SpriteMeeple(imageName: "LeoMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .wolf : SpriteMeeple(imageName: "WolfMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
.tiger : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .leopard : SpriteMeeple(imageName: "LeoMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
.lion : SpriteMeeple(imageName: "LionMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .tiger : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
.elephant : SpriteMeeple(imageName: "ElphMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
// .lion : SpriteMeeple(imageName: "LionMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
],
|
|
|
|
// .elephant : SpriteMeeple(imageName: "ElphMeeple", size: CGSize(width: 120, height: 120), color: Color.player1),
|
|
|
|
|
|
|
|
// ],
|
|
|
|
.player2: [
|
|
|
|
//
|
|
|
|
.rat : SpriteMeeple(imageName: "RatMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .player2: [
|
|
|
|
.cat : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .rat : SpriteMeeple(imageName: "RatMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
.dog : SpriteMeeple(imageName: "DogoMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .cat : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
.wolf : SpriteMeeple(imageName: "WolfMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .dog : SpriteMeeple(imageName: "DogoMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
.leopard : SpriteMeeple(imageName: "LeoMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .wolf : SpriteMeeple(imageName: "WolfMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
.tiger : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .leopard : SpriteMeeple(imageName: "LeoMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
.lion : SpriteMeeple(imageName: "LionMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .tiger : SpriteMeeple(imageName: "CatMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
.elephant : SpriteMeeple(imageName: "ElphMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
// .lion : SpriteMeeple(imageName: "LionMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
]
|
|
|
|
// .elephant : SpriteMeeple(imageName: "ElphMeeple", size: CGSize(width: 120, height: 120), color: Color.player2),
|
|
|
|
]
|
|
|
|
// ]
|
|
|
|
|
|
|
|
// ]
|
|
|
|
|
|
|
|
|
|
|
|
override init(size s: CGSize){
|
|
|
|
override init(size s: CGSize){
|
|
|
|
super.init(size: s)
|
|
|
|
super.init(size: s)
|
|
|
|
self.addChild(imgBoard)
|
|
|
|
self.addChild(imgBoard)
|
|
|
|
|
|
|
|
|
|
|
|
self.displayBoard(game.board)
|
|
|
|
self.displayBoard(game.board)
|
|
|
|
/*
|
|
|
|
|
|
|
|
let cat = SpriteMeeple(imageName: "CatMeeple")
|
|
|
|
|
|
|
|
cat.position = CGPoint(x: 300, y: 200)
|
|
|
|
|
|
|
|
cat.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
self.addChild(cat)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let rat = SpriteMeeple(imageName: "RatMeeple")
|
|
|
|
|
|
|
|
rat.position = CGPoint(x: 200, y: 100)
|
|
|
|
|
|
|
|
rat.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
self.addChild(rat)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let dog = SpriteMeeple(imageName: "DogoMeeple")
|
|
|
|
|
|
|
|
dog.position = CGPoint(x: 200, y: 300)
|
|
|
|
|
|
|
|
dog.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
self.addChild(dog)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let cat2 = SpriteMeeple(imageName: "CatMeeple")
|
|
|
|
|
|
|
|
cat2.position = CGPoint(x: 300, y: -200)
|
|
|
|
|
|
|
|
cat2.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
self.addChild(cat2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let rat2 = SpriteMeeple(imageName: "RatMeeple")
|
|
|
|
|
|
|
|
rat2.position = CGPoint(x: 200, y: -100)
|
|
|
|
|
|
|
|
rat2.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
self.addChild(rat2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let dog2 = SpriteMeeple(imageName: "DogoMeeple")
|
|
|
|
|
|
|
|
dog2.position = CGPoint(x: 200, y: -300)
|
|
|
|
|
|
|
|
dog2.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
self.addChild(dog2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let wolf = SpriteMeeple(imageName: "WolfMeeple")
|
|
|
|
|
|
|
|
wolf.position = CGPoint(x: 300, y: 0)
|
|
|
|
|
|
|
|
wolf.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
|
|
|
|
self.addChild(wolf)
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.scaleMode = .aspectFit
|
|
|
|
self.scaleMode = .aspectFit
|
|
|
|
self.anchorPoint = CGPoint(x: 0.5, y:0.5)
|
|
|
|
self.anchorPoint = CGPoint(x: 0.5, y:0.5)
|
|
|
@ -93,9 +62,9 @@ class GameScene : SKScene{
|
|
|
|
for row in 0..<board.nbRows{
|
|
|
|
for row in 0..<board.nbRows{
|
|
|
|
for col in 0..<board.nbColumns{
|
|
|
|
for col in 0..<board.nbColumns{
|
|
|
|
if let p = board.grid[row][col].piece{
|
|
|
|
if let p = board.grid[row][col].piece{
|
|
|
|
pieces[p.owner]?[p.animal]?.cellPosition = CGPoint(x: row, y: col);
|
|
|
|
gameVm.pieces[p.owner]?[p.animal]?.cellPosition = CGPoint(x: row, y: col);
|
|
|
|
pieces[p.owner]?[p.animal]?.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
gameVm.pieces[p.owner]?[p.animal]?.imageNode.size = CGSize(width: 120, height: 120)
|
|
|
|
self.addChild(pieces[p.owner]![p.animal]!);
|
|
|
|
self.addChild(gameVm.pieces[p.owner]![p.animal]!);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|