From 0b27a3ff6715f3636b7bd0a1b39aeebb7b09740e Mon Sep 17 00:00:00 2001 From: Mathieu GROUSSEAU Date: Sat, 11 Jan 2025 12:01:29 +0100 Subject: [PATCH] Piece, WIP Board featuring XCode & MacOS unusability --- .gitignore | 1 + Connect 4.xcworkspace/contents.xcworkspacedata | 3 +++ Model/Sources/Model/Board.swift | 14 ++++++++++++++ Model/Sources/Model/Model.swift | 6 ------ Model/Sources/Model/Piece.swift | 3 +++ 5 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 Model/Sources/Model/Board.swift delete mode 100644 Model/Sources/Model/Model.swift create mode 100644 Model/Sources/Model/Piece.swift diff --git a/.gitignore b/.gitignore index 1a958e0..00a63c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +# MacOS .DS_Store # ---> Swift diff --git a/Connect 4.xcworkspace/contents.xcworkspacedata b/Connect 4.xcworkspace/contents.xcworkspacedata index 6b10ec5..4323c1d 100644 --- a/Connect 4.xcworkspace/contents.xcworkspacedata +++ b/Connect 4.xcworkspace/contents.xcworkspacedata @@ -1,6 +1,9 @@ + + diff --git a/Model/Sources/Model/Board.swift b/Model/Sources/Model/Board.swift new file mode 100644 index 0000000..bbefdc2 --- /dev/null +++ b/Model/Sources/Model/Board.swift @@ -0,0 +1,14 @@ +public struct Board { + var grid: [[Piece?]] + + public init(width: Int, height: Int) throws { + // guard width > 0, height > 0 else { + // // TODO: Swift std error? + // } + self.init(grid: Array(repeating: Array(repeating: nil, count: height), count: width)) + } + + public init(grid: [[Piece?]]) { + self.grid = grid + } +} diff --git a/Model/Sources/Model/Model.swift b/Model/Sources/Model/Model.swift deleted file mode 100644 index c88e2a8..0000000 --- a/Model/Sources/Model/Model.swift +++ /dev/null @@ -1,6 +0,0 @@ -public struct Model { - public private(set) var text = "Hello, World!" - - public init() { - } -} diff --git a/Model/Sources/Model/Piece.swift b/Model/Sources/Model/Piece.swift new file mode 100644 index 0000000..9bb3089 --- /dev/null +++ b/Model/Sources/Model/Piece.swift @@ -0,0 +1,3 @@ +public enum Piece { + case Player1, Player2 +}