Advertisement
Guest User

Untitled

a guest
Dec 26th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. /**
  4. * Created by tiagobotelho on 14/12/14.
  5. */
  6. public class Hamming extends Agente{
  7.  
  8. public Hamming(String forma,String cor,Coord pos,int lifespan) {
  9. super(forma, cor, pos,lifespan);
  10. }
  11.  
  12. public String toString() {
  13. return "Agente Hamming:\n"+super.toString();
  14. }
  15.  
  16. public void move(Ambiente a) {
  17. Random rd = new Random();
  18. Objeto hamm;
  19. int aux;
  20. int final_aux=0;
  21. int coorx = 0;
  22. int coory = 0;
  23. lifespan--;
  24. if(lifespan>=1) { //se ainda nao for a ultima jogada do agente
  25. memory.inserePercepcaoM(perception);
  26. if(perception.getVisao().isEmpty()) { //se estiver vazio salta para uma posicao random
  27. pos.setX(rd.nextInt(a.getWidth())+1);
  28. pos.setY(rd.nextInt(a.getHeight())+1);
  29. }
  30.  
  31. else {
  32. for(Objeto obj: perception.getVisao()) { //comparacao de todas as precepcoes
  33. aux=4;
  34. for(Objeto mobj: memory.getObjetos()) { //com todos os objetos em memoria para calcHamming
  35. if(aux > obj.calcHamming(mobj)){
  36. aux=obj.calcHamming(mobj);
  37. }
  38. }
  39. if(final_aux < aux) {
  40. final_aux = aux;
  41. hamm=obj;
  42. coorx=obj.getPos().getX(); //obtem as coordenadas do que tiver maior Hamming
  43. coory=obj.getPos().getY();
  44. }
  45. }
  46. hamm = perception.getVisao().get(rd.nextInt(perception.getVisao().size()));
  47. memory.addtoObjetos(hamm);
  48. pos.setX(coorx); //adiciona na memoria e salta para o objeto correspondente (hamm)
  49. pos.setY(coory);
  50. }
  51. this.vision_camp(a);
  52. this.add_to_walk(new Coord(pos.getX(), pos.getY()));
  53. }
  54. else {
  55. a.getEntidades().remove(a.getEntidades().indexOf(this));
  56. }
  57.  
  58. }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement