src/assets/js/games/blockrain/blockrain.jquery.js

Summary

Maintainability
F
2 wks
Test Coverage

File blockrain.jquery.js has 1258 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*!
 * BlockRain.js 0.2.0
 * jQuery plugin that lets you put a playable (and configurable) game of Tetris in your site or just leave it in auto in the background.
 * http://aerolab.github.io/blockrain.js/
 *
Severity: Major
Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 3 days to fix

    Function _SetupBoard has 274 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        _SetupBoard: function() {
    
          var game = this;
          var info = this._info;
    
    
    Severity: Major
    Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 day to fix

      Function _SetupShapeFactory has 142 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          _SetupShapeFactory: function(){
            var game = this;
            if( this._shapeFactory !== null ){ return; }
      
      
      
      Severity: Major
      Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 5 hrs to fix

        Function Shape has 115 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

              function Shape(game, orientations, symmetrical, blockType) {
        
                $.extend(this, {
                  x: 0,
                  y: 0,
        Severity: Major
        Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 4 hrs to fix

          Function _getNiceShapes has 90 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              _getNiceShapes: function() {
                /*
                 * Things I need for this to work...
                 *  - ability to test each shape with this._filled data
                 *  - maybe give empty spots scores? and try to maximize the score?
          Severity: Major
          Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 3 hrs to fix

            Function _SetupFilled has 88 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                _SetupFilled: function() {
                  var game = this;
                  if( this._filled !== null ){ return; }
            
                  this._filled = {
            Severity: Major
            Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 3 hrs to fix

              Function _setupControls has 85 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  _setupControls: function(enable) {
              
                    var game = this;
              
                    var moveLeft = function(start) {
              Severity: Major
              Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 3 hrs to fix

                Function drawBlock has 75 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                        drawBlock: function(x, y, blockType, blockVariation, blockIndex, blockRotation, falling) {
                
                          // convert x and y to pixel
                          x = x * game._block_size;
                          y = y * game._block_size;
                Severity: Major
                Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 3 hrs to fix

                  Function animate has 64 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          animate: function() {
                            var drop = false,
                                moved = false,
                                gameOver = false,
                                now = Date.now();
                  Severity: Major
                  Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 2 hrs to fix

                    Function _setupTouchControls has 58 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                        _setupTouchControls: function(enable) {
                    
                          var game = this;
                    
                          // Movements can be held for faster movement
                    Severity: Major
                    Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 2 hrs to fix

                      Function _preloadThemeAssets has 52 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                          _preloadThemeAssets: function() {
                      
                            var game = this;
                      
                            var hexColorcheck = new RegExp('^#[A-F0-9+]{3,6}', 'i');
                      Severity: Major
                      Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 2 hrs to fix

                        Function func has 49 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                              var func = function(filled, checkCollisions, width, height, mode, _one_shape) {
                                if (!_one_shape) resetShapes();
                        
                                var possibles = new Array(width * height),
                                    evil = mode == 'evil',
                        Severity: Minor
                        Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 hr to fix

                          Function nextShape has 44 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                                  nextShape: function(_set_next_only) {
                                    var next = this.next,
                                      func, shape, result;
                          
                                    if (info.mode == 'nice' || info.mode == 'evil') {
                          Severity: Minor
                          Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 hr to fix

                            Function rotate has 42 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                                      rotate: function(direction) {
                                        var orientation =
                                          (this.orientation + (direction === "left" ? 1 : -1) + 4) % 4;
                            
                                        if (!game._checkCollisions(
                            Severity: Minor
                            Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 hr to fix

                              Function _createUI has 35 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                                  _createUI: function() {
                              
                                    var game = this;
                              
                                    // Score
                              Severity: Minor
                              Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 hr to fix

                                Function getBlockColor has 32 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                        getBlockColor: function(blockType, blockVariation, blockIndex, falling) {
                                          /**
                                           * The theme allows us to do many things:
                                           * - Use a specific color for the falling block (primary), regardless of the proper color.
                                           * - Use another color for the placed blocks (secondary).
                                Severity: Minor
                                Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 hr to fix

                                  Function _drawBackground has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                      _drawBackground: function() {
                                  
                                        if( typeof this._theme.background !== 'string' ) {
                                          return;
                                        }
                                  Severity: Minor
                                  Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 hr to fix

                                    Function _create has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                        _create: function() {
                                    
                                          var game = this;
                                    
                                          this.theme(this.options.theme);
                                    Severity: Minor
                                    Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 1 hr to fix

                                      Function scoreBlocks has 7 arguments (exceeds 4 allowed). Consider refactoring.
                                      Open

                                            function scoreBlocks(possibles, blocks, x, y, filled, width, height) {
                                      Severity: Major
                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 50 mins to fix

                                        Function drawBlock has 7 arguments (exceeds 4 allowed). Consider refactoring.
                                        Open

                                                drawBlock: function(x, y, blockType, blockVariation, blockIndex, blockRotation, falling) {
                                        Severity: Major
                                        Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 50 mins to fix

                                          Avoid deeply nested control flow statements.
                                          Open

                                                            if (y + blocks[i] < 0) {
                                                              gameOver = true;
                                                            }
                                          Severity: Major
                                          Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 45 mins to fix

                                            Function add has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                            Open

                                                    add: function(x, y, blockType, blockVariation, blockIndex, blockOrientation) {
                                            Severity: Minor
                                            Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 45 mins to fix

                                              Avoid deeply nested control flow statements.
                                              Open

                                                              if( game._checkCollisions(x, y + 1, blocks, true) ) {
                                                                // collision
                                                                score = scoreBlocks(possibles, blocks, x, y, filled, width, height);
                                                                if (score > best_score_for_shape) {
                                                                  best_score_for_shape = score;
                                              Severity: Major
                                              Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 45 mins to fix

                                                Function func has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                                Open

                                                      var func = function(filled, checkCollisions, width, height, mode, _one_shape) {
                                                Severity: Minor
                                                Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 45 mins to fix

                                                  Avoid too many return statements within this function.
                                                  Open

                                                                return getBlockVariation(game._theme.blocks[blockType], blockVariation);
                                                  Severity: Major
                                                  Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 30 mins to fix

                                                    Avoid too many return statements within this function.
                                                    Open

                                                                  return getBlockVariation(game._theme.complexBlocks[blockType], blockVariation);
                                                    Severity: Major
                                                    Found in src/assets/js/games/blockrain/blockrain.jquery.js - About 30 mins to fix

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                if( falling ) {
                                                                  if( typeof game._theme.primary === 'string' && game._theme.primary !== '' ) {
                                                                    return game._theme.primary;
                                                                  } else if( typeof game._theme.blocks !== 'undefined' && game._theme.blocks !== null ) {
                                                                    return getBlockVariation(game._theme.blocks[blockType], blockVariation);
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 4 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1108..1116

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 133.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                } else {
                                                                  if( typeof game._theme.secondary === 'string' && game._theme.secondary !== '' ) {
                                                                    return game._theme.secondary;
                                                                  } else if( typeof game._theme.blocks !== 'undefined' && game._theme.blocks !== null ) {
                                                                    return getBlockVariation(game._theme.blocks[blockType], blockVariation);
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 4 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1100..1108

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 133.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            var moveRight = function(start) {
                                                              if( ! start ) { game._board.holding.right = null; return; }
                                                              if( ! game._board.holding.right ) {
                                                                game._board.cur.moveRight(); 
                                                                game._board.holding.right = Date.now(); 
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 4 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1440..1447

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 126.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            var moveLeft = function(start) {
                                                              if( ! start ) { game._board.holding.left = null; return; }
                                                              if( ! game._board.holding.left ) {
                                                                game._board.cur.moveLeft(); 
                                                                game._board.holding.left = Date.now();
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 4 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1448..1455

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 126.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                      (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t=0,i=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var s,n,a=i.call(arguments,1),o=0,r=a.length;r>o;o++)for(s in a[o])n=a[o][s],a[o].hasOwnProperty(s)&&void 0!==n&&(t[s]=e.isPlainObject(n)?e.isPlainObject(t[s])?e.widget.extend({},t[s],n):e.widget.extend({},n):n);return t},e.widget.bridge=function(t,s){var n=s.prototype.widgetFullName||t;e.fn[t]=function(a){var o="string"==typeof a,r=i.call(arguments,1),h=this;return a=!o&&r.length?e.widget.extend.apply(null,[a].concat(r)):a,o?this.each(function(){var i,s=e.data(this,n);return"instance"===a?(h=s,!1):s?e.isFunction(s[a])&&"_"!==a.charAt(0)?(i=s[a].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+a+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var t=e.data(this,n);t?(t.option(a||{}),t._init&&t._init()):e.data(this,n,new s(a,this))}),h}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(i,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=t++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget});
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 3 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 12..12

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 107.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            var moveRight = function(event){
                                                              event.preventDefault();
                                                              game._board.cur.moveRight();
                                                              game._board.holding.right = Date.now();
                                                              game._board.holding.left = null;
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 3 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1563..1569

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 104.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            var moveLeft = function(event){
                                                              event.preventDefault();
                                                              game._board.cur.moveLeft();
                                                              game._board.holding.left = Date.now();
                                                              game._board.holding.right = null;
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 3 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1570..1576

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 104.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            if( typeof this._theme.complexBlocks !== 'undefined' ){
                                                              var keys = Object.keys(this._theme.complexBlocks);
                                                      
                                                              // Load the complexBlocks
                                                              for( var i = 0; i < keys.length; i++ ) {
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 3 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1183..1190

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 101.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            else if( typeof this._theme.blocks !== 'undefined' ){
                                                              var keys = Object.keys(this._theme.blocks);
                                                      
                                                              // Load the blocks
                                                              for( var i = 0; i < keys.length; i++ ) {
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 3 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1175..1190

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 101.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                else if( typeof game._theme.blocks !== 'undefined' ) {
                                                                  if( $.isArray(game._theme.blocks[result.blockType]) ) {
                                                                    result.blockVariation = game._randInt(0, game._theme.blocks[result.blockType].length-1);
                                                                  } else {
                                                                    result.blockVariation = null;
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 2 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 790..803

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 94.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                if( typeof game._theme.complexBlocks !== 'undefined' ) {
                                                                  if( $.isArray(game._theme.complexBlocks[result.blockType]) ) {
                                                                    result.blockVariation = game._randInt(0, game._theme.complexBlocks[result.blockType].length-1);
                                                                  } else {
                                                                    result.blockVariation = null;
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 2 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 797..803

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 94.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            game._$start = $(
                                                              '<div class="blockrain-start-holder" style="position:absolute;">'+
                                                                '<div class="blockrain-start">'+
                                                                  '<div class="blockrain-start-msg">'+ this.options.playText +'</div>'+
                                                                  '<a class="blockrain-btn blockrain-start-btn">'+ this.options.playButtonText +'</a>'+
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 2 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1259..1265

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 76.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            game._$gameover = $(
                                                              '<div class="blockrain-game-over-holder" style="position:absolute;">'+
                                                                '<div class="blockrain-game-over">'+
                                                                  '<div class="blockrain-game-over-msg">'+ this.options.gameOverText +'</div>'+
                                                                  '<a class="blockrain-btn blockrain-game-over-btn">'+ this.options.restartButtonText +'</a>'+
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 2 hrs to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1244..1250

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 76.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                moveRight: function() {
                                                                  if (!game._checkCollisions(this.x + 1, this.y, this.getBlocks())) {
                                                                    this.x++;
                                                                    game._board.renderChanged = true;
                                                                  }
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 1 hr to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 505..510

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 72.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                moveLeft: function() {
                                                                  if (!game._checkCollisions(this.x - 1, this.y, this.getBlocks())) {
                                                                    this.x--;
                                                                    game._board.renderChanged = true;
                                                                  }
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 1 hr to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 499..504

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 72.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                  if( this.holding.right && (now - this.holding.right) >= this.holdingThreshold ) {
                                                                    moved = true;
                                                                    this.cur.moveRight();
                                                                  }
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 1 hr to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 832..835

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 64.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                  if( this.holding.left && (now - this.holding.left) >= this.holdingThreshold ) {
                                                                    moved = true;
                                                                    this.cur.moveLeft();
                                                                  }
                                                      Severity: Major
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 1 hr to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 838..841

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 64.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            game._$gameover.find('.blockrain-game-over-btn').click(function(event){
                                                              event.preventDefault();
                                                              game.restart();
                                                            });
                                                      Severity: Minor
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 40 mins to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1253..1256

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 48.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            game._$start.find('.blockrain-start-btn').click(function(event){
                                                              event.preventDefault();
                                                              game.start();
                                                            });
                                                      Severity: Minor
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 40 mins to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1266..1269

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 48.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                              if( typeof this._theme.background === 'string' ) {
                                                                this._$canvas.css('background-color', this._theme.background);
                                                              }
                                                      Severity: Minor
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 30 mins to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 1217..1219

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 45.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                            if( typeof this._theme.background === 'string' ) {
                                                              this._$canvas.css('background-color', this._theme.background);
                                                            }
                                                      Severity: Minor
                                                      Found in src/assets/js/games/blockrain/blockrain.jquery.js and 1 other location - About 30 mins to fix
                                                      src/assets/js/games/blockrain/blockrain.jquery.js on lines 187..189

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 45.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      There are no issues that match your filters.

                                                      Category
                                                      Status