Hi all, so i'm trying to learn myself to program and i have some questions if it's not a problem.
Please keep in mind that i don't have any formal education in any programming language. I just tought myself some html and css years ago and did nothing much with it really.
So please forgive me if i make any mistakes in naming certain parts of the code.

That say'd; to learn myself to code i came up with a project to recreate a webgame and basicly learn myself as much different aspects of c++ while recreating that game. (The game is called "2048" and quite fun to play)

So i made some classes and up untill now everything is working as intended and i understand most of it.... i think... 
But now i come to a point where i dont know how to continue and would like to ask some advice about that.

But first let me show what i made untill now;


(i removed all code and used github because the website just didn't let me put it all up here in a good way).

I still need some functions that move around the elements in the 2d array when the user presses either up, down ,left or right.

What would be a good way to do that ?   Personally i just thought to add those functions to the InputKeys class in the switch statement. Or is a new class better for this situation?
And before i forget: the function in the BoardInitializer class needs a return value and im not sure how and what to put there.
(i guess it should return the 2d array so that it actually can be used for the game after the board is randomly initialised.

And if someone has other suggestions; please let me know. i already have rewriten this code already more times than i care to count fo the sake of learning.

Kind Regards,