Module: BehaviorTree::Dsl::Randomizer

Included in:
Builder
Defined in:
lib/behavior_tree/concerns/dsl/randomizer.rb

Overview

Generates random trees.

Instance Method Summary collapse

Instance Method Details

#build_random_tree(recursion_amount: 10) ⇒ Object

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
# File 'lib/behavior_tree/concerns/dsl/randomizer.rb', line 7

def build_random_tree(recursion_amount: 10)
  raise ArgumentError, 'Recursion amount must be greater than 0' if recursion_amount < 1

  build do
    send(%i[sel seq].sample) do
      rand(3..5).times { recurse(recursion_amount).() }
    end
  end
end