https://forum.world.st/exercism-bowling-challenge-tp5122317p5122430.html
Richard O'Keefe wrote
> there is obviously no unique "right" factoring of this problem into
> classes.
This. And, in my experience, with non-trivial problems, some (many?) times
you just have to try to implement an idea to see if it's really going to
work because it's just too hard to see all the way into the future.
It's hard to see the future, but there are tricks to help.
For something like this, work out a few games on paper. Get a sense of how the numbers play together.
Then, anthropomorphise the problem. Imagine yourself to be a film director or some other kind of manager. You don't want to do the work; that's what your staff is for. Who do you need to train to do the work? How many jobs are there to do? Can multiple people doing the same task get the job done faster?
Ultimately, the job of a programmer is to delegate the work to others, and to teach them how to do their jobs. That teaching part is actually writing code. The different people doing different tasks correspond to the objects in in an OO solution.
As the other Richard seemed to suggest, this isn't an object rich problem. It's largely a question of how to implement an algorithm.
Working examples on paper will help with internalising how to do it.