if语句用于设置2d数组中哪些元素可访问的限制。 C#

时间:2018-04-05 16:38:14

标签: c# multidimensional-array 2d uwp-xaml

我正在尝试设置我正在编写的游戏的界限,如下所示:

enter image description here

当点击一个圆圈并且它有一个相邻的圆圈而相邻的圆圈有一个空白时,这个空格会显示为红色,表示可以进行移动。

带有蓝色十字架的区域被视为“越界”,我不想在用户点击圆圈时将这些空间显示为移动可能性。

示例

在下图中,带有蓝色X的圆圈是已点击的圆圈。带有蓝色x的红色方块超出范围,不应突出显示为可能的移动。

enter image description here

我一直在测试以下代码的不同组合,但至今仍未取得成功。 curColcurRow是点击的圆圈的x和y坐标的值,它们映射到2d数组,因为它们都是0索引。

//name for getting the position of the peices on the board.
if (curCol > 1 && curRow > 1 && curRow < 5 &&curCol > 5)
{
    if (twoSquaresDown < 7)
    {
        if (grid[twoSquaresDown, curCol].Equals(brdr) && 
            !grid[oneSquareDown, curCol].Equals(brdr))
        { 
            // grid = new UIElement[9, 9];
            possible1 = new Border();
            possible1.Background = new SolidColorBrush(Colors.Red);
            possible1.SetValue(Grid.RowProperty, twoSquaresDown);
            possible1.SetValue(Grid.ColumnProperty, curCol);
            possible1.HorizontalAlignment = HorizontalAlignment.Center;
            possible1.VerticalAlignment = VerticalAlignment.Center;

            //@todo set height and width of squares not hard coded.
            possible1.Height = 100;
            possible1.Width = 100;
            possible1.Name = "possible1";

            grdGame.Children.Add(possible1);

            possible1.Tapped += Brdr_Tapped;
        }
    }
}

0 个答案:

没有答案