我正在尝试设置我正在编写的游戏的界限,如下所示:
当点击一个圆圈并且它有一个相邻的圆圈而相邻的圆圈有一个空白时,这个空格会显示为红色,表示可以进行移动。
带有蓝色十字架的区域被视为“越界”,我不想在用户点击圆圈时将这些空间显示为移动可能性。
示例
在下图中,带有蓝色X
的圆圈是已点击的圆圈。带有蓝色x的红色方块超出范围,不应突出显示为可能的移动。
我一直在测试以下代码的不同组合,但至今仍未取得成功。 curCol
和curRow
是点击的圆圈的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;
}
}
}