%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Get move for player 1 (human) % - show state, ask for move, verify if move is valid % - if move is invalid, recall getmove until a valid move is input getmove(1,State,Move) :- showState(State), write('Please input move followed by a period: '), read(Proposed), validmove(1,State,Proposed), !, Move = Proposed. getmove(1,State,Move) :- writeln('Invalid Move Proposed.'), getmove(1,State,Move).