Logic ActivePlayer Property Delta Engine Documentation

Namespace: Drench.Logics
Assembly: Drench (in Drench.exe) Version: 1.1.1.0 (1.1.1)
Syntax

public int ActivePlayer { get; protected set; }

Property Value

Type: Int32
Remarks

Tests: Drench.Tests.Logics.TwoPlayerLogicTests
Remarks

Tests: Drench.Tests.Logics.SinglePlayerLogicTests
Examples

6 unit tests call Drench.Logics.Logic.ActivePlayer
[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));
}
Examples

1 unit tests call Drench.Logics.Logic.ActivePlayer
[Test]
public void ActivePlayerIsZero()
{
    Assert.AreEqual(0, logic.ActivePlayer);
}
See Also