Lawnmover.Pattern.IsValidRowMove C# (CSharp) Method

IsValidRowMove() public method

public IsValidRowMove ( int nrow, int move ) : bool
nrow int
move int
return bool
        public bool IsValidRowMove(int nrow, int move)
        {
            if (this.rowmoves[nrow] > 0)
                return false;

            for (int k = 0; k < this.width; k++)
                if (this.cells[nrow, k] > move && !this.IsSolved(nrow, k))
                    return false;

            return true;
        }

Usage Example

Ejemplo n.º 1
0
        public void ValidRowMoveAfterMove()
        {
            Pattern pattern = new Pattern(2, 2);

            pattern.SetRow(0, "1 2");
            pattern.SetRow(1, "2 3");

            pattern.MoveRow(1, 3);

            Assert.IsTrue(pattern.IsValidRowMove(0, 2));
            Assert.IsFalse(pattern.IsValidRowMove(0, 1));
            Assert.IsFalse(pattern.IsValidRowMove(0, 0));

            Assert.IsFalse(pattern.IsValidRowMove(1, 3));
            Assert.IsFalse(pattern.IsValidRowMove(1, 2));
            Assert.IsFalse(pattern.IsValidRowMove(1, 1));
        }