///////////////////////////////////////////////////////////////////////
// STANFORD LOGIC GROUP //
// General Game Playing Project //
// //
// Sample Player Implementation //
// //
// (c) 2007. See LICENSE and CONTRIBUTORS. //
///////////////////////////////////////////////////////////////////////
/**
*
*/
package stanfordlogic.jocular.game;
import java.util.logging.Logger;
import stanfordlogic.game.Gamer;
import stanfordlogic.gdl.Parser;
import stanfordlogic.prover.GroundFact;
import stanfordlogic.prover.Term;
import stanfordlogic.util.Triple;
/**
*
*/
public class LegalGamer extends Gamer
{
private static final Logger logger_ = Logger.getLogger("stanfordlogic.game");
public LegalGamer(String gameId, Parser p)
{
super(gameId, p);
}
@Override
protected Triple<Term, String, String> moveThink()
{
GroundFact move = getAnAnswer(currentContext_, "legal", myRole_.toString(), "?x");
if (move == null) {
logger_.severe("No legal moves");
return null;
}
else {
// term 0 is the player, term 1 is the actual move
Term action = move.getTerm(1);
return new Triple<Term, String, String>(action, "I'm a silly legal player",
"I hope you can beat me");
}
}
@Override
public void stopIt()
{
// Nothing to do here.
}
}