public override void Move(SizedShape shape, bool changeDirection) { MoveDirect = changeDirection ? (MoveDirect == MoveDirection.ToTop ? MoveDirection.ToBottom : MoveDirection.ToTop) : MoveDirect; switch (MoveDirect) { case MoveDirection.ToTop: if (shape.Y - shape.Size < 0) { MoveDirect = MoveDirection.ToBottom; shape.Y++; } else { shape.Y--; } break; case MoveDirection.ToBottom: if (shape.Y + 1 > Console.WindowHeight - 1) { MoveDirect = MoveDirection.ToTop; shape.Y--; } else { shape.Y++; } break; } }
public override void Move(SizedShape shape, bool changeDirection) { MoveDirect = changeDirection ? (MoveDirect == MoveDirection.ToRight ? MoveDirection.ToLeft : MoveDirection.ToRight) : MoveDirect; switch (MoveDirect) { case MoveDirection.ToRight: if (shape.X + shape.Size + 1 > Console.WindowWidth - 1) { MoveDirect = MoveDirection.ToLeft; shape.X--; } else { shape.X++; } break; case MoveDirection.ToLeft: if (shape.X - 1 < 0) { MoveDirect = MoveDirection.ToRight; shape.X++; } else { shape.X--; } break; } }
public abstract void Move(SizedShape shape, bool changeDirection);