Advertisement
pierrotdu18

Untitled

Aug 20th, 2014
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getCellsAroundCell(center, scope_min, scope_max, obstacles)
  2. {
  3.     var instructions = getInstructionsCount();
  4.     var cells = [];
  5.     for (var x = 0; x <= scope_max; x++)
  6.         for (var y = 0; y <= scope_max; y++)
  7.             if (x+y >= scope_min and x+y <= scope_max)
  8.                 pushAll(cells, [/*1*/
  9.                                 ((getCellFromXY(getCellX(center) + x, getCellY(center) + y) === null)
  10.                                 ?
  11.                                     null
  12.                                 :
  13.                                     ((obstacles)
  14.                                     ?
  15.                                         getCellFromXY(getCellX(center) + x, getCellY(center) + y)
  16.                                     :
  17.                                         ((isObstacle(getCellFromXY(getCellX(center) + x, getCellY(center) + y)))
  18.                                         ?
  19.                                             null
  20.                                         :
  21.                                             getCellFromXY(getCellX(center) + x, getCellY(center) + y)))),
  22.                                 /*2*/
  23.                                 ((getCellFromXY(getCellX(center) - x, getCellY(center) + y) === null)
  24.                                 ?
  25.                                     null
  26.                                 :
  27.                                     ((obstacles)
  28.                                     ?
  29.                                         getCellFromXY(getCellX(center) - x, getCellY(center) + y)
  30.                                     :
  31.                                         ((isObstacle(getCellFromXY(getCellX(center) - x, getCellY(center) + y)))
  32.                                         ?
  33.                                             null
  34.                                         :
  35.                                             getCellFromXY(getCellX(center) - x, getCellY(center) + y)))),
  36.                                 /*3*/
  37.                                 ((getCellFromXY(getCellX(center) + x, getCellY(center) - y) === null)
  38.                                 ?
  39.                                     null
  40.                                 :
  41.                                     ((obstacles)
  42.                                     ?
  43.                                         getCellFromXY(getCellX(center) + x, getCellY(center) - y)
  44.                                     :
  45.                                         ((isObstacle(getCellFromXY(getCellX(center) + x, getCellY(center) - y)))
  46.                                         ?
  47.                                             null
  48.                                         :
  49.                                             getCellFromXY(getCellX(center) + x, getCellY(center) - y)))),
  50.                                 /*4*/
  51.                                 ((getCellFromXY(getCellX(center) - x, getCellY(center) - y) === null)
  52.                                 ?
  53.                                     null
  54.                                 :
  55.                                     ((obstacles)
  56.                                     ?
  57.                                         getCellFromXY(getCellX(center) - x, getCellY(center) - y)
  58.                                     :
  59.                                         ((isObstacle(getCellFromXY(getCellX(center) - x, getCellY(center) - y)))
  60.                                         ?
  61.                                             null
  62.                                         :
  63.                                             getCellFromXY(getCellX(center) - x, getCellY(center) - y))))]);
  64.     while (inArray(cells, null)) removeElement(cells, null);
  65.     debug(getInstructionsCount() - instructions);
  66.     return cells;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement