Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Cria três agentes Taxi assim que TaxiCenter é lançado
- this.addBehaviour(new OneShotBehaviour() {
- private static final long serialVersionUID = 1L;
- AgentController taxiAgent;
- public int taxiIndex = 0;
- public int num_taxisIniciais = 3;
- public void action() {
- for (int i = 0; i < num_taxisIniciais; i++) {
- createTaxiAgent(taxiIndex);
- taxiIndex++;
- }
- }
- public void createTaxiAgent(int taxiIndex) {
- Object[] args = generateTaxiArgs();
- // Cria um novo agente Taxi com os argumentos e coloca-o no container criado em TaxiCenter
- try {
- taxiAgent = container.createNewAgent("startingTaxi" + taxiIndex, "agents.Taxi", args);
- taxiAgent.start();
- } catch (StaleProxyException e) {
- e.printStackTrace();
- }
- }
- public Object[] generateTaxiArgs() {
- Random randomGenerator = new Random();
- //Random peso máximo da bagagem (entre 0 e 50)
- int pesoBagagemInt = randomGenerator.nextInt(51);
- StringBuilder pesoBagagemRandTemp = new StringBuilder();
- pesoBagagemRandTemp.append("");
- pesoBagagemRandTemp.append(pesoBagagemInt);
- String pesoBagagemRand = pesoBagagemRandTemp.toString();
- //Random número máximo de passageiros (entre 1 e 4)
- int numPassageirosInt = randomGenerator.nextInt(4) + 1;
- StringBuilder numPassageirosRandTemp = new StringBuilder();
- numPassageirosRandTemp.append("");
- numPassageirosRandTemp.append(numPassageirosInt);
- String numPassageirosRand = numPassageirosRandTemp.toString();
- //Random latitude (entre 14981 e 18296, para ficar +/- no Porto)
- int latitudeInt = randomGenerator.nextInt(3315) + 14981;
- StringBuilder latitudeRandTemp = new StringBuilder();
- latitudeRandTemp.append("41.");
- latitudeRandTemp.append(latitudeInt);
- String latitudeRand = latitudeRandTemp.toString();
- //Random longitude (entre 14981 e 18296, para ficar +/- no Porto)
- int longitudeInt = randomGenerator.nextInt(9495) + 58140;
- StringBuilder longitudeRandTemp = new StringBuilder();
- longitudeRandTemp.append("-8.");
- longitudeRandTemp.append(longitudeInt);
- String longitudeRand = longitudeRandTemp.toString();
- Object[] args = {pesoBagagemRand, numPassageirosRand, latitudeRand, longitudeRand};
- return args;
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement