The condition could probably be extracted into a small helper method?

```ruby
matrix_finished? && !finished?
```

Something like that, I'm terrible with complex if clauses (read: with more than one condition).