while this is technically correct, Its hard to read. I would suggest first assigning variables, rather than directly using coords. eg
```
x, y = *coords
if ((x >= 0) && (x < NUM_COLUMNS) && (y >= 0) && (y < NUM_ROWS))
  ...
end
```
or even go further, and use ranges! to simplify this!
```
x, y = *coords
if (0...NUM_COLUMNS).include?(x) && (0...NUM_ROWS).include?(y)
  ...
end
````