Package game.core

Class GameView

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
game.core.GameView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public final class GameView
extends javax.swing.JComponent
See Also:
Serialized Form
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    class  GameView.GameFrame  

    Nested classes/interfaces inherited from class javax.swing.JComponent

    javax.swing.JComponent.AccessibleJComponent

    Nested classes/interfaces inherited from class java.awt.Container

    java.awt.Container.AccessibleAWTContainer

    Nested classes/interfaces inherited from class java.awt.Component

    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.util.ArrayList<game.core.GameView.DebugLine> debugLines  
    static java.util.ArrayList<game.core.GameView.DebugPointer> debugPointers  
    static java.util.ArrayList<game.core.GameView.DebugText> debugTexts  
    static GameView lastInstance  

    Fields inherited from class javax.swing.JComponent

    listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

    Fields inherited from class java.awt.Component

    accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

    Fields inherited from interface java.awt.image.ImageObserver

    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
  • Constructor Summary

    Constructors 
    Constructor Description
    GameView​(_G_ game)  
  • Method Summary

    Modifier and Type Method Description
    static void addLines​(Game game, java.awt.Color color, int[] fromNnodeIndices, int[] toNodeIndices)
    Adds a set of lines to be drawn using the color specified (fromNnodeIndices.length must be equals toNodeIndices.length)

    Must be called every frame, i.e., lines are deleted after they are drawn.
    static void addLines​(Game game, java.awt.Color color, int fromNnodeIndex, int toNodeIndex)
    Adds a line to be drawn between specified nodes using the color specified

    Must be called every frame, i.e., lines are deleted after they are drawn.
    static void addLines​(Game game, java.awt.Color color, int fromX, int fromY, int toX, int toY)
    Adds a line leading between [fromX;fromY] -> [toX;toY] in pixels.
    static void addLinesPath​(Game game, java.awt.Color color, int fromNodeIndex, int toNodeIndex)
    Adds a line to be drawn between specified nodes for the purpose of PATH visualization, i.e., taking care of TORUS on X-AXIS.
    static void addPoints​(Game game, java.awt.Color color, int... nodeIndices)
    Add points of certain colors to node indices (highlights certain nodes)

    Must be called every frame, i.e., points are deleted after they are drawn.
    static void addText​(int x, int y, java.awt.Color color, java.lang.String text)  
    static void addText​(Game game, int nodeIndex, java.awt.Color color, java.lang.String text)  
    GameView.GameFrame getFrame()  
    java.awt.Dimension getPreferredSize()  
    void paintComponent​(java.awt.Graphics g)  
    void setScale2x​(boolean state)  
    GameView showGame()  

    Methods inherited from class javax.swing.JComponent

    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI

    Methods inherited from class java.awt.Container

    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

    Methods inherited from class java.awt.Component

    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • lastInstance

      public static GameView lastInstance
    • debugPointers

      public static java.util.ArrayList<game.core.GameView.DebugPointer> debugPointers
    • debugLines

      public static java.util.ArrayList<game.core.GameView.DebugLine> debugLines
    • debugTexts

      public static java.util.ArrayList<game.core.GameView.DebugText> debugTexts
  • Constructor Details

  • Method Details

    • paintComponent

      public void paintComponent​(java.awt.Graphics g)
      Overrides:
      paintComponent in class javax.swing.JComponent
    • getPreferredSize

      public java.awt.Dimension getPreferredSize()
      Overrides:
      getPreferredSize in class javax.swing.JComponent
    • setScale2x

      public void setScale2x​(boolean state)
    • showGame

      public GameView showGame()
    • getFrame

      public GameView.GameFrame getFrame()
    • addPoints

      public static void addPoints​(Game game, java.awt.Color color, int... nodeIndices)
      Add points of certain colors to node indices (highlights certain nodes)

      Must be called every frame, i.e., points are deleted after they are drawn.

      NOTE: This won't do anything in the competition but your code will still work.
      Parameters:
      game -
      color -
      nodeIndices -
    • addLines

      public static void addLines​(Game game, java.awt.Color color, int[] fromNnodeIndices, int[] toNodeIndices)
      Adds a set of lines to be drawn using the color specified (fromNnodeIndices.length must be equals toNodeIndices.length)

      Must be called every frame, i.e., lines are deleted after they are drawn.

      NOTE: This won't do anything in the competition but your code will still work.
      Parameters:
      game -
      color -
      fromNnodeIndices -
      toNodeIndices -
    • addLines

      public static void addLines​(Game game, java.awt.Color color, int fromNnodeIndex, int toNodeIndex)
      Adds a line to be drawn between specified nodes using the color specified

      Must be called every frame, i.e., lines are deleted after they are drawn.

      NOTE: This won't do anything in the competition but your code will still work.
      Parameters:
      game -
      color -
      fromNnodeIndex -
      toNodeIndex -
    • addLinesPath

      public static void addLinesPath​(Game game, java.awt.Color color, int fromNodeIndex, int toNodeIndex)
      Adds a line to be drawn between specified nodes for the purpose of PATH visualization, i.e., taking care of TORUS on X-AXIS.

      Must be called every frame, i.e., lines are deleted after they are drawn.

      NOTE: This won't do anything in the competition but your code will still work.
      Parameters:
      game -
      color -
      fromNnodeIndex -
      toNodeIndex -
    • addLines

      public static void addLines​(Game game, java.awt.Color color, int fromX, int fromY, int toX, int toY)
      Adds a line leading between [fromX;fromY] -> [toX;toY] in pixels.

      Must be called every frame, i.e., lines are deleted after they are drawn.

      NOTE: This won't do anything in the competition but your code will still work.
      Parameters:
      game -
      color -
      fromX -
      fromY -
      toX -
      toY -
    • addText

      public static void addText​(int x, int y, java.awt.Color color, java.lang.String text)
    • addText

      public static void addText​(Game game, int nodeIndex, java.awt.Color color, java.lang.String text)