Here is my code from Game AI.
Browse through or download my code.
Run the main method inside app.Main to open a list of options of code to run. To run any behavior, click on its respective button. It is possible to close each processing window without closing Main.
AppButton
A base class for a consistent look between buttons.
ClassesPanel
Renders a list of buttons to start by a processing applet.
Main
Provides a list of buttons for ClassesPanel to render and start by a processing applet.
Composite
Defines sequential, random, and parallel selector and sequence behavior trees.
Decorator
Defines finite and infinite selector and sequence behavior trees.
Tree
Represents a behavior tree.
Tree
Represents a decision tree.
Digraph
A mathematical structure that consists of two sets of elements: a set of
vertices and a set of edges. Edges are weighted ordered pairs of vertices.
HashDigraph
A graph implementation using a hash map of vertices to a hash map of adjacent vertices to weights.
DigraphProblem
A graph based problem where the objective is to find a path from the initial vertex to the goal vertex.
Domain
A set of source points where all points have visibility between each other.
FloorGraph
A HashDigraph that calculates edge values by a weight function.
Breadcrumb
Provides a stateless representation to draw a breadcrumb.
Character
Provides a stateless representation to draw a character.
Drive
Provides a stateless representation to draw a drive bar.
Path
Provides a stateless representation to draw a path.
SmallGraph
Provides a stateless representation to draw a digraph.
SourcePoint
Provides a stateless representation to draw a target.
Decider
Decides whether a finite automata accepts a string.
DeterministicFiniteAutomaton
A deterministic finite automaton whose transition function defines a constant
output state from states for every pair of state in states and symbol in alphabet.
FiniteAutomaton
A finite automaton can be defined by five components: a state set, an
alphabet, a transition function, an initial state, and a goal set.
NondeterministicFiniteAutomaton
A non-deterministic finite automaton whose transition function defines a some
(possibly changing) output state(s) from states for some pairs of state in
states and symbol in alphabet.
HigherOrder
Provides higher order functions.
Procedure
Represents an operation that accepts no arguments and returns no result.
Unlike most other functional interfaces, Procedure is expected to
operate via side-effects.
QuadConsumer
Represents an operation that accepts four input arguments and returns no result. This is
the four-arity specialization of Consumer. Unlike most other functional interfaces,
QuadConsumer is expected to operate via side-effects.
TriFunction
Represents a function that accepts three arguments and produces a result.
This is the three-arity specialization of function.
Learning
Provides decision tree learning.
Model
A basic, immutable model for a regression.
Models
Reads models from a csv and trains decision trees on those models.
Recording
Records the behavior tree algorithm.
Expander
Provides node expansion function.
Node
An immutable structure of four components: state, action, parent, and path cost.
Problem
A problem can be defined by five components: initial state, actions,
transition model, goal test, and path cost.
Solver
Provides node solution function.
GraphSearch
A queue search that stores explored nodes.
PriorityQueueSearch
A priority queue search that stores explored nodes.
QueueSearch
An abstract search using a queue of leaf nodes available for expansion.
DecisionMaking
A base class for decision making.
IndoorEnvironment
This class was created to remove specific graph creation from general decision making.
Movement
A base class for movement. Additionally, this class handles adding
characters, bucketing characters, and dropping breadcrumbs.
Screen
A base class for consistent look and basic operations between screens.
jacob's grid thing
The background image for the indoor envrionment.
BehaviorTree
Runs the behavior tree algorithm.
DecisionTree
Runs the decision tree algorithm.
Learning
Runs and applies the decision tree learning algorithm.
ArriveSteering
Runs the arrive steering algorithm.
BasicMotion
Runs the kinematic motion algorithm.
FlockingBehavior
Runs the flocking behavior algorithm.
WanderSteering
Runs the wander steering algorithm.
PathFinding
Runs the A* pathfinding algorithm and a pathfollowing algorithm.
AStarSearch
An informed priority queue search using an A* evaluation function.
BestFirstSearch
An abstract informed priority queue search using an evaluation function.
DijkstraSearch
An informed priority queue search using an A* evaluation function whose
heurisitic always returns zero.
Heuristics
Provides constants and out of the box heuristics.
Search
A functional interface for search.
Sequence
A basic, immutable, persistent, generic representation of a logical list.
Sequences
Provides empty, count, seq, conj, stream, concat, and reverse operations on sequences.
Blender
Provides steering weighted blending function.
FixedRadiusNearestNeighbor
Provides bucketing and neighbor functions.
Matching
Provides linear and angular position matching behaviors.
Movement
Provides steering wander, pursue, and avoid functions.
Mutation
Provides steering setting, restriction, and update functions.
Steering
A basic, immutable, two dimensional representation of a steering data structure.
Factory
Provides constants and factory functions.
Predicate
Provides satisfaction and decceleration predicates.
Target
A basic, immutable, unitless, two dimensional representation of a target data structure.
Comparators
Provides comparator constants and functions.
Mathf
Provides float constants, exponentiation functions, and trigonometric functions.
Pair
A basic, immutable representation of two non-null objects.
Random
Provides random float, random binomial, and random color functions.
Streams
Provides a stream of natural numbers.
Arithmetic
Provides dot, addition, subtraction, multiplication, and division functions.
Factory
Provides constants, factory functions, mapping functions, and application functions.
Property
Provides direction, magnitude, and unit vector functions.
Streams
Provides vector stream functions.
Vector
A basic, immutable, unitless, two dimensional representation of magnitude and direction.