Package org.gnubridge.core

Examples of org.gnubridge.core.Deal


  }

  // this pruning disabled for now
  public void _testOnlyExpandFirstCardInSequenceCardTwoPlayedBetweenTwoUnplayedCards() {
    Node node = new Node(null);
    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new Hand("", "", "4,3,2", ""));
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new Hand("K,10,3", "", "", ""));
    game.getPlayer(Direction.EAST_DEPRECATED).init(new Hand("A,J,2", "", "", ""));
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new Hand("Q", "3,2", "", ""));
    game.setNextToPlay(Direction.NORTH_DEPRECATED);
    game.play(King.of(Spades.i()));
    game.play(Two.of(Spades.i()));
    game.play(Queen.of(Spades.i()));
    game.play(Two.of(Diamonds.i())); //north takes trick
    game.play(Ten.of(Spades.i()));
    DoubleDummySolver s = new DoubleDummySolver(game);

    s.examinePosition(node);
    assertEquals(2, s.getStack().size());
    assertTrue(s.getStack().contains(node.children.get(0)));
View Full Code Here


    assertTrue(node.children.get(0).isPruned());
    assertTrue(node.children.get(0).isPlayedSequencePruned());
  }

  public void testWhenPruningPlayedSequenceDoNotConsiderCardsInCurrentTrickAsPlayed() {
    Deal game = new Deal(Spades.i());
    game.getWest().init(new Hand("", "A,Q", "", ""));
    game.getNorth().init(new Hand("", "K,J", "", ""));
    game.getEast().init(new Hand("", "3,2", "", ""));
    game.getSouth().init(new Hand("2", "4", "", ""));
    game.setNextToPlay(Direction.WEST_DEPRECATED);
    SolverConfigurator configurator = new SolverConfigurator();
    configurator.setUseAlphaBetaPruning(false);
    DoubleDummySolver search = new DoubleDummySolver(game, configurator);
    search.setUseDuplicateRemoval(false);
    search.search();
View Full Code Here

    assertEquals(1, search.getRoot().getTricksTaken(Player.WEST_EAST));
    assertEquals(Ace.of(Hearts.i()), search.getRoot().getBestMove().getCardPlayed());
  }

  public void testTricksTallyIsTrickLimit() {
    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new String[] { "3", "A", "4" });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new String[] { "2", "9", "6" });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new String[] { "10", "5", "J" });
    game.getPlayer(Direction.EAST_DEPRECATED).init(new String[] { "K", "7", "Q" });
    game.setNextToPlay(Direction.SOUTH_DEPRECATED);
    DoubleDummySolver s = new DoubleDummySolver(game);
    s.setMaxTricks(1);
    s.search();
    assertEquals(1, s.getRoot().getTricksTaken(Player.WEST_EAST) + s.getRoot().getTricksTaken(Player.NORTH_SOUTH));
  }
View Full Code Here

    assertEquals(1, s.getRoot().getTricksTaken(Player.WEST_EAST) + s.getRoot().getTricksTaken(Player.NORTH_SOUTH));
  }

  public void testExaminePositionInitsChildMove() {
    Node node = new Node(null);
    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new String[] { "3", "10" });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new String[] { "2", "9" });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new String[] { "A", "5" });
    game.getPlayer(Direction.EAST_DEPRECATED).init(new String[] { "K", "7" });
    game.setNextToPlay(Direction.SOUTH_DEPRECATED);
    DoubleDummySolver s = new DoubleDummySolver(game);
    s.examinePosition(node);
    Node child1 = s.getStack().pop();
    Node child2 = s.getStack().pop();
    s.examinePosition(child1);
View Full Code Here

    assertEquals(Direction.WEST_DEPRECATED, child2.getPlayerTurn());
  }

  public void testExaminePositionExpandsChild() {
    Node node = new Node(null);
    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new String[] { "3" }, new String[] { "10" });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new String[] { "2", "9" });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new String[] { "A", "5" });
    game.getPlayer(Direction.EAST_DEPRECATED).init(new String[] { "K", "7" });
    game.setNextToPlay(Direction.SOUTH_DEPRECATED);
    DoubleDummySolver s = new DoubleDummySolver(game);
    s.examinePosition(node);
    Node child1 = s.getStack().pop();
    Node child2 = s.getStack().pop();
    s.examinePosition(child1);
