Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.38 KB | None | 0 0
  1.  
  2.        
  3.         // Cria três agentes Taxi assim que TaxiCenter é lançado
  4.         this.addBehaviour(new OneShotBehaviour() {
  5.             private static final long serialVersionUID = 1L;
  6.            
  7.             AgentController taxiAgent;
  8.            
  9.             public int taxiIndex = 0;
  10.             public int num_taxisIniciais = 3;
  11.            
  12.             public void action() {             
  13.                 for (int i = 0; i < num_taxisIniciais; i++) {
  14.                     createTaxiAgent(taxiIndex);
  15.                     taxiIndex++;
  16.                 }              
  17.             }
  18.            
  19.             public void createTaxiAgent(int taxiIndex) {
  20.                
  21.                 Object[] args = generateTaxiArgs();
  22.                
  23.                 // Cria um novo agente Taxi com os argumentos e coloca-o no container criado em TaxiCenter
  24.                 try {                  
  25.                     taxiAgent = container.createNewAgent("startingTaxi" + taxiIndex, "agents.Taxi", args);
  26.                     taxiAgent.start();
  27.                 } catch (StaleProxyException e) {
  28.                     e.printStackTrace();
  29.                 }
  30.             }
  31.            
  32.             public Object[] generateTaxiArgs() {
  33.                
  34.                 Random randomGenerator = new Random();
  35.                
  36.                 //Random peso máximo da bagagem (entre 0 e 50)
  37.                 int pesoBagagemInt = randomGenerator.nextInt(51);
  38.                 StringBuilder pesoBagagemRandTemp = new StringBuilder();
  39.                 pesoBagagemRandTemp.append("");
  40.                 pesoBagagemRandTemp.append(pesoBagagemInt);
  41.                 String pesoBagagemRand = pesoBagagemRandTemp.toString();
  42.                
  43.                 //Random número máximo de passageiros (entre 1 e 4)
  44.                 int numPassageirosInt = randomGenerator.nextInt(4) + 1;
  45.                 StringBuilder numPassageirosRandTemp = new StringBuilder();
  46.                 numPassageirosRandTemp.append("");
  47.                 numPassageirosRandTemp.append(numPassageirosInt);
  48.                 String numPassageirosRand = numPassageirosRandTemp.toString();
  49.                
  50.                 //Random latitude (entre 14981 e 18296, para ficar +/- no Porto)
  51.                 int latitudeInt = randomGenerator.nextInt(3315) + 14981;
  52.                 StringBuilder latitudeRandTemp = new StringBuilder();
  53.                 latitudeRandTemp.append("41.");
  54.                 latitudeRandTemp.append(latitudeInt);
  55.                 String latitudeRand = latitudeRandTemp.toString();
  56.                
  57.                 //Random longitude (entre 14981 e 18296, para ficar +/- no Porto)
  58.                 int longitudeInt = randomGenerator.nextInt(9495) + 58140;
  59.                 StringBuilder longitudeRandTemp = new StringBuilder();
  60.                 longitudeRandTemp.append("-8.");
  61.                 longitudeRandTemp.append(longitudeInt);
  62.                 String longitudeRand = longitudeRandTemp.toString();
  63.                
  64.                
  65.                 Object[] args = {pesoBagagemRand, numPassageirosRand, latitudeRand, longitudeRand};
  66.                
  67.                 return args;
  68.             }
  69.            
  70.         });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement