Package org.ggp.base.util.game

Examples of org.ggp.base.util.game.Game


public class GameFlowTester {
  //This doesn't really "test" the game flow so much as let us
  //examine it to evaluate it.
  public static void main(String[] args) throws InterruptedException {
    String gameName = "tictactoe";
      Game theGame = GameRepository.getDefaultRepository().getGame(gameName);
    GameFlow flow = new GameFlow(theGame.getRules());

    System.out.println("Size of flow: " + flow.getNumTurns());
    System.out.println("Sentence forms in flow: " + flow.getSentenceForms());
    for(int i = 0; i < flow.getNumTurns(); i++) {
      System.out.println("On turn " + i + ": " + flow.getSentencesTrueOnTurn(i));
View Full Code Here


            try {
                GdlPool.drainPool();
                SymbolPool.drainPool();

                AvailableGame theGame = selectedGame.getSelectedValue();
                Game game = theRepository.getGame(theGame.kifFile);

                if (game == null) {
                  JOptionPane.showMessageDialog(this, "Cannot load game data for " + theGame.kifFile, "Error", JOptionPane.ERROR_MESSAGE);
                  return;
                }
View Full Code Here

      GdlScrambler aScrambler = new MappingGdlScrambler(new Random(123));
      GdlScrambler bScrambler = new MappingGdlScrambler(new Random(123));
      GdlScrambler cScrambler = new MappingGdlScrambler(new Random(234));
      GameRepository repo = GameRepository.getDefaultRepository();
      for (String gameKey : repo.getGameKeys()) {
        Game game = repo.getGame(gameKey);
        StringBuilder aScrambledRules = new StringBuilder();
        StringBuilder bScrambledRules = new StringBuilder();
        StringBuilder cScrambledRules = new StringBuilder();
        StringBuilder dScrambledRules = new StringBuilder();
        StringBuilder eScrambledRules = new StringBuilder();
        StringBuilder fScrambledRules = new StringBuilder();
        for(Gdl rule : game.getRules()) {
          aScrambledRules.append(aScrambler.scramble(rule)+"\n");
          bScrambledRules.append(bScrambler.scramble(rule)+"\n");
          cScrambledRules.append(cScrambler.scramble(rule)+"\n");
        }
        for(Gdl rule : game.getRules()) {
          dScrambledRules.append(aScrambler.scramble(rule)+"\n");
          eScrambledRules.append(bScrambler.scramble(rule)+"\n");
          fScrambledRules.append(cScrambler.scramble(rule)+"\n");
        }
        assertEquals(aScrambledRules.toString(), bScrambledRules.toString());
View Full Code Here

    }

    private void runScramblerTest(GdlScrambler scrambler) throws SymbolFormatException, GdlFormatException {
      GameRepository repo = GameRepository.getDefaultRepository();
      for (String gameKey : repo.getGameKeys()) {
        Game game = repo.getGame(gameKey);
        List<Gdl> theScrambledRules = new ArrayList<Gdl>();
        for(Gdl rule : game.getRules()) {
          String renderedRule = rule.toString();
          String renderedScrambledRule = scrambler.scramble(rule).toString();
          String renderedUnscrambledRule = scrambler.unscramble(renderedScrambledRule).toString();
          theScrambledRules.add(GdlFactory.create(renderedScrambledRule));
          // If the scrambler claims that it scrambles the game, then the
          // scrambled rules should be different than the original rules.
          // Otherwise they should be identical.
          if (scrambler.scrambles()) {
            assertTrue(gameKey, !renderedRule.equals(renderedScrambledRule));
          } else {
            assertEquals(gameKey, renderedRule, renderedScrambledRule);
          }
          // One important property for any scrambler is that the original
          // and the unscrambled Gdl must be the same. This guarantees that
          // the server can correctly unscramble responses from the players.
          assertEquals(gameKey, renderedRule, renderedUnscrambledRule);
        }

      // An important property for any scrambler is that the scrambled rules
      // have the same physics as the regular rules. For example, the number
      // of roles in each game should be the same, and the number of facts
        // that are true in the initial state should be the same. There could
        // be more thorough verification here, like looking at the number of
        // legal joint moves in the first state, or simulating entire matches,
        // but that would be expensive.
      ProverStateMachine pNormal = new ProverStateMachine();
      ProverStateMachine pScrambled = new ProverStateMachine();
      pNormal.initialize(game.getRules());
      pScrambled.initialize(theScrambledRules);
      assertEquals(gameKey, pNormal.getRoles().size(), pScrambled.getRoles().size());
      assertEquals(gameKey, pNormal.getInitialState().getContents().size(), pScrambled.getInitialState().getContents().size());
      }
    }
View Full Code Here

  @Test
    public void testSimpleRendering() {
      GdlRenderer renderer = new GdlRenderer();
      GameRepository repo = GameRepository.getDefaultRepository();
      for (String gameKey : repo.getGameKeys()) {
        Game game = repo.getGame(gameKey);
        for(Gdl rule : game.getRules()) {
          assertEquals(rule.toString(), renderer.renderGdl(rule));
        }
      }
    }
View Full Code Here

TOP

Related Classes of org.ggp.base.util.game.Game

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.