Package cz.matfyz.aai.fantom.game.Graph

Examples of cz.matfyz.aai.fantom.game.Graph.Node


   * @param transport the transport type used for the movement.
   * @throws ProtocolException if the actor cannot perform such move.
   * @returns information about the movement of the actor.
   */
  public PositionChange moveTo(Node target, TransportType transport) throws ProtocolException {
    Node origin = getCurrentPosition();
    if(!canMoveTo(target, transport))
      throw new ProtocolException("Cannot perform the requested move", null);
   
    // Use one ticket for the selected transport type
    addTickets(transport, -1);
View Full Code Here


    assertNotNull(poirot);
   
    Actor batman = g.getActor("Batman");
    assertNotNull(batman);
   
    Node n1 = g.getNode("1");
    assertNotNull(n1);
   
    Node n2 = g.getNode("2");
    assertNotNull(n2);
   
    Node n5 = g.getNode("5");
    assertNotNull(n5);
   
    Node n6 = g.getNode("6");
    assertNotNull(n6);
       
    // Check the number of tickets of Fantomas before doing setCurrentPosition
    assertEquals(2, fantomas.getTickets().size());
    assertEquals(0, fantomas.getDoubleMoves());
View Full Code Here

    Actor fantomas = g.getActor("Fantomas");
    assertNotNull(fantomas);
    Actor poirot = g.getActor("Poirot");
    assertNotNull(poirot);
   
    Node n1 = g.getNode("1");
    assertNotNull(n1);
    Node n2 = g.getNode("2");
    assertNotNull(n2);
    Node n3 = g.getNode("3");
    assertNotNull(n3);
    Node n4 = g.getNode("4");
    assertNotNull(n4);
   
    fantomas.setCurrentPosition(n1);
    assertTrue(fantomas.canMoveTo(n2));
   
View Full Code Here

    assertNotNull(fantomas);
    Actor joker = g.getActor("Joker");
    assertNotNull(joker);
    Actor batman = g.getActor("Batman");
   
    Node n1 = g.getNode("1");
    assertNotNull(n1);
    Node n2 = g.getNode("2");
    assertNotNull(n2);
    Node n3 = g.getNode("3");
    assertNotNull(n3);
    Node n6 = g.getNode("6");
    assertNotNull(n6);
   
    fantomas.setCurrentPosition(n1);
    List<ActorMove> legalMoves = fantomas.getLegalMoves(g);
   
View Full Code Here

 
  public void testClonedGraphPositions() throws Exception {
    Graph g = new Graph();
    g.loadGraph(SIMPLE_GRAPH);
   
    Node n1 = g.getNode("1");
    assertNotNull(n1);
   
    Actor phantom = g.getActor("Fantomas");
    assertNotNull(phantom);
    assertNull(phantom.getCurrentPosition());
   
    phantom.setCurrentPosition(n1);
    assertNotNull(phantom.getCurrentPosition());
   
    Graph gc = (Graph)g.clone();
    Node n1c = gc.getNode("1");
    assertNotNull(n1c);
   
    Actor phantomc = gc.getActor("Fantomas");
    assertNotNull(phantomc);
    assertNotNull(phantomc.getCurrentPosition());
View Full Code Here

   
    assertEquals(3, g.getTransportTypes().size());
    assertEquals(3, g.getNodes().size());
    assertEquals(14, g.getEdges().size());
 
    Node n1 = g.getNode("1");
    assertNotNull(n1);

    HashSet<String> n1OutgoingEdges = new HashSet<String>();
    assertEquals(4, n1.getOutgoingEdges().size());
    for(Edge e : n1.getOutgoingEdges())
      n1OutgoingEdges.add(e.toString());
    assertEquals(4, n1OutgoingEdges.size());
    assertTrue(n1OutgoingEdges.contains("edge:1-2@tram"));
    assertTrue(n1OutgoingEdges.contains("edge:1-2@universal"));
    assertTrue(n1OutgoingEdges.contains("edge:1-3@bus"));
    assertTrue(n1OutgoingEdges.contains("edge:1-3@universal"));
   
    HashSet<String> n1IncomingEdges = new HashSet<String>();
    assertEquals(4, n1.getIncomingEdges().size());
    for(Edge e : n1.getIncomingEdges())
      n1IncomingEdges.add(e.toString());
    assertEquals(4, n1IncomingEdges.size());
    assertTrue(n1IncomingEdges.contains("edge:2-1@tram"));
    assertTrue(n1IncomingEdges.contains("edge:2-1@universal"));
    assertTrue(n1IncomingEdges.contains("edge:3-1@bus"));
    assertTrue(n1IncomingEdges.contains("edge:3-1@universal"));
   
    Node n2 = g.getNode("2");
    assertNotNull(n2);
   
    HashSet<String> n2OutgoingEdges = new HashSet<String>();
    assertEquals(5, n2.getOutgoingEdges().size());
    for(Edge e : n2.getOutgoingEdges())
      n2OutgoingEdges.add(e.toString());
    assertEquals(5, n2OutgoingEdges.size());
    assertTrue(n2OutgoingEdges.contains("edge:2-1@tram"));
    assertTrue(n2OutgoingEdges.contains("edge:2-1@universal"));
    assertTrue(n2OutgoingEdges.contains("edge:2-3@bus"));
    assertTrue(n2OutgoingEdges.contains("edge:2-3@tram"));
    assertTrue(n2OutgoingEdges.contains("edge:2-3@universal"));
   
    HashSet<String> n2IncomingEdges = new HashSet<String>();
    assertEquals(5, n2.getIncomingEdges().size());
    for(Edge e : n2.getIncomingEdges())
      n2IncomingEdges.add(e.toString());
    assertEquals(5, n2IncomingEdges.size());
    assertTrue(n2IncomingEdges.contains("edge:1-2@tram"));
    assertTrue(n2IncomingEdges.contains("edge:1-2@universal"));
    assertTrue(n2IncomingEdges.contains("edge:3-2@bus"));
    assertTrue(n2IncomingEdges.contains("edge:3-2@tram"));
    assertTrue(n2IncomingEdges.contains("edge:3-2@universal"));
   
    Node n3 = g.getNode("3");
    assertNotNull(n3);
   
    HashSet<String> n3OutgoingEdges = new HashSet<String>();
    assertEquals(5, n3.getOutgoingEdges().size());
    for(Edge e : n3.getOutgoingEdges())
      n3OutgoingEdges.add(e.toString());
    assertEquals(5, n3OutgoingEdges.size());
    assertTrue(n3OutgoingEdges.contains("edge:3-2@bus"));
    assertTrue(n3OutgoingEdges.contains("edge:3-2@tram"));
    assertTrue(n3OutgoingEdges.contains("edge:3-2@universal"));
    assertTrue(n3OutgoingEdges.contains("edge:3-1@bus"));
    assertTrue(n3OutgoingEdges.contains("edge:3-1@universal"));
   
    HashSet<String> n3IncomingEdges = new HashSet<String>();
    assertEquals(5, n3.getIncomingEdges().size());
    for(Edge e : n3.getIncomingEdges())
      n3IncomingEdges.add(e.toString());
    assertEquals(5, n3IncomingEdges.size());
    assertTrue(n3IncomingEdges.contains("edge:2-3@bus"));
    assertTrue(n3IncomingEdges.contains("edge:2-3@tram"));
    assertTrue(n3IncomingEdges.contains("edge:2-3@universal"));
View Full Code Here

      List<ActorMove> available = actor.getLegalMoves(game);
      List<ActorMove> consideredMoves = new ArrayList<ActorMove>(available.size());

      for(Mode mode : consideredModes) {
        for(ActorMove m : available) {
          Node moveTarget = m.getTargetNode();
          if(usedNodes.contains(moveTarget) && !moveTarget.equals(actor.getCurrentPosition()))
          {
            continue; //cannot go there
          }

          System.err.println("Available move to: " + moveTarget.getId());
          if(m.getTransportType() != null) {
            System.err.println(" by: " + m.getTransportType().getName());
          }

          switch(mode) {
View Full Code Here

    Actor fantomas = g.getActor("Fantomas");
    assertNotNull(fantomas);
    Actor joker = g.getActor("Joker");
    assertNotNull(joker);
   
    Node n1 = g.getNode("1");
    assertNotNull(n1);
    Node n2 = g.getNode("2");
    assertNotNull(n2);
    Node n3 = g.getNode("3");
    assertNotNull(n3);
   
    ActorMove[] moves = new ActorMove[] {
      new ActorMove(fantomas, n1, null),
      new ActorMove(joker, n2, null)
View Full Code Here

    Actor poirot = g.getActor("Poirot");
    assertNotNull(poirot);
    Actor batman = g.getActor("Batman");
    assertNotNull(batman);
   
    Node n1 = g.getNode("1");
    assertNotNull(n1);
    Node n2 = g.getNode("2");
    assertNotNull(n2);
    Node n3 = g.getNode("3");
    assertNotNull(n3);
   
    // Try a message, where a phantom actor is missing
    ActorMove[] moves = new ActorMove[] {
        new ActorMove(fantomas, n1, null)
View Full Code Here

    Actor poirot = g.getActor("Poirot");
    assertNotNull(poirot);
    Actor batman = g.getActor("Batman");
    assertNotNull(batman);
   
    Node n1 = g.getNode("1");
    assertNotNull(n1);
    Node n2 = g.getNode("2");
    assertNotNull(n2);
    Node n3 = g.getNode("3");
    assertNotNull(n3);
   
    ActorMove[] moves = new ActorMove[] {
        new ActorMove(poirot, n1, null),
        new ActorMove(batman, n2, null)
View Full Code Here

TOP

Related Classes of cz.matfyz.aai.fantom.game.Graph.Node

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.