2021 - LESSPiece
Actual Code
class LESSPiece : Piece
{
public LESSPiece(bool player1)
: base(player1)
{
pieceType = "L";
VPValue = 3;
}
public override int CheckMoveIsValid(int distanceBetweenTiles, string startTerrain, string endTerrain)
{
if (distanceBetweenTiles == 1 && startTerrain != "#")
{
if (startTerrain == "~" || endTerrain == "~")
{
return fuelCostOfMove * 2;
}
else
{
return fuelCostOfMove;
}
}
return -1;
}
public int Saw(string terrain)
{
if (terrain != "#")
{
return 0;
}
return 1;
}
}
Things to note
Constructor runs the base constructor as well as setting peiceType & VPValue.
CheckMoveIsValid is overriden in this sub class.
Saw is a method to give this sub class of Piece extra functionality.