View Full Code Here

    s.examinePosition(child2);
    assertEquals(1, child2.children.size());
  }

  public void testTwoTricks() {
    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new String[] { "2" }, new String[] { "3" });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new String[] { "3" }, new String[] { "2" });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new String[] {}, new String[] { "K", "10" });
    game.getPlayer(Direction.EAST_DEPRECATED).init(new String[] { "A" }, new String[] {}, new String[] { "J" });
    game.setNextToPlay(Direction.NORTH_DEPRECATED);
    DoubleDummySolver s = new DoubleDummySolver(game);
    s.search();
    List<Card> bestMoves = s.getBestMoves();
    assertEquals(1, bestMoves.size());
    assertEquals(Two.of(Hearts.i()), bestMoves.get(0));
View Full Code Here

    assertEquals(1, bestMoves.size());
    assertEquals(Two.of(Hearts.i()), bestMoves.get(0));
  }

  public void testTwoTricks2() {
    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new String[] { "3" }, new String[] { "2" });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new String[] { "2" }, new String[] { "3" });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new String[] { "K", "10" });
    game.getPlayer(Direction.EAST_DEPRECATED).init(new String[] {}, new String[] { "A" }, new String[] { "J" });
    game.setNextToPlay(Direction.NORTH_DEPRECATED);
    DoubleDummySolver s = new DoubleDummySolver(game);
    s.search();
    List<Card> bestMoves = s.getBestMoves();
    assertEquals(1, bestMoves.size());
    assertEquals(Two.of(Spades.i()), bestMoves.get(0));
View Full Code Here

    assertEquals(1, bestMoves.size());
    assertEquals(Two.of(Spades.i()), bestMoves.get(0));
  }

  public void testOneTrick() {
    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new String[] { "3" });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new String[] { "2" });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new String[] { "K" });
    game.getPlayer(Direction.EAST_DEPRECATED).init(new String[] { "J" });
    game.setNextToPlay(Direction.NORTH_DEPRECATED);
    DoubleDummySolver s = new DoubleDummySolver(game);
    s.search();
    assertEquals(Player.NORTH_SOUTH, s.getRoot().getCurrentPair());
    assertEquals(1, s.getRoot().getTricksTaken(Player.NORTH_SOUTH));
View Full Code Here

  }

  public void testAlphaBetaScenario1() {

    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(
        new Card[] { Nine.of(Clubs.i()), Four.of(Spades.i()), Six.of(Spades.i()), Nine.of(Spades.i()) });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(
        new Card[] { Seven.of(Spades.i()), Ace.of(Spades.i()), Eight.of(Spades.i()), Five.of(Clubs.i()) });
    game.getPlayer(Direction.EAST_DEPRECATED).init(
        new Card[] { Ten.of(Hearts.i()), Three.of(Hearts.i()), Two.of(Spades.i()), Eight.of(Clubs.i()) });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(
        new Card[] { Six.of(Hearts.i()), Two.of(Hearts.i()), Queen.of(Spades.i()), King.of(Clubs.i()) });

    DoubleDummySolver pruned = new DoubleDummySolver(game.duplicate());
    assertTrue(pruned.getConfigurator().isUseAlphaBetaPruning());
    pruned.search();
    assertEquals(2, pruned.getRoot().getTricksTaken(Player.WEST_EAST));
  }
View Full Code Here

    assertEquals(2, pruned.getRoot().getTricksTaken(Player.WEST_EAST));
  }

  public void testAlphaBetaScenario2() {

    Deal game = new Deal(NoTrump.i());
    game.getPlayer(Direction.WEST_DEPRECATED).init(new Card[] { Six.of(Spades.i()), Nine.of(Spades.i()) });
    game.getPlayer(Direction.NORTH_DEPRECATED).init(new Card[] { Ace.of(Spades.i()), Eight.of(Spades.i()) });
    game.getPlayer(Direction.EAST_DEPRECATED).init(new Card[] { Ten.of(Hearts.i()), Three.of(Hearts.i()) });
    game.getPlayer(Direction.SOUTH_DEPRECATED).init(new Card[] { Six.of(Hearts.i()), Two.of(Hearts.i()) });

    game.setNextToPlay(Direction.SOUTH_DEPRECATED);
    DoubleDummySolver pruned = new DoubleDummySolver(game.duplicate());
    assertTrue(pruned.getConfigurator().isUseAlphaBetaPruning());
    pruned.search();
    assertEquals(2, pruned.getRoot().getTricksTaken(Player.WEST_EAST));

  }
View Full Code Here

TOP

Related Classes of org.gnubridge.core.Deal

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.