diff --git a/.DS_Store b/.DS_Store index e5e7318..0686c38 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj index 2e2564b..c3747c0 100644 --- a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj +++ b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj @@ -10,9 +10,6 @@ 16038A272C197B800074346E /* FlagManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16038A262C197B800074346E /* FlagManager.swift */; }; 161A8E932C2055EA00D1ADFE /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161A8E922C2055EA00D1ADFE /* Placeholder.swift */; }; 165725EA2C1984CC0052D7EF /* FontManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 165725E92C1984CC0052D7EF /* FontManager.swift */; }; - 165725F22C1985920052D7EF /* nuku1.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 165725F02C1985920052D7EF /* nuku1.ttf */; }; - 16FA058C2C1C14F50042D688 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 16FA058A2C1C14F50042D688 /* Localizable.strings */; }; - 16FA05902C1C14FD0042D688 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 16FA058E2C1C14FD0042D688 /* Localizable.strings */; }; 16FA05922C1C154A0042D688 /* LanguagePickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16FA05912C1C154A0042D688 /* LanguagePickerView.swift */; }; 16FA05942C1C1A380042D688 /* Rules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16FA05932C1C1A380042D688 /* Rules.swift */; }; 16FA05962C1C1A5F0042D688 /* GameType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16FA05952C1C1A5F0042D688 /* GameType.swift */; }; @@ -28,6 +25,14 @@ C24659E52BF5FE09004E80D5 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24659E42BF5FE09004E80D5 /* MainMenu.swift */; }; C25220EE2C00AC7E0026B71F /* GameParametersMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */; }; C2A535D92C0F56A800503472 /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2A535D82C0F56A700503472 /* DSQ.xcframework */; }; + C2DF075B2C206EEF00BEE0E1 /* Stub.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2DF075A2C206EEF00BEE0E1 /* Stub.swift */; }; + C2DF07622C20719800BEE0E1 /* Magic.sks in Resources */ = {isa = PBXBuildFile; fileRef = C2DF075D2C20719800BEE0E1 /* Magic.sks */; }; + C2DF07632C20719800BEE0E1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C2DF075E2C20719800BEE0E1 /* Assets.xcassets */; }; + C2DF07642C20719800BEE0E1 /* Spark.sks in Resources */ = {isa = PBXBuildFile; fileRef = C2DF075F2C20719800BEE0E1 /* Spark.sks */; }; + C2DF07652C20719800BEE0E1 /* FireworkLaunch.sks in Resources */ = {isa = PBXBuildFile; fileRef = C2DF07602C20719800BEE0E1 /* FireworkLaunch.sks */; }; + C2DF07662C20719800BEE0E1 /* Fireworks.sks in Resources */ = {isa = PBXBuildFile; fileRef = C2DF07612C20719800BEE0E1 /* Fireworks.sks */; }; + C2DF076A2C2071B300BEE0E1 /* actionEndGame.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2DF07682C2071B300BEE0E1 /* actionEndGame.swift */; }; + C2DF076B2C2071B300BEE0E1 /* ActionRemove.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2DF07692C2071B300BEE0E1 /* ActionRemove.swift */; }; 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 */; }; @@ -41,7 +46,6 @@ C2F015242C09D3E7000F7221 /* ProfileComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0151B2C09D3E7000F7221 /* ProfileComponent.swift */; }; C2F015252C09D3E7000F7221 /* ItemCollectionParty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0151C2C09D3E7000F7221 /* ItemCollectionParty.swift */; }; C2F015262C09D3E7000F7221 /* ProfileEdit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0151D2C09D3E7000F7221 /* ProfileEdit.swift */; }; - C2F0152A2C09D420000F7221 /* Stub.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F015282C09D420000F7221 /* Stub.swift */; }; C2F0152B2C09D420000F7221 /* PartyEnregistery.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F015292C09D420000F7221 /* PartyEnregistery.swift */; }; /* End PBXBuildFile section */ @@ -88,6 +92,14 @@ C24659E42BF5FE09004E80D5 /* MainMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = ""; usesTabs = 0; }; C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameParametersMenuView.swift; sourceTree = ""; }; C2A535D82C0F56A700503472 /* DSQ.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DSQ.xcframework; path = ../NEPASTOUCHER/DSQ.xcframework; sourceTree = ""; }; + C2DF075A2C206EEF00BEE0E1 /* Stub.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stub.swift; sourceTree = ""; }; + C2DF075D2C20719800BEE0E1 /* Magic.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = Magic.sks; sourceTree = ""; }; + C2DF075E2C20719800BEE0E1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + C2DF075F2C20719800BEE0E1 /* Spark.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = Spark.sks; sourceTree = ""; }; + C2DF07602C20719800BEE0E1 /* FireworkLaunch.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = FireworkLaunch.sks; sourceTree = ""; }; + C2DF07612C20719800BEE0E1 /* Fireworks.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = Fireworks.sks; sourceTree = ""; }; + C2DF07682C2071B300BEE0E1 /* actionEndGame.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = actionEndGame.swift; sourceTree = ""; }; + C2DF07692C2071B300BEE0E1 /* ActionRemove.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionRemove.swift; 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 = ""; }; @@ -101,7 +113,6 @@ C2F0151B2C09D3E7000F7221 /* ProfileComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProfileComponent.swift; sourceTree = ""; }; C2F0151C2C09D3E7000F7221 /* ItemCollectionParty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemCollectionParty.swift; sourceTree = ""; }; C2F0151D2C09D3E7000F7221 /* ProfileEdit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProfileEdit.swift; sourceTree = ""; }; - C2F015282C09D420000F7221 /* Stub.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stub.swift; sourceTree = ""; }; C2F015292C09D420000F7221 /* PartyEnregistery.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PartyEnregistery.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -184,6 +195,8 @@ 82CE59E52C045C7500ADEE24 /* Game */ = { isa = PBXGroup; children = ( + C2DF07672C2071B300BEE0E1 /* SKActions */, + C2DF075C2C20719800BEE0E1 /* SKAnimations */, 82CE59EC2C0460AA00ADEE24 /* SKNodes */, 82CE59E82C045D1100ADEE24 /* GameScene.swift */, 82CE59EA2C045E3800ADEE24 /* GameView.swift */, @@ -224,6 +237,7 @@ C205A2B52BF373360097BD93 /* ArkitDoushiQi */ = { isa = PBXGroup; children = ( + C2DF07592C206EEF00BEE0E1 /* Data */, 16038A2A2C197DEC0074346E /* Info.plist */, C2F015072C09D366000F7221 /* Utils */, 82CE59E52C045C7500ADEE24 /* Game */, @@ -244,7 +258,7 @@ C2F015122C09D3E7000F7221 /* Components */, C2F0150D2C09D3C3000F7221 /* Enum */, C2F0150A2C09D3A4000F7221 /* EventTriggers */, - C25220EC2C00AC530026B71F /* Data */, + C25220EC2C00AC530026B71F /* GameParametersMenu */, C205A2BD2BF373380097BD93 /* Preview Assets.xcassets */, ); path = Views; @@ -267,12 +281,41 @@ path = ArkitDoushiQiUITests; sourceTree = ""; }; - C25220EC2C00AC530026B71F /* Data */ = { + C25220EC2C00AC530026B71F /* GameParametersMenu */ = { isa = PBXGroup; children = ( - C2F015282C09D420000F7221 /* Stub.swift */, ); - path = Data; + path = GameParametersMenu; + sourceTree = ""; + }; + C2DF07592C206EEF00BEE0E1 /* Data */ = { + isa = PBXGroup; + children = ( + C2DF075A2C206EEF00BEE0E1 /* Stub.swift */, + ); + name = Data; + path = Views/Data; + sourceTree = ""; + }; + C2DF075C2C20719800BEE0E1 /* SKAnimations */ = { + isa = PBXGroup; + children = ( + C2DF075D2C20719800BEE0E1 /* Magic.sks */, + C2DF075E2C20719800BEE0E1 /* Assets.xcassets */, + C2DF075F2C20719800BEE0E1 /* Spark.sks */, + C2DF07602C20719800BEE0E1 /* FireworkLaunch.sks */, + C2DF07612C20719800BEE0E1 /* Fireworks.sks */, + ); + path = SKAnimations; + sourceTree = ""; + }; + C2DF07672C2071B300BEE0E1 /* SKActions */ = { + isa = PBXGroup; + children = ( + C2DF07682C2071B300BEE0E1 /* actionEndGame.swift */, + C2DF07692C2071B300BEE0E1 /* ActionRemove.swift */, + ); + path = SKActions; sourceTree = ""; }; C2F015072C09D366000F7221 /* Utils */ = { @@ -442,10 +485,12 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 16FA05902C1C14FD0042D688 /* Localizable.strings in Resources */, C205A2BE2BF373380097BD93 /* Preview Assets.xcassets in Resources */, - 16FA058C2C1C14F50042D688 /* Localizable.strings in Resources */, - 165725F22C1985920052D7EF /* nuku1.ttf in Resources */, + C2DF07652C20719800BEE0E1 /* FireworkLaunch.sks in Resources */, + C2DF07642C20719800BEE0E1 /* Spark.sks in Resources */, + C2DF07662C20719800BEE0E1 /* Fireworks.sks in Resources */, + C2DF07622C20719800BEE0E1 /* Magic.sks in Resources */, + C2DF07632C20719800BEE0E1 /* Assets.xcassets in Resources */, C205A2BB2BF373380097BD93 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -472,7 +517,8 @@ buildActionMask = 2147483647; files = ( C2F015112C09D3C3000F7221 /* AI.swift in Sources */, - C2F0152A2C09D420000F7221 /* Stub.swift in Sources */, + C2DF075B2C206EEF00BEE0E1 /* Stub.swift in Sources */, + C2DF076B2C2071B300BEE0E1 /* ActionRemove.swift in Sources */, C2F015252C09D3E7000F7221 /* ItemCollectionParty.swift in Sources */, 82CE59EF2C0460E500ADEE24 /* SpriteMoople.swift in Sources */, C2F0150C2C09D3A4000F7221 /* KeyboardReadable.swift in Sources */, @@ -492,6 +538,7 @@ C2F015222C09D3E7000F7221 /* PhotoButtonComponent.swift in Sources */, C2F015092C09D366000F7221 /* LanguageSettings.swift in Sources */, 16FA05922C1C154A0042D688 /* LanguagePickerView.swift in Sources */, + C2DF076A2C2071B300BEE0E1 /* actionEndGame.swift in Sources */, 82CE59EB2C045E3800ADEE24 /* GameView.swift in Sources */, C2F0152B2C09D420000F7221 /* PartyEnregistery.swift in Sources */, C2F015102C09D3C3000F7221 /* Language.swift in Sources */, diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json new file mode 100644 index 0000000..8e9b4dc --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "bokeh.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png new file mode 100644 index 0000000..c680551 Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json new file mode 100644 index 0000000..5fdc9ea --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "spark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png new file mode 100644 index 0000000..3383a21 Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/Contents.json index e5d476d..9d86df1 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/Contents.json +++ b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "board.png", + "filename" : "Group 1-2.png", "idiom" : "universal", "scale" : "1x" }, diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/Group 1-2.png b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/Group 1-2.png new file mode 100644 index 0000000..570bb75 Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/Group 1-2.png differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/board.png b/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/board.png deleted file mode 100644 index faea3d9..0000000 Binary files a/ArkitDoushiQi/ArkitDoushiQi/Assets.xcassets/images/board.imageset/board.png and /dev/null differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift b/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift index ee59e9d..b585ec1 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/GameScene.swift @@ -10,6 +10,7 @@ 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)!) @@ -39,6 +40,38 @@ class GameScene: SKScene { 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) + // -- -- // + + for c in pieces.flatMap({ _,values in return values }) + { + c.self.value.refGameScene = self + c.self.value.zPosition = 2 + self.addChild(c.self.value) + } + + displayBoard(board: game.board) + + } + init(size: CGSize, player1Name: String, player1Image: UIImage, player2Name: String, player2Image: UIImage) { self.player1Name = player1Name self.player1Image = player1Image @@ -60,14 +93,6 @@ class GameScene: SKScene { displayBoard(board: game.board) } - required init?(coder aDecoder: NSCoder) { - self.player1Name = "" - self.player1Image = UIImage() - self.player2Name = "" - self.player2Image = UIImage() - super.init(coder: aDecoder) - } - func displayBoard(board: Board) { for ligne 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) +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json new file mode 100644 index 0000000..8e9b4dc --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "bokeh.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png new file mode 100644 index 0000000..c680551 Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json new file mode 100644 index 0000000..5fdc9ea --- /dev/null +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "spark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png new file mode 100644 index 0000000..3383a21 Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png differ 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 new file mode 100644 index 0000000..a620a6d Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Fireworks.sks differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Magic.sks b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Magic.sks new file mode 100644 index 0000000..b7748bd Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Magic.sks differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Spark.sks b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Spark.sks new file mode 100644 index 0000000..a9dc8d7 Binary files /dev/null and b/ArkitDoushiQi/ArkitDoushiQi/Game/SKAnimations/Spark.sks differ diff --git a/ArkitDoushiQi/ArkitDoushiQi/Game/SKNodes/SpriteMoople.swift b/ArkitDoushiQi/ArkitDoushiQi/Game/SKNodes/SpriteMoople.swift index a566948..8069c17 100644 --- a/ArkitDoushiQi/ArkitDoushiQi/Game/SKNodes/SpriteMoople.swift +++ b/ArkitDoushiQi/ArkitDoushiQi/Game/SKNodes/SpriteMoople.swift @@ -38,12 +38,12 @@ class SpriteMoople : SKNode { override var isUserInteractionEnabled: Bool { - get { return true } - set {} - } + get { return refGameScene?.isGameOver == false } + set { } + } override func touchesBegan(_ touches: Set, with event: UIEvent?) { - + if isUserInteractionEnabled == false { return } let movePoss: [ Move ] = refGameScene!.game.rules.getMoves(in: refGameScene!.game.board,of:refGameScene!.game.rules.getNextPlayer(),fromRow: Int(self.cellPosition.x),andColumn: Int(self.cellPosition.y)) for pos in movePoss { let rect = SKShapeNode(rectOf: CGSize(width: 90, height: 90)) @@ -56,10 +56,12 @@ class SpriteMoople : SKNode { } override func touchesMoved(_ touches: Set, with event: UIEvent?) { + if isUserInteractionEnabled == false { return } self.position = touches.first?.location(in: parent!) ?? CGPoint(x: 0, y: 0) } override func touchesEnded(_ touches: Set, with event: UIEvent?) { + if isUserInteractionEnabled == false { return } let localisation = touches.first?.location(in: parent!) // Clean rect