Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // JE SAIS QU'IL Y A PAS BESOIN DE 2 FONCTIONS MAIS JE REGLERAIS CA PLUS TARD
  2.  
  3.  
  4.  
  5. global Voisins = [] ;
  6. if(getTurn() == 1) {
  7.  
  8. for (var i = 0; i < 613 ; i++) {
  9. Voisins[i] = [] ;
  10. if (getCellFromXY(getCellX(i) + 1, getCellY(i)) and isEmptyCell(getCellFromXY(getCellX(i) + 1, getCellY(i)))){
  11.     push (Voisins[i], getCellFromXY(getCellX(i) + 1, getCellY(i))) ;   
  12.  
  13. }
  14. if (getCellFromXY(getCellX(i) - 1, getCellY(i)) and isEmptyCell(getCellFromXY(getCellX(i) - 1, getCellY(i)))){
  15.         push (Voisins[i], getCellFromXY(getCellX(i) - 1, getCellY(i))) ;
  16.        
  17. }
  18. if (getCellFromXY(getCellX(i) , getCellY(i)+ 1) and isEmptyCell(getCellFromXY(getCellX(i) , getCellY(i)+ 1))) {
  19.             push (Voisins[i], getCellFromXY(getCellX(i) , getCellY(i)+ 1)) ;
  20.            
  21. }
  22. if (getCellFromXY(getCellX(i) , getCellY(i)- 1) and isEmptyCell(getCellFromXY(getCellX(i) , getCellY(i)- 1))) {
  23.                 push (Voisins[i], getCellFromXY(getCellX(i) , getCellY(i)- 1)) ;
  24.            
  25. }  
  26. }
  27. }
  28. function casesAccessiblesParLePoireau() {
  29. var VoisinsTemp = Voisins ;
  30. var poireauxTous = [] ;
  31. push(poireauxTous, getAliveAllies()) ;
  32. push(poireauxTous, getAliveEnemies()) ;
  33. removeElement(poireauxTous, getLeek()) ;
  34. var casesPoireaux = [] ;
  35.  
  36. for (var poireaux = 0; poireaux ==! count(poireauxTous) ; poireaux++) {
  37.     push(casesPoireaux, getCell(poireauxTous[poireaux])) ;
  38. }   for (var cellPoireaux = 0; cellPoireaux < count(casesPoireaux) ; cellPoireaux++) {
  39.         //remove(VoisinsTemp[casesPoireaux]) ;
  40. }
  41. //debug("CASES ALIEES ICIIIIIIIIIIIIIIIIIIIIIIIII : " + casesAllies) ;
  42.  
  43. var cell1 = [getCell()] ;
  44. var cell2 = [] ;
  45. var casesAccessibles = [] ;
  46. for (var pm = getMP() ; pm ==! 0 ; pm--) {
  47.     for (var izzy in cell1) {
  48.         if (!inArray(casesAccessibles, cell1[izzy])){
  49.         for (var xyz in Voisins[izzy]) {
  50.             if (isEmptyCell(xyz)) {
  51.                 push(casesAccessibles, xyz) ;
  52.                 push(cell2,xyz) ;
  53.                 } //isEmptyCell
  54.             }   //for
  55.         }   //!inArray
  56.     }
  57.     cell1 = cell2 ;
  58.     cell2 = [] ;
  59. }
  60.  
  61. mark(casesAccessibles, COLOR_BLUE) ;
  62. debug(getOperations()) ;
  63. debug("avant le return" + casesAccessibles) ;
  64. //moveToward(getNearestEnemy());
  65. return casesAccessibles ;
  66.  
  67. }
  68.  
  69.  
  70. function casesAccessiblesParLePoireauEnnemi() {
  71. var VoisinsTemp = Voisins ;
  72. var poireauxTous = [] ;
  73. push(poireauxTous, getAliveAllies()) ;
  74. push(poireauxTous, getAliveEnemies()) ;
  75. removeElement(poireauxTous, getNearestEnemy()) ;
  76. var casesPoireaux = [] ;
  77.  
  78. for (var poireaux = 0; poireaux ==! count(poireauxTous) ; poireaux++) {
  79.     push(casesPoireaux, getCell(poireauxTous[poireaux])) ;
  80. }   for (var cellPoireaux = 0; cellPoireaux < count(casesPoireaux) ; cellPoireaux++) {
  81.         //remove(VoisinsTemp[casesPoireaux]) ;
  82. }
  83. //debug("CASES ALIEES ICIIIIIIIIIIIIIIIIIIIIIIIII : " + casesAllies) ;
  84.  
  85. var cell1 = [getCell(getNearestEnemy())] ;
  86. var cell2 = [] ;
  87. var casesAccessiblesEnn = [] ;
  88. for (var pm = getMP() ; pm ==! 0 ; pm--) {
  89.     for (var izzy in cell1) {
  90.         for (var xyz in Voisins[izzy]) {
  91.         //debug("On entre dans le for") ;
  92.             if (isEmptyCell(xyz)) {
  93.             //debug("On entre dans le if") ;
  94.                 push(casesAccessiblesEnn, xyz) ;
  95.                 push(cell2,xyz) ;
  96.                
  97.             }  
  98.         }  
  99.     }
  100.     cell1 = cell2 ;
  101.     cell2 = [] ;
  102. }
  103.  
  104.  
  105. mark(casesAccessiblesEnn, COLOR_RED) ;
  106. debug(getOperations()) ;
  107. moveToward(getNearestEnemy());
  108. return casesAccessiblesEnn ;
  109.  
  110. }
  111.  
  112.  
  113.  
  114. ------ ENTREE DANS UN AUTRE FICHIER ----------
  115.  
  116. include('/Fonctions/casesAccessiblesParLePoireau/') ;
  117. //var casesAccessibles2 = casesAccessiblesParLePoireau()
  118. //var casesAccessiblesEnn2 = casesAccessiblesParLePoireauEnnemi()
  119. function cacheCache() {
  120.  
  121. debug("entrée dans cache cache") ;
  122.  
  123. var casesAccessiblesPoireau = casesAccessiblesParLePoireau() ;
  124. debug(casesAccessiblesPoireau) ;
  125. var casesAccessiblesEnn = casesAccessiblesParLePoireauEnnemi() ;
  126. debug(casesAccessiblesEnn) ;
  127. var casesSafe = [] ;
  128.  
  129. for (var lenny in casesAccessiblesPoireau) {
  130. debug("premier for") ;
  131.     for (var lenny2 in casesAccessiblesEnn) {
  132.     debug("deuxième for") ;
  133.         if (lineOfSight(casesAccessiblesPoireau[lenny], casesAccessiblesEnn[lenny2])){
  134.         debug("le if") ;
  135.         }   else {
  136.                 debug("le else") ;
  137.                 push (casesSafe, casesAccessiblesPoireau[lenny]) ;
  138.             }
  139.         }
  140.     }
  141. mark(casesSafe, getColor(125, 185, 0)) ;
  142. return casesSafe ;
  143. }
  144.  
  145. cacheCache() ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement