diff --git a/source/Trek-12/Models/Events/GameEndedEventArgs.cs b/source/Trek-12/Models/Events/GameEndedEventArgs.cs
new file mode 100644
index 0000000..5c53a2e
--- /dev/null
+++ b/source/Trek-12/Models/Events/GameEndedEventArgs.cs
@@ -0,0 +1,12 @@
+using Models.Game;
+namespace Models.Events;
+
+public class GameEndedEventArgs : EventArgs
+{
+ public Player CurrentPlayer { get; }
+
+ public GameEndedEventArgs(Player winner)
+ {
+ CurrentPlayer = winner;
+ }
+}
\ No newline at end of file
diff --git a/source/Trek-12/Models/Events/GameStartedEventArgs.cs b/source/Trek-12/Models/Events/GameStartedEventArgs.cs
index 4006df9..a35389d 100644
--- a/source/Trek-12/Models/Events/GameStartedEventArgs.cs
+++ b/source/Trek-12/Models/Events/GameStartedEventArgs.cs
@@ -9,14 +9,4 @@ public class GameStartedEventArgs : EventArgs
{
CurrentPlayer = selectedPlayer;
}
-}
-
-public class GameEndedEventArgs : EventArgs
-{
- public Player CurrentPlayer { get; }
-
- public GameEndedEventArgs(Player winner)
- {
- CurrentPlayer = winner;
- }
}
\ No newline at end of file
diff --git a/source/Trek-12/Models/Game/Game.cs b/source/Trek-12/Models/Game/Game.cs
index da7a179..591c362 100644
--- a/source/Trek-12/Models/Game/Game.cs
+++ b/source/Trek-12/Models/Game/Game.cs
@@ -45,6 +45,17 @@ namespace Models.Game
Dice2.Roll();
}
+ ///
+ /// Performs an operation on the values of two dice based on the provided operation.
+ ///
+ /// The operation to perform. This can be LOWER, HIGHER, SUBTRACTION, ADDITION, or MULTIPLICATION.
+ ///
+ /// The result of the operation. If the operation is LOWER or HIGHER, it returns the lower or higher value of the two dice respectively.
+ /// If the operation is SUBTRACTION, it returns the difference between the higher and lower value of the two dice.
+ /// If the operation is ADDITION, it returns the sum of the values of the two dice.
+ /// If the operation is MULTIPLICATION, it returns the product of the values of the two dice.
+ /// If the operation is not one of the operations, it throws an ArgumentOutOfRangeException.
+ ///
public int ResultOperation(Operation o)
{
switch (o)
@@ -65,7 +76,7 @@ namespace Models.Game
return Dice2.Value * Dice1.Value;
default:
- return 0;
+ throw new ArgumentOutOfRangeException();
}
}
@@ -111,13 +122,16 @@ namespace Models.Game
}
}
+ ///
+ /// Initializes the game.
+ ///
public void InitializeGame()
{
_isRunning = true;
GameStarted?.Invoke(this, new GameStartedEventArgs(CurrentPlayer));
-
GameLoop();
}
+
private async void GameLoop()
{