acutesoftware/virtual-AI-simulator

View on GitHub

Showing 31 of 91 total issues

Function denoise_grid has a Cognitive Complexity of 53 (exceeds 5 allowed). Consider refactoring.
Open

    def denoise_grid(self, val, expand=1):
        """
        for every cell in the grid of 'val' fill all cells
        around it to de noise the grid
        """
Severity: Minor
Found in vais/worlds.py - About 1 day to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function expand_seed has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
Open

    def expand_seed(self, start_seed, num_iterations, val):
        """
        takes a seed start point and grows out in random
        directions setting cell points to val
        """
Severity: Minor
Found in vais/worlds.py - About 3 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function find_best_ingredients has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
Open

def find_best_ingredients(ingredients, guests):
    """
    
    """
    ingredient_ranking = {}
Severity: Minor
Found in scripts/recipe_finder.py - About 3 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

File worlds.py has 273 lines of code (exceeds 250 allowed). Consider refactoring.
Open

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# worlds.py

from random import randint
Severity: Minor
Found in vais/worlds.py - About 2 hrs to fix

    Function random_stats has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
    Open

        def random_stats(self, all_stats, race, ch_class):
            """
            create random stats based on the characters class and race
            This looks up the tables from CharacterCollection to get
            base stats and applies a close random fit
    Severity: Minor
    Found in vais/character.py - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function run has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
    Open

        def run(self, num_runs, show_trails, log_file_base):
            """
            Run each agent in the world for 'num_runs' iterations
            Optionally saves grid results to file if base name is
            passed to method.
    Severity: Minor
    Found in vais/worlds.py - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function add_life has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
    Open

        def add_life(self):
            """
            adds plants and animals to the world. Tries to do this in groups
            or clusters as well as random 'outcrops' or herds.
            Uses rules list to determine types and quantities of life according
    Severity: Minor
    Found in vais/planet.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function pick_action_todo has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
    Open

    def pick_action_todo():
        """
        only for testing and AI - user will usually choose an action
        Sort of works
        """
    Severity: Minor
    Found in vais/examples/game_incremental.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function agent_color has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
    Open

        def agent_color(self, val):
            """
            gets a colour for agent 0 - 9
            """
            if val == '0': 
    Severity: Minor
    Found in vais/view_world.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function main has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
    Open

    def main():
        """
        test program for VAIS.
        Generates several planets and populates with animals and plants.
        Then places objects and tests the sequences.
    Severity: Minor
    Found in vais/run.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function add_mountains has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
    Open

        def add_mountains(self):
            """
            instead of the add_blocks function which was to produce
            line shaped walls for blocking path finding agents, this
            function creates more natural looking blocking areas like
    Severity: Minor
    Found in vais/worlds.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function __init__ has 8 arguments (exceeds 4 allowed). Consider refactoring.
    Open

        def __init__(self, name, num_seeds, width, height, wind, rain, sun, lava):
    Severity: Major
    Found in vais/planet.py - About 1 hr to fix

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

          def __init__(self, name, race, ch_class, stats, skills, story, inventory):
      Severity: Major
      Found in vais/character.py - About 50 mins to fix

        Avoid deeply nested control flow statements.
        Open

                                if self.grd.get_tile(y,x) != val:
                                    self.grd.set_tile(y, x, TERRAIN_LAND)
                                    num_iterations -= 1
                    new_x = cur_pos[0] + randint(0,3)-2
        Severity: Major
        Found in vais/worlds.py - About 45 mins to fix

          Avoid deeply nested control flow statements.
          Open

                                  for x in range(-expand, expand):
                                      new_x = col+x
                                      new_y = row+y
                                      if new_x < 0: new_x = 0
                                      if new_y < 0: new_y = 0
          Severity: Major
          Found in vais/worlds.py - About 45 mins to fix

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

            def build_world(height, width, num_seeds, perc_land, perc_sea, perc_blocked):    
            Severity: Minor
            Found in vais/world_generator.py - About 45 mins to fix

              Function method2 has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
              Open

              def method2():
                  for start_seed in range(1, 9999999):
                      random.seed(start_seed)
                      if start_seed % 1000 == 0:
                          logger.debug('seed = ' + str(start_seed))
              Severity: Minor
              Found in vais/z_prototypes/random_string_finder.py - About 45 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function method1 has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
              Open

              def method1():
                  for start_seed in range(1, 9999):
                      random.seed(start_seed)
                      if start_seed % 100 == 0:
                          logger.debug('seed = ' + str(start_seed))
              Severity: Minor
              Found in vais/z_prototypes/random_string_finder.py - About 45 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function refresh_stats has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
              Open

                  def refresh_stats(self):
                      """
                      only need this when generating terrain (sea = 100 - perc_land at start).
                      This function forces a recount, otherwise just call the variables
                      """
              Severity: Minor
              Found in vais/worlds.py - About 45 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function show_message has 5 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  def show_message(self, c_attack, c_defend, result, dmg, print_console='Yes'):
              Severity: Minor
              Found in vais/battle.py - About 35 mins to fix
                Severity
                Category
                Status
                Source
                Language