move method
Implementation
bool move(
Direction dir, {
required Set<Point> walls,
}) {
final newHead = Point(
_points.first.x +
(dir == Direction.right
? 1
: dir == Direction.left
? -1
: 0),
_points.first.y +
(dir == Direction.down
? 1
: dir == Direction.up
? -1
: 0),
);
if (walls.contains(newHead) || isCollidingWithPoint(newHead)) {
return false;
}
_points.addFirst(newHead);
_oldTail = _points.removeLast();
if (_oldTail != null) {
_foodPoints.remove(_oldTail!);
}
return true;
}