To prevent players of consciously, or not, cheating it sounds like you want a client/server architecture where the server would keep track of where units are and if they can be moved, and moved by how much along with other game mechanics (rules). The clients would only be responsible for displaying what the play can see. After a move the server would send updated positions and possibly update what the player could see based on ‘fog of war’.
Assuming that there would be combat, the server would handle combat resolution and notify each player of the results (casualties, survivors, territory lost or gained, etc).