The application that this project implements is a coperative version of the game [Atomas](https://play.google.com/store/apps/details?id=com.sirnic.atomas&hl=en&gl=US&pli=1).
The Server application inplements a coperative, and simplified version of this game that allows players to play a game of Atomas in the same board at the same time.
The Server uses Paxos to guanratee that the only user can play at the time and that a player can not make a move on a diferent game state than another player.
Ther `server.ex` file both provides some `Server` Module that runs this service and a `Client` Module that can be used to display some the game state in the terminal with nicer representation.
The `game_id` is a number and is an identifier for the game, this can be a number because paxos guanratees that the there can not be two games with same number, as the server would have learned about that decision and whould have not incremented the number.
The `game_state` is a representation of a game state that corresponds to an array of numbers, and some special atoms, where the number represents the atomic number of an atom the max length of this array is 16 when array gets bigger then that the game is over.
## Start Game
The `:start_game` message causes the server to create a new game.
The `:start_game` message takes as arguments `participants` and `pid_to_inform`.
-`participants` which is a list of names of the servers that are participating in the game.
-`pid_to_inform` which is a pid of the process that needs to be informed of the success or failure of this action.
For example to request the start of a game a user might do somethig like: