From 2de681284d34ab3efb933d1afbe5d4d81a78512d Mon Sep 17 00:00:00 2001 From: Nathan Date: Tue, 28 May 2024 15:46:46 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add:=20gamesScene?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DouShouQi_App/Views/Scene/GameScene.swift | 69 +++++++++++++++++++ .../Scene}/SpriteMeeple.swift | 0 2 files changed, 69 insertions(+) create mode 100644 DouShouQi_App/DouShouQi_App/Views/Scene/GameScene.swift rename DouShouQi_App/DouShouQi_App/{ClassMeeple => Views/Scene}/SpriteMeeple.swift (100%) diff --git a/DouShouQi_App/DouShouQi_App/Views/Scene/GameScene.swift b/DouShouQi_App/DouShouQi_App/Views/Scene/GameScene.swift new file mode 100644 index 0000000..a05038c --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/Views/Scene/GameScene.swift @@ -0,0 +1,69 @@ +// +// GameScene.swift +// DouShouQi_App +// +// Created by etudiant on 28/05/2024. +// + +import Foundation +import SpriteKit +import DouShouQiModel + +class GameScene : SKScene { + var game: Game = try! Game(withRules: ClassicRules(), andPlayer1: RandomPlayer(withName: "Rayhan", andId: .player1)!, andPlayer2: RandomPlayer(withName: "Rémi", andId: .player2)!) + + let pieces: [Owner : [Animal:SpriteMeeple]] = [ + .player1: [ + .rat: SpriteMeeple(imageNamed: "rat", size: CGSize(width: 100, height: 100), backgroundColor: .black), + .cat: SpriteMeeple(imageNamed: "cat", size: CGSize(width: 100, height: 100), backgroundColor: .black), + .dog: SpriteMeeple(imageNamed: "dog", size: CGSize(width: 100, height: 100), backgroundColor: .black), + .wolf: SpriteMeeple(imageNamed: "wolf", size: CGSize(width: 100, height: 100), backgroundColor: .black), + .leopard: SpriteMeeple(imageNamed: "leopard", size: CGSize(width: 100, height: 100), backgroundColor: .black), + .lion: SpriteMeeple(imageNamed: "lion", size: CGSize(width: 100, height: 100), backgroundColor: .black), + .tiger: SpriteMeeple(imageNamed: "tiger", size: CGSize(width: 100, height: 100), backgroundColor: .black), + .elephant: SpriteMeeple(imageNamed: "elephant", size: CGSize(width: 100, height: 100), backgroundColor: .black), + ], + .player2: [ + .rat: SpriteMeeple(imageNamed: "rat-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + .cat: SpriteMeeple(imageNamed: "cat-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + .dog: SpriteMeeple(imageNamed: "dog-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + .wolf: SpriteMeeple(imageNamed: "wolf-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + .leopard: SpriteMeeple(imageNamed: "leopard-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + .lion: SpriteMeeple(imageNamed: "lion-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + .tiger: SpriteMeeple(imageNamed: "tiger-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + .elephant: SpriteMeeple(imageNamed: "elephant-inv", size: CGSize(width: 100, height: 100), backgroundColor: .blue), + ], + ] + + let imageBoard: SKSpriteNode = SKSpriteNode(imageNamed: "board") + + override init(size: CGSize) { + super.init(size: size) + imageBoard.size = size + self.scaleMode = .aspectFit + self.anchorPoint = CGPoint(x: 0.5, y: 0.5) + self.backgroundColor = .yellow + + self.addChild(imageBoard) + + for piece in pieces.flatMap({owner, pieces in pieces.values}) { + self.addChild(piece) + } + + displayBoard(game.board) + } + + func displayBoard(_ board: Board) { + for row in 0..