Abalone Board Game

Hello!
I have to do a project at Computer Science for the end of the module and I am stuck.. I have to implement a game called Abalone(more like sumo with balls), which can be played between 2-4 Players and also the option to play vs a Computer(The AI doesn’t need to be perfect, can also choose random places, I do not care that much for the AI).

I have several slides with the rules fully explained, there are also rules on the internet, but for the record I will attach the visual of the board(which needs to be a hexagon), so you can get a better idea. I will also attach a PDF with rules(brief).

For example, for movement:
L-> Move marble(s) left if possible
UL-> Move marble(s) up left if possible
UR-> Move marble(s) up right if possible
R-> Move marble(s) right if possible
DR-> Move marble(s) down right if possible
DL-> Move marble(s) down left if possible

The game doesn’t need to be perfect, input and output will be the Console, so no GUI, but I want for instance in a game if I want to move:
-> 1 marble I type:
C3 DL which moves the marble(Down Left), now the marble being at the position D3
-> for 2 marbles(which are in a column):
A5 B6 UR, which means the column of marbles is moved up right and are now(B6 C7) and so on..

If you check the board coordinates I think you get what I mean.
On the slides I would provide, there is also a Class Diagaram indicating what classes should be use and I will also give a zip file with my TicTacToe project which has the same structure, so it can be easy to implement after seeing that.

I want a working solution so whenever I type the marbles and the moves, the board to be updated accordingly, always checking if marbles are out of bound, if the game is finished etc..

You can leave a response, or trackback from your own site.