Inheritance Hierarchy
Drench.Logics Logic
Drench.Logics TwoPlayerLogic
Drench.Logics HumanVsAiLogic
Drench.Logics TwoHumanLogic
Namespace: Drench.Logics
Assembly: Drench (in Drench.exe) Version: 1.1.1.0 (1.1.1)
Syntax
The TwoPlayerLogic type exposes the following members.
Constructors
Name | Description | |
---|---|---|
TwoPlayerLogic(Board Data) | Initializes a new instance of the TwoPlayerLogic class | |
TwoPlayerLogic(Int32, Int32) | Initializes a new instance of the TwoPlayerLogic class |
Methods
Name | Description | |
---|---|---|
CheckForGameOver | (Inherited from Logic.) | |
GameOver | (Inherited from Logic.) | |
GetPlayerScore | (Inherited from Logic.) | |
GetPlayerTurnsTaken | (Inherited from Logic.) | |
MakeMove | (Inherited from Logic.) | |
Pass | (Inherited from Logic.) | |
Reset | (Inherited from Logic.) |
Fields
Name | Description | |
---|---|---|
homeSquares | (Inherited from Logic.) | |
turns | (Inherited from Logic.) |
Properties
Name | Description | |
---|---|---|
ActivePlayer | (Inherited from Logic.) | |
IsGameOver | (Inherited from Logic.) | |
LastPlayerPassed | (Inherited from Logic.) |
Events
Name | Description | |
---|---|---|
GameFinished | (Inherited from Logic.) |
Remarks
Examples
[Test] public void FirstMoveChangesTopLeftColorAndActivePlayer() { bool isGameFinished = false; logic.GameFinished += () => isGameFinished = true; logic.MakeMove(Color.Red); Assert.AreEqual(Color.Red, logic.Board.GetColor(0, 0)); Assert.IsFalse(isGameFinished); Assert.AreEqual(1, logic.ActivePlayer); Assert.AreEqual(1, logic.GetPlayerScore(0)); }
[Test] public void SecondMoveChangesBottomRightColorAndActivePlayer() { bool isGameFinished = false; logic.GameFinished += () => isGameFinished = true; logic.MakeMove(Color.Red); logic.MakeMove(Color.Green); Assert.AreEqual(Color.Green, logic.Board.GetColor(BoardTests.Width - 1, BoardTests.Height - 1)); Assert.IsFalse(isGameFinished); Assert.AreEqual(0, logic.ActivePlayer); Assert.AreEqual(1, logic.GetPlayerScore(1)); }
[Test] public void ThirdMoveChangesTopLeftColorAndActivePlayer() { bool isGameFinished = false; logic.GameFinished += () => isGameFinished = true; logic.MakeMove(Color.Red); logic.MakeMove(Color.Green); logic.MakeMove(Color.Purple); Assert.AreEqual(Color.Purple, logic.Board.GetColor(0, 0)); Assert.IsFalse(isGameFinished); Assert.AreEqual(1, logic.ActivePlayer); Assert.AreEqual(1, logic.GetPlayerScore(0)); }
See Also