I've just written up an answer for this question
After scanning through the code and writing up my points to improve, I noticed that OP asked how to make that working as intended at all:
I would like to add a way to either check if a word is correct, or to suggest words but it would mean I need to connect it to a dictionary of some sort (which I don't know how to do).
So that basically means their code is broken, and doesn't work as intended.
Should I rather have flagged that question for closure than answer the answerable and improvable parts of the given code?