Advertisement
Guest User

Untitled

a guest
May 25th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.75 KB | None | 0 0
  1. // ON TRAITE LES MOVES => ON REUPDATE LES LSITES A CHAQUE MOVE
  2. else if (!myUnits.isEmpty()) {
  3. //System.err.println("myUnits size " + myUnits.size());
  4.  
  5.  
  6.  
  7.  
  8. for (Unit unit : myUnits) {
  9. System.err.println("unit id " + unit.id);
  10. unitNode = state.map.nodes[calcID(unit.x, unit.y)];
  11. generateMoveList(unit);
  12.  
  13.  
  14. //System.err.println("nodesTomove size " + nodesToMove.size());
  15. //System.err.println("neutralNodestoMove size " + neutralNodesToMove.size());
  16. //System.err.println("walkableNodesToMove size " + walkableNodesToMove.size());
  17.  
  18. // CASES NEUTRES EN PRIO
  19. if (!neutralNodesToMove.isEmpty() && state.map.getQG(HIM) != null && unit.level == LEVEL.L1.id) {
  20. neutralNodesToMove = state.map.sortByDistance(neutralNodesToMove, state.map.getQG(HIM), DISTANCE.MIN);
  21. actions.add(new Action(ACTIONS.MOVE,unit.id,neutralNodesToMove.get(0).x,neutralNodesToMove.get(0).y));
  22. state.map.updateUnitMove(unit.level,unitNode.id,neutralNodesToMove.get(0).id);
  23. myIncome = updateIncome();
  24.  
  25. }
  26. // AUTRES CASES WALKABLE AUTRE QUE ACTIVE ME
  27. else if (!walkableNodesToMoveNoL3.isEmpty() && unit.level == LEVEL.L1.id && state.map.getQG(HIM) != null) {
  28. walkableNodesToMoveNoL3 = state.map.sortByDistance(walkableNodesToMoveNoL3, state.map.getQG(HIM), DISTANCE.MAX);
  29. System.err.println("getqg him " + state.map.getQG(HIM).y + " " + state.map.getQG(HIM).x);
  30. actions.add(new Action(ACTIONS.MOVE,unit.id,walkableNodesToMoveNoL3.get(0).x,walkableNodesToMoveNoL3.get(0).y));
  31. state.map.updateUnitMove(unit.level,unitNode.id,walkableNodesToMoveNoL3.get(0).id);
  32. myIncome = updateIncome();
  33. }
  34. // si LEVEL 3 A COTE D'UNE TOUR ENNEMIE => ON LA PETE
  35. else if (!walkableNodesToMoveL3.isEmpty() && unit.level == LEVEL.L3.id && state.map.getQG(HIM) != null && unitNode.isAdjTower()) {
  36.  
  37. for (Node node : walkableNodesToMoveL3) {
  38. if (node.building == TOWER && node.owner == HIM) {
  39. actions.add(new Action(ACTIONS.MOVE,unit.id,node.x,node.y));
  40. state.map.updateUnitMove(unit.level,unitNode.id,node.id);
  41. myIncome = updateIncome();
  42. break;
  43. }
  44. }
  45.  
  46. }
  47. // si LEVEL 2 A COTE D'UN ENNEMI NIVEAU 1 => ON LE PETE
  48. else if (!walkableNodesToMoveNoL3.isEmpty() && unit.level == LEVEL.L2.id && state.map.getQG(HIM) != null) {
  49.  
  50. for (Node node : walkableNodesToMoveNoL3) {
  51. if (node.unit == LEVEL.L1.id && node.owner == HIM) {
  52. actions.add(new Action(ACTIONS.MOVE,unit.id,node.x,node.y));
  53. state.map.updateUnitMove(unit.level,unitNode.id,node.id);
  54. myIncome = updateIncome();
  55. break;
  56. }
  57. }
  58.  
  59. }
  60.  
  61. else if (!walkableNodesToMoveL3.isEmpty() && unit.level == LEVEL.L3.id && state.map.getQG(HIM) != null) {
  62. walkableNodesToMoveL3 = state.map.sortByDistance(walkableNodesToMoveL3, state.map.getQG(HIM), DISTANCE.MIN);
  63. actions.add(new Action(ACTIONS.MOVE,unit.id,walkableNodesToMoveL3.get(0).x,walkableNodesToMoveL3.get(0).y));
  64. state.map.updateUnitMove(unit.level,unitNode.id,walkableNodesToMoveL3.get(0).id);
  65. myIncome = updateIncome();
  66. }
  67.  
  68. // CASE ACTIVE ME => on ne fait que push
  69. else if (!walkableNodesToPushNoL3.isEmpty() && unit.level != LEVEL.L3.id && state.map.getQG(HIM) != null) {
  70. walkableNodesToPushNoL3 = state.map.sortByDistance(walkableNodesToPushNoL3, state.map.getQG(HIM), DISTANCE.MIN);
  71. if (state.map.getQG(HIM) != null && walkableNodesToPushNoL3.get(0).getDistance(state.map.getQG(HIM)) < unitNode.getDistance(state.map.getQG(HIM))) {
  72. actions.add(new Action(ACTIONS.MOVE,unit.id,walkableNodesToPushNoL3.get(0).x,walkableNodesToPushNoL3.get(0).y));
  73. state.map.updateUnitMove(unit.level,unitNode.id,walkableNodesToPushNoL3.get(0).id);
  74. myIncome = updateIncome();
  75. }
  76.  
  77. }
  78.  
  79. else if (!walkableNodesToPushL3.isEmpty() && unit.level == LEVEL.L3.id && state.map.getQG(HIM) != null) {
  80. System.err.println("L3 push ");
  81. walkableNodesToPushL3 = state.map.sortByDistance(walkableNodesToPushL3, state.map.getQG(HIM), DISTANCE.MIN);
  82. if (state.map.getQG(HIM) != null && walkableNodesToPushL3.get(0).getDistance(state.map.getQG(HIM)) < unitNode.getDistance(state.map.getQG(HIM))) {
  83. actions.add(new Action(ACTIONS.MOVE,unit.id,walkableNodesToPushL3.get(0).x,walkableNodesToPushL3.get(0).y));
  84. state.map.updateUnitMove(unit.level,unitNode.id,walkableNodesToPushL3.get(0).id);
  85. myIncome = updateIncome();
  86. }
  87. }
  88.  
  89.  
  90. // WAIT
  91. else {
  92. actions.add(new Action(ACTIONS.WAIT));
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement