Guest User

Untitled

a guest
Nov 21st, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1.  
  2. // ig.game.* are global objects being used to store results
  3. var findGemBlocks = function () {
  4. var connectedGems = [],
  5. finalGemBlocks = [],
  6. getConnectedGems = function (gem) {
  7. if (!_.include(connectedGems, gem)) {
  8. connectedGems.push(gem);
  9.  
  10. if (_.include(_.flatten(finalGemBlocks), gem)) return false;
  11. var candidates = ig.game.getAdjacentGemsOfSameColor(gem);
  12. candidates = _.filter(candidates, function (each) {
  13. getConnectedGems(each);
  14. if (_.include(connectedGems, each)) return false;
  15.  
  16. connectedGems.push(each);
  17. });
  18. }
  19.  
  20. return connectedGems;
  21. };
  22.  
  23. ig.game.availableGemBlocks = [];
  24. ig.game.singleGemBlocks = [];
  25. ig.game.dualGemBlocks = [];
  26.  
  27. _.each(ig.game.gemEntities, function (gem) {
  28. connectedGems = [];
  29. connectedGems = getConnectedGems(gem);
  30.  
  31. if (connectedGems) {
  32. if (connectedGems.length > 2) {
  33. ig.game.findStrongestGem(connectedGems);
  34. ig.game.availableGemBlocks.push(connectedGems);
  35. } else if (connectedGems.length == 2) {
  36. ig.game.dualGemBlocks.push(connectedGems);
  37. } else if (connectedGems.length == 1) {
  38. ig.game.singleGemBlocks.push(connectedGems);
  39. }
  40.  
  41. finalGemBlocks.push(connectedGems);
  42. }
  43. });
  44.  
  45. return finalGemBlocks;
  46. };
Add Comment
Please, Sign In to add comment