diff --git a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj index 8f9dcf9..a75f232 100644 --- a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj +++ b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj @@ -27,6 +27,7 @@ C2DCC2BB2C19849A008AB78F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C2DCC2B92C19849A008AB78F /* Assets.xcassets */; }; C2DCC2BD2C19869B008AB78F /* Fireworks.sks in Resources */ = {isa = PBXBuildFile; fileRef = C2DCC2BC2C19869B008AB78F /* Fireworks.sks */; }; C2DCC2BF2C198702008AB78F /* actionEndGame.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2DCC2BE2C198702008AB78F /* actionEndGame.swift */; }; + C2E32ED52C1C24A800DD37B6 /* FireworkLaunch.sks in Resources */ = {isa = PBXBuildFile; fileRef = C2E32ED42C1C24A800DD37B6 /* FireworkLaunch.sks */; }; C2F015092C09D366000F7221 /* LanguageSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F015082C09D366000F7221 /* LanguageSettings.swift */; }; C2F0150C2C09D3A4000F7221 /* KeyboardReadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150B2C09D3A4000F7221 /* KeyboardReadable.swift */; }; C2F015102C09D3C3000F7221 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150E2C09D3C3000F7221 /* Language.swift */; }; @@ -87,6 +88,7 @@ C2DCC2B92C19849A008AB78F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; C2DCC2BC2C19869B008AB78F /* Fireworks.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = Fireworks.sks; sourceTree = ""; }; C2DCC2BE2C198702008AB78F /* actionEndGame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = actionEndGame.swift; sourceTree = ""; }; + C2E32ED42C1C24A800DD37B6 /* FireworkLaunch.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = FireworkLaunch.sks; sourceTree = ""; }; C2F015082C09D366000F7221 /* LanguageSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LanguageSettings.swift; sourceTree = ""; }; C2F0150B2C09D3A4000F7221 /* KeyboardReadable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardReadable.swift; sourceTree = ""; }; C2F0150E2C09D3C3000F7221 /* Language.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; @@ -267,6 +269,7 @@ C2DCC2B82C19849A008AB78F /* Magic.sks */, C2DCC2B92C19849A008AB78F /* Assets.xcassets */, C2DCC2BC2C19869B008AB78F /* Fireworks.sks */, + C2E32ED42C1C24A800DD37B6 /* FireworkLaunch.sks */, ); path = SKAnimations; sourceTree = ""; @@ -468,6 +471,7 @@ buildActionMask = 2147483647; files = ( C2DCC2BD2C19869B008AB78F /* Fireworks.sks in Resources */, + C2E32ED52C1C24A800DD37B6 /* FireworkLaunch.sks in Resources */, C205A2BE2BF373380097BD93 /* Preview Assets.xcassets in Resources */, C2DCC2BA2C19849A008AB78F /* Magic.sks in Resources */, C2DCC2B62C1980A9008AB78F /* Spark.sks in Resources */, diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/GameView.swift b/ArkitDoushiQi/ArkitDoushiQi/Game/GameView.swift index dbf77e5..e4b3db4 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Game/GameView.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/GameView.swift @@ -22,7 +22,7 @@ struct GameView: View { SpriteView(scene: gameScene).task { gameScene.game.addGameStartedListener { board in startGame()} - gameScene.game.addGameOverListener { board, result, player in gameOver(result: result) } + gameScene.game.addGameOverListener { board, result, player in gameOver(result: result) } gameScene.game.addGameChangedListener { game in gameChange() } gameScene.game.addBoardChangedListener { board in boardChange() } @@ -52,9 +52,23 @@ struct GameView: View { } func gameOver(result : Result) { print("Game over !") -// if(result) msg = "Game over ! " - actionEndGame(scene: gameScene) + switch result + { + case .winner(let winner, _): + switch winner { + case .player1: + msg = msg + "player 1 wins !" + case .player2: + msg = msg + "player 2 wins !" + default: + msg = msg + "equality !" + } + default: + msg="Game over !" + } +// foreach gameScene.pieces + actionEndGame(scene: gameScene,message: msg) } func gameChange() { print("Game change !") } diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKActions/actionEndGame.swift b/ArkitDoushiQi/ArkitDoushiQi/Game/SKActions/actionEndGame.swift index 5d724ae..7bd2c0b 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Game/SKActions/actionEndGame.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/SKActions/actionEndGame.swift @@ -8,35 +8,95 @@ import Foundation import SpriteKit -func actionEndGame(scene : SKScene) { +func actionEndGame(scene: SKScene, message: String) { let size = scene.size + var delay: TimeInterval = 0.0 for _ in 0..<5 { - // Créer un effet de particule pour les feux d'artifice - if let fireworkEmitter = SKEmitterNode(fileNamed: "Spark.sks") { - // Position aléatoire pour chaque feu d'artifice - let randomX = CGFloat.random(in: 0.. UIColor { - let red = CGFloat.random(in: 0...1) - let green = CGFloat.random(in: 0...1) - let blue = CGFloat.random(in: 0...1) - return UIColor(red: red, green: green, blue: blue, alpha: 1.0) + let red = CGFloat.random(in: 0...1) + let green = CGFloat.random(in: 0...1) + let blue = CGFloat.random(in: 0...1) + return UIColor(red: red, green: green, blue: blue, alpha: 1.0) } diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/FireworkLaunch.sks b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/FireworkLaunch.sks new file mode 100644 index 0000000..fa19c94 Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/FireworkLaunch.sks differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Fireworks.sks b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Fireworks.sks index b1333b8..a620a6d 100644 Binary files a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Fireworks.sks and b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Fireworks.sks differ