Package cz.matfyz.aai.fantom.message.MessageMoveBase

Examples of cz.matfyz.aai.fantom.message.MessageMoveBase.ActorMove


    List<ActorMove> legalMoves = fantomas.getLegalMoves(g);
   
    assertNotNull(legalMoves);
    assertEquals(2, legalMoves.size());
   
    ActorMove move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n6) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(fantomas, move.getActor());
    assertSame(bus, move.getTransportType());
   
    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n2) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(fantomas, move.getActor());
    assertSame(tram, move.getTransportType());
   
    // Now place a different actor to node 6
    joker.setCurrentPosition(n6);
   
    // Check that legal moves for Fantomas did not change
    legalMoves = fantomas.getLegalMoves(g);
    assertNotNull(legalMoves);
    assertEquals(2, legalMoves.size());

    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n6) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(fantomas, move.getActor());
    assertSame(bus, move.getTransportType());
   
    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n2) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(fantomas, move.getActor());
    assertSame(tram, move.getTransportType());
   
    // Now place a detective to node 2
    batman.setCurrentPosition(n2);

    // Again, check that legal moves for Fantomas did not change
    legalMoves = fantomas.getLegalMoves(g);
    assertNotNull(legalMoves);
    assertEquals(2, legalMoves.size());

    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n6) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(fantomas, move.getActor());
    assertSame(bus, move.getTransportType());
   
    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n2) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(fantomas, move.getActor());
    assertSame(tram, move.getTransportType());
   
    legalMoves = batman.getLegalMoves(g);
    assertNotNull(legalMoves);
    assertEquals(4, legalMoves.size());
   
    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n1
          && m.getTransportType() == tram) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(batman, move.getActor());

    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n1
          && m.getTransportType() == universal) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(batman, move.getActor());

    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n3
          && m.getTransportType() == bus) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(batman, move.getActor());

    move = null;
    for(ActorMove m : legalMoves) {
      assertNotNull(m);
      assertNotNull(m.getTargetNode());
      if(m.getTargetNode() == n3
          && m.getTransportType() == universal) {
        move = m;
        break;
      }
    }
    assertNotNull(move);
    assertSame(batman, move.getActor());
  }
View Full Code Here


      assertEquals(actors.get(i), actorsRO.get(i));
      assertNotSame(actors.get(i), actorsRO.get(i));
    }
   
    g.placeActors(new MessageMove(new ActorMove[] {
        new ActorMove(g.getActor("Fantomas"), g.getNode("1"), null),
        new ActorMove(g.getActor("Joker"), g.getNode("2"), null),
    }));
   
    actors = g.getActors();
    actorsRO = gr.getActors();
    assertEquals(actors.size(), actorsRO.size());
    for(int i = 0; i < actors.size(); i++) {
      assertEquals(actors.get(i), actorsRO.get(i));
      assertNotSame(actors.get(i), actorsRO.get(i));
    }
   
    g.placeActors(new MessageMove(new ActorMove[] {
        new ActorMove(g.getActor("Poirot"), g.getNode("3"), null),
        new ActorMove(g.getActor("Batman"), g.getNode("4"), null),
    }));
  }
View Full Code Here

      if(consideredMoves.size() == 0) {
        System.err.printf("Actor %s is not going anywhere\n", actor.getId());
        continue;
      }

      ActorMove move = consideredMoves.get(random.nextInt(consideredMoves.size()));
      moves.add(move);
      if(actor.getCurrentPosition() != null) {
        usedNodes.remove(actor.getCurrentPosition());
      }
      usedNodes.add(move.getTargetNode());
      System.err.printf("Actor %s is going to node %s\n", actor.getId(), move.getTargetNode().getId());
    }
    System.err.println("My turn is over.");
    return moves.toArray(new ActorMove[moves.size()]);   
  }
