diff --git a/src/LittleTown.Core/BoardAggregate/Board.cs b/src/LittleTown.Core/Aggregates/BoardAggregate/Board.cs
similarity index 100%
rename from src/LittleTown.Core/BoardAggregate/Board.cs
rename to src/LittleTown.Core/Aggregates/BoardAggregate/Board.cs
diff --git a/src/LittleTown.Core/BoardAggregate/Tile.cs b/src/LittleTown.Core/Aggregates/BoardAggregate/Tile.cs
similarity index 100%
rename from src/LittleTown.Core/BoardAggregate/Tile.cs
rename to src/LittleTown.Core/Aggregates/BoardAggregate/Tile.cs
diff --git a/src/LittleTown.Core/MatchAggregate/Match.cs b/src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs
similarity index 100%
rename from src/LittleTown.Core/MatchAggregate/Match.cs
rename to src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs
diff --git a/src/LittleTown.Core/PlayerZone/Objective.cs b/src/LittleTown.Core/Aggregates/PlayerZone/Objective.cs
similarity index 100%
rename from src/LittleTown.Core/PlayerZone/Objective.cs
rename to src/LittleTown.Core/Aggregates/PlayerZone/Objective.cs
diff --git a/src/LittleTown.Core/PlayerZone/PlayerZone.cs b/src/LittleTown.Core/Aggregates/PlayerZone/PlayerZone.cs
similarity index 100%
rename from src/LittleTown.Core/PlayerZone/PlayerZone.cs
rename to src/LittleTown.Core/Aggregates/PlayerZone/PlayerZone.cs
diff --git a/src/LittleTown.Core/PortInterfaces/IStaticDataGetter.cs b/src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs
similarity index 100%
rename from src/LittleTown.Core/PortInterfaces/IStaticDataGetter.cs
rename to src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs
diff --git a/src/LittleTown.Core/MatchAggregate/Actions/EmptyAction.cs b/src/LittleTown.Core/UseCases/Actions/EmptyAction.cs
similarity index 80%
rename from src/LittleTown.Core/MatchAggregate/Actions/EmptyAction.cs
rename to src/LittleTown.Core/UseCases/Actions/EmptyAction.cs
index 44ad979..39d7471 100644
--- a/src/LittleTown.Core/MatchAggregate/Actions/EmptyAction.cs
+++ b/src/LittleTown.Core/UseCases/Actions/EmptyAction.cs
@@ -12,4 +12,10 @@ public class EmptyAction : IAction
match.NextPlayer();
}
+
+ ///
+ public bool CanExecute(Match match)
+ {
+ return true;
+ }
}
\ No newline at end of file
diff --git a/src/LittleTown.Core/UseCases/Actions/FieldAction.cs b/src/LittleTown.Core/UseCases/Actions/FieldAction.cs
new file mode 100644
index 0000000..1f76df6
--- /dev/null
+++ b/src/LittleTown.Core/UseCases/Actions/FieldAction.cs
@@ -0,0 +1,19 @@
+namespace LittleTown.Core.Actions;
+
+///
+/// Action qui consiste a poser un pion sur le une case du plateau
+///
+public class FieldAction : IAction
+{
+ /// >
+ public void Execute(Match match)
+ {
+ throw new NotImplementedException();
+ }
+
+ /// >
+ public bool CanExecute(Match match)
+ {
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/src/LittleTown.Core/MatchAggregate/Actions/IAction.cs b/src/LittleTown.Core/UseCases/Actions/IAction.cs
similarity index 63%
rename from src/LittleTown.Core/MatchAggregate/Actions/IAction.cs
rename to src/LittleTown.Core/UseCases/Actions/IAction.cs
index 000e31a..f5d9286 100644
--- a/src/LittleTown.Core/MatchAggregate/Actions/IAction.cs
+++ b/src/LittleTown.Core/UseCases/Actions/IAction.cs
@@ -10,4 +10,11 @@ public interface IAction
///
/// le match a modifier avec cette action
public void Execute(Match match);
+
+ ///
+ /// Verifier si cette action peut être effectuée, si elle est légale
+ ///
+ ///
+ ///
+ public bool CanExecute(Match match);
}
\ No newline at end of file