package at.ac.tuwien.dbai.staff.dvorak.alternation.examples;
import at.ac.tuwien.dbai.staff.dvorak.alternation.examples.GraphGame.Position;

atm GGAtm (Graph.Node<Position> startNode, Graph<Position> gameBoard) {
    Graph.Node<Position> position=startNode;

    state ExistsState {
        if(position.getObject().winning){
                reject;
        }
        else {
            exists{
                for (Graph.Node<Position> node : position.getChildren()){
                    ForallState{
                        position=node;
                    }
                }
            }
        }
    }

    state ForallState {
        if(position.getObject().winning){
            accept;
        }
        else {
            forall {
                for (Graph.Node<Position> node : position.getChildren()){
                    ExistsState{
                        position=node;
                    }
                }
            }

        }
    }
}