Package org.timerescue.element.agent

Examples of org.timerescue.element.agent.Agent$Constants$Property


    return null;
  }

  @Override
  protected InformationParameters executeAgent() {
    Agent target = null, attacker = null;
    int range = 0, target_life, attacker_attack, target_defense, speed;
    PropertyHolder target_property_holder, attacker_property_holder;
    StateHolder target_state_holder, attacker_state_holder;
   
    //Get target and the attacker
    target = getTarget();
    attacker = getAttacker();
    //states holders
    target_state_holder = target.getState_holder();
    attacker_state_holder = attacker.getState_holder();
    //Range
    range = getRange();
    Coordinate target_position = target.getCoordinate(),
        attacker_position = attacker.getCoordinate();
    //Properties
    target_property_holder = target.getProperty_holder();
    attacker_property_holder = attacker.getProperty_holder();
    //TODO Is the target visible?
    int visibility = attacker.getVisibility();
    if(target_position.isClose(attacker_position, visibility)){
      //If the target is close enough for a close range attack
      if (target_position.isClose(attacker_position, range)){
        //Attack the target properties!     
        target_life = target.getLife();     
        if(target_life > 0) {//is it alive?         
          //TODO define a method to obtain the properties casted
          //TODO Define a practical formulas, this is just for testing
          target_defense = target.getArmor();
          attacker_attack = attacker.getStrength()* 2;
          target_life -= attacker_attack - target_defense;
          target.setLife(target_life);
          //Add states       
          target_state_holder.addState(this);
          attacker_state_holder.addState(this);
          return this;
        }else{
          //Remove states if the target is dead
          removeStates();
        }
       
      }else{ //It's too far, lets get closer
        speed = attacker.getSpeed();
        attacker.move(target.getCoordinate(), speed);       
      }
    }else{
      //Remove states if the target is far away
      removeStates();
    }
View Full Code Here


    return null;
  }
 
  @Override
  public boolean removeStates() {
    Agent target = null, attacker = null;
    StateHolder target_state_holder, attacker_state_holder;
    try {
      target = getTarget();
      attacker = getAttacker();
      target_state_holder = target.getState_holder();
      attacker_state_holder = attacker.getState_holder();
      target_state_holder.removeState(this);
      attacker_state_holder.removeState(this);
    } catch (Exception e) {
      // TODO Log this
View Full Code Here

  @Override
  protected InformationParameters executeAgent() {
    // TODO Auto-generated method stub
    try {
      Random seed = new Random();
      Agent wanderer = (Agent)getParam(Constants.Parameter.WANDERER);
      int speed = Integer.parseInt(
          wanderer.getProperty_holder().getCurrentProperty(
              Agent.Constants.Property.SPEED));
      //points toward a random direction
      wanderer.move(
          new Coordinate(seed.nextInt(), seed.nextInt(), seed.nextInt()),
          speed);
    } catch (InvalidPropertyException e) {
      // TODO log this
    }
View Full Code Here

   * @throws java.lang.Exception
   */
  @Before
  public void setUp() throws Exception {
    action = new WanderAction();
    agent = new Agent();
    agent.setCoordinate(0, 0, 0);   
    action.addParamData("WANDERER", agent);
  }
View Full Code Here

    assertEquals( wmsService, services.get( 2 ) );

    // Test that Service methods succeed after build.
    List<Property> propList = s.getProperties();
    assertEquals( 2, propList.size() );
    Property prop1 = propList.get( 0 );
    Property prop2 = propList.get( 1 );

    assertEquals( "propName1", prop1.getName() );
    assertEquals( "propName2", prop2.getName() );

    assertEquals( "propValue1", prop1.getValue() );
    assertEquals( "propValue2", prop2.getValue() );
  }
View Full Code Here

    assertFalse( "New property container has property [name].",
                 pc.containsPropertyName( "name" ));
    assertTrue( "New property container list of properties not empty.",
                pc.getProperties().isEmpty());
    Property prop = pc.getPropertyByName( "name" );
    if ( prop != null )
      fail( "New property container holds unexpected property [name]/["+prop.getValue()+"].");
    assertTrue( "New property container list of property names not empty.",
                pc.getPropertyNames().isEmpty());
    String value = pc.getPropertyValue( "name" );
    if ( value != null )
      fail( "New property container holds unexpected property value [name]/["+value+"].");
View Full Code Here

  public void testNormal()
  {
    String name = "a name";
    String value = "a value";
    Property p = null;
    try
    { p = new PropertyImpl( name, value ); }
    catch ( IllegalArgumentException e )
    { fail( "Unexpected IllegalArgumentException: " + e.getMessage() ); }
    catch ( Exception e )
    { fail( "Unexpected Non-IllegalArgumentException: " + e.getMessage()); }

    assertTrue( "Property name [" + p.getName() + "] not as expected [" + name + "].",
                p.getName().equals( name));
    assertTrue( "Property value [" + p.getValue() + "] not as expected [" + value + "].",
                p.getValue().equals( value));
  }
View Full Code Here

      throw new IllegalArgumentException( "Given name may not be null." );

    if ( this.propertiesMap == null )
      return false;

    Property property = this.propertiesMap.remove( name );
    if ( property == null )
      return false;

    return true;
  }
View Full Code Here

      return null;

    if ( this.propertiesMap == null )
      return null;

    Property property = this.propertiesMap.get( name );
    if ( property == null )
      return null;
    return property.getValue();
  }
View Full Code Here

TOP

Related Classes of org.timerescue.element.agent.Agent$Constants$Property

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.