If you do want to make use of OOP I would advise spending a little time reading up on it, spend some time understanding patterns, try to refactor what you have there to something usable. It’s a good start, because it’s something that works, its just complicated. As you’ve realised, classes just allow you to glue some functions onto some specific shape of data, so they’re pretty simple, conceptually. But it’s how you structure them that needs work: jumping straight across to another subject isn’t really going to nail down any good habits. Mainly I say this because this should be simple, but you seem to be having difficulty:
Your classes do far, far too much at the minute. One class should do one thing. Read up on SOLID, follow the references, use Google. Game programming patterns is useful in the context you’re working in at the minute as well.