Je pense qu'il faut encore disséquer le problème pour l'execution du coup.
J'ai créé une classe coup.
Pour moi un coup, c'est les pierres à bouger + la direction dans laquelle les bouger.
Une stack et une case.
Je propose de séparer les fonctions, Coup() (qui enregistre le coup), estCorrect() qui validera le coup(pas une priorité) et exécutecoup, qui joue le coup.