View Full Code Here

        int pos = 0;
        for(int i = 0; i < pams.length; i++) {
          moves[pos++] = pams[i];
        }
        for(Actor phantom : immobilePhantoms) {
          moves[pos++] = new ActorMove(phantom, phantom.getCurrentPosition(), null);
        }
        pams = moves;
      }
    }
    if(phantoms.isEmpty()) {
View Full Code Here

  protected void receiveUpdate(MessageUpdate msg) {
    graph.updateActors(msg);
   
    ActorMove[] moves = msg.getMoves().clone();
    for(int i = 0; i < moves.length; i++) {
      moves[i] = new ActorMove(graphReadOnly.getActor(moves[i].getActor().getId()),
                moves[i].getTargetNode(), moves[i].getTransportType());
    }
    agent.update(moves);
  }
View Full Code Here

  @Override
  public List<ActorMove> getLegalMoves(Graph graph) {
    List<ActorMove> moves = sourceActor.getLegalMoves(graph);
    for(int i = 0; i < moves.size(); i++) {
      ActorMove move = moves.get(i);
      assert move.getActor() == sourceActor;
      moves.set(i, new ActorMove(this, move.getTargetNode(), move.getTransportType()));
    }
    return moves;
  }
View Full Code Here

   
    Actor fantomas = g.getActor("Fantomas");
    assertNotNull(fantomas);
   
    try {
      new ActorMove(null, null, null);
      fail("ActorMove was successfully created with null values");
    }
    catch(IllegalArgumentException e) {
      // OK, let's go on
    }
   
    try {
      new ActorMove(fantomas, null, null);
      fail("ActorMove was successfully created with null target node and null transport type");
    }
    catch(IllegalArgumentException e) {
      // OK, let's go on
    }
   
    // Let's try if we can create ActorMoves with either just a transport
    // type, or a target node
    ActorMove move;
    move = new ActorMove(fantomas, g.getNode("1"), null);
    assertSame(fantomas, move.getActor());
    assertNotNull(move.getTargetNode());
    assertSame(g.getNode("1"), move.getTargetNode());
    assertNull(move.getTransportType());
   
    move = new ActorMove(fantomas, null, g.getTransportType("bus"));
    assertSame(fantomas, move.getActor());
    assertNull(move.getTargetNode());
    assertNotNull(move.getTransportType());
    assertSame(g.getTransportType("bus"), move.getTransportType());
   
    move = new ActorMove(fantomas, g.getNode("2"), g.getTransportType("tram"));
    assertSame(fantomas, move.getActor());
    assertNotNull(move.getTargetNode());
    assertSame(g.getNode("2"), move.getTargetNode());
    assertNotNull(move.getTransportType());
    assertSame(g.getTransportType("tram"), move.getTransportType());
  }
View Full Code Here

    assertNotNull(nd1);
   
    TransportType bus = g.getTransportType("bus");
    assertNotNull(bus);
   
    ActorMove move = new ActorMove(fantomas, nd1, null);
    Properties record = move.serialize();
   
    assertNotNull(record);
    assertEquals(2, record.size());
    assertTrue(record.containsKey(MessageMoveBase.PROPERTY_ACTOR));
    assertEquals("Fantomas", record.getProperty(MessageMoveBase.PROPERTY_ACTOR));
    assertTrue(record.containsKey(MessageMoveBase.PROPERTY_TO_NODE));
    assertEquals("1", record.getProperty(MessageMoveBase.PROPERTY_TO_NODE));
   
    move = new ActorMove(fantomas, null, bus);
    record = move.serialize();
   
    assertNotNull(record);
    assertEquals(2, record.size());
    assertTrue(record.containsKey(MessageMoveBase.PROPERTY_ACTOR));
    assertEquals("Fantomas", record.getProperty(MessageMoveBase.PROPERTY_ACTOR));
    assertTrue(record.containsKey(MessageMoveBase.PROPERTY_TRANSPORT_TYPE));
    assertEquals("bus", record.getProperty(MessageMoveBase.PROPERTY_TRANSPORT_TYPE));
   
    move = new ActorMove(fantomas, nd1, bus);
    record = move.serialize();
   
    assertNotNull(record);
    assertEquals(3, record.size());
    assertTrue(record.containsKey(MessageMoveBase.PROPERTY_ACTOR));
    assertEquals("Fantomas", record.getProperty(MessageMoveBase.PROPERTY_ACTOR));
View Full Code Here

  public static final String ACTOR_MOVE_MISSING_DATA = "actor: Fantomas";
  public void testLoadInvalidActorMove() throws Exception {
    Graph g = new Graph(TEST_GRAPH);
   
    try {
      new ActorMove(g, Parser.parseLine(ACTOR_MOVE_MISSING_DATA));
      fail("Actor move was loaded without transport type and target node");
    }
    catch(ProtocolException e) {
      // OK, this is what should happen
    }
View Full Code Here

    assertNotNull(n3);
    Node n4 = g.getNode("4");
    assertNotNull(n4);
   
    ActorMove[] moves = new ActorMove[] {
        new ActorMove(fantomas, n3, null),
        new ActorMove(poirot, null, bus),
        new ActorMove(batman, n4, tram),
    };
   
    joker.capture();
   
    MessageUpdate msg = new MessageUpdate(g, moves, null);
View Full Code Here

TOP

Related Classes of cz.matfyz.aai.fantom.message.MessageMoveBase.ActorMove

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.