SHARE
TWEET

Untitled

a guest May 25th, 2019 59 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.                         }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top