public static void Move(EnumDirection dir, MazeObject movee) { switch (dir) { case EnumDirection.Up: movee.GetPosition().SetY( movee.GetPosition().GetY() - 1 ); movee.getSurroundings().GetUp().GetPosition().SetY( movee.getSurroundings().GetUp().GetPosition().GetY() + 1 ); SwapUpDown(movee.getSurroundings().GetUp(), movee); break; case EnumDirection.Down: movee.GetPosition().SetY( movee.GetPosition().GetY() + 1 ); movee.getSurroundings().GetDown().GetPosition().SetY( movee.getSurroundings().GetDown().GetPosition().GetY() - 1 ); SwapUpDown(movee, movee.getSurroundings().GetDown()); break; case EnumDirection.Left: movee.GetPosition().SetX( movee.GetPosition().GetX() - 1 ); movee.getSurroundings().GetLeft().GetPosition().SetX(movee.getSurroundings().GetLeft().GetPosition().GetX() + 1); SwapLeftRight(movee, movee.getSurroundings().GetLeft()); break; case EnumDirection.Right: movee.GetPosition().SetX( movee.GetPosition().GetX() + 1 ); movee.getSurroundings().GetRight().GetPosition().SetX( movee.getSurroundings().GetRight().GetPosition().GetX() - 1 ); SwapLeftRight(movee.getSurroundings().GetRight(), movee); break; default: throw new UnauthorizedAccessException(); } }
public void MazeObjectRefresh(MazeObject refresher) { Rectangle replacement = new Rectangle(); replacement.Height = _pixelSize; replacement.Width = _pixelSize; replacement.Fill = refresher.GetColor(); int left = refresher.GetPosition().GetX() * _pixelSize; int top = refresher.GetPosition().GetY() * _pixelSize; Canvas.SetLeft(replacement, left); Canvas.SetTop(replacement, top); foreach (Rectangle rec in screen.Children) { if (Canvas.GetLeft(rec) == left && Canvas.GetTop(rec) == top) { screen.Children.Remove(rec); screen.Children.Add(replacement); break; } } }