# Hierarchy For All Packages

Package Hierarchies:

- controllers.Heuristics,
- controllers.human,
- controllers.replayer,
- controllers.sampleGA,
- controllers.sampleMCTS,
- controllers.sampleonesteplookahead,
- controllers.sampleRandom,
- core,
- core.competition,
- core.content,
- core.game,
- core.player,
- core.termination,
- ontology,
- ontology.avatar,
- ontology.avatar.oriented,
- ontology.effects,
- ontology.effects.binary,
- ontology.effects.unary,
- ontology.physics,
- ontology.sprites,
- ontology.sprites.missile,
- ontology.sprites.npc,
- ontology.sprites.producer,
- tools

## Class Hierarchy

- java.lang.Object
  - core.player.AbstractPlayer
    - controllers.sampleMCTS.Agent
    - controllers.human.Agent
    - controllers.replayer.Agent
    - controllers.sampleRandom.Agent
    - controllers.sampleonesteplookahead.Agent
    - controllers.sampleGA.Agent
  - core.competition.AgentExecutor
  - core.ArcadeMachine
  - core.competition.CompetitionParameters
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.JComponent (implements java.io.Serializable)
        - core.VGDLViewer
      - java.awt.Window (implements javax.accessibility.Accessible)
        - java.awt.Frame (implements java.awt.MenuContainer)
          - javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - tools.JEasyFrame
  - core.content.Content
    - core.content.GameContent
    - core.content.InteractionContent
    - core.content.MappingContent
    - core.content.SpriteContent
    - core.content.TerminationContent
  - ontology.effects.Effect
    - ontology.effects.binary.AttractGaze
    - ontology.effects.binary.BounceForward
    - ontology.effects.unary.ChangeResource
    - ontology.effects.unary.CloneSprite
    - ontology.effects.binary.CollectResource
    - ontology.effects.unary.FlipDirection
    - ontology.effects.binary.KillIfFromAbove
    - ontology.effects.unary.KillIfHasLess
    - ontology.effects.unary.KillIfHasMore
    - ontology.effects.binary.KillIfOtherHasMore
    - ontology.effects.unary.KillSprite
    - ontology.effects.binary.PullWithIt
    - ontology.effects.unary.ReverseDirection
    - ontology.effects.unary.SpawnIfHasMore
    - ontology.effects.unary.StepBack
    - ontology.effects.binary.TeleportToExit
    - ontology.effects.unary.TransformTo
    - ontology.effects.unary.TurnAround
    - ontology.effects.unary.UndoAll
    - ontology.effects.binary.WallStop
    - ontology.effects.unary.WrapAround
  - tools.ElapsedCpuTimer
  - core.game.Event (implements java.lang.Comparable<T>)
  - core.game.Game
    - core.game.BasicGame
    - core.game.ForwardModel
  - core.game.Game.Bucket
  - ontology.physics.GridPhysics (implements ontology.physics.Physics)
    - ontology.physics.ContinuousPhysics
      - ontology.physics.GravityPhysics
      - ontology.physics.NoFrictionPhysics
  - tools.IO
  - java.awt.event.KeyAdapter (implements java.awt.event.KeyListener)
    - tools.KeyInput
  - core.Node
  - core.game.Observation (implements java.lang.Comparable<T>)
  - tools.Pair (implements java.lang.Comparable<T>, java.util.Map.Entry<K,V>)
  - controllers.sampleMCTS.SingleMCTSPlayer
  - controllers.sampleMCTS.SingleTreeNode
  - core.SpriteGroup
  - controllers.Heuristics.StateHeuristic
    - controllers.Heuristics.SimpleStateHeuristic
    - controllers.Heuristics.WinScoreHeuristic
  - core.game.StateObservation
  - tools.StatSummary
  - core.termination.Termination
    - core.termination.MultiSpriteCounter
    - core.termination.SpriteCounter
    - core.termination.Timeout
  - Test
  - ontology.Types
  - tools.Utils
  - tools.Vector2d
  - core.VGDLFactory
  - core.VGDLParser
  - core.VGDLRegistry
  - core.VGDLSprite
    - ontology.sprites.Conveyor
    - ontology.sprites.Flicker
      - ontology.sprites.OrientedFlicker
      - ontology.sprites.Spreader
    - ontology.sprites.Immovable
      - ontology.sprites.Door
    - ontology.sprites.missile.Missile
      - ontology.sprites.missile.ErraticMissile
      - ontology.sprites.missile.RandomMissile
      - ontology.sprites.missile.Walker
        - ontology.sprites.missile.WalkerJumper
    - ontology.avatar.MovingAvatar
      - ontology.avatar.HorizontalAvatar
        - ontology.avatar.FlakAvatar
      - ontology.avatar.oriented.OrientedAvatar
        - ontology.avatar.oriented.InertialAvatar
          - ontology.avatar.oriented.MarioAvatar
        - ontology.avatar.oriented.MissileAvatar
        - ontology.avatar.oriented.ShootAvatar
          - ontology.avatar.oriented.AimedAvatar
            - ontology.avatar.oriented.AimedFlakAvatar
      - ontology.avatar.RotatingAvatar
        - ontology.avatar.RotatingFlippingAvatar
          - ontology.avatar.NoisyRotatingFlippingAvatar
      - ontology.avatar.VerticalAvatar
    - ontology.sprites.Passive
      - ontology.sprites.Resource
        - ontology.sprites.ResourcePack
    - ontology.sprites.npc.RandomNPC
      - ontology.sprites.npc.AlternateChaser
        - ontology.sprites.npc.RandomAltChaser
      - ontology.sprites.npc.Chaser
        - ontology.sprites.npc.Fleeing
      - ontology.sprites.npc.RandomInertial
    - ontology.sprites.producer.SpriteProducer
      - ontology.sprites.producer.Portal
      - ontology.sprites.producer.SpawnPoint
        - ontology.sprites.producer.Bomber

## Interface Hierarchy

- ontology.physics.Physics

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - tools.ElapsedCpuTimer.TimerType
    - ontology.Types.ACTIONS
    - ontology.Types.WINNER