Class BattleBoard

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public final class BattleBoard
    extends KFrame
    A GUI representation of a battle in the game. TODO this is split of the former BattleMap which did everything by itself. The split is not really completed, there is still code which potentially belongs into the other class.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  BattleBoard.DicePanel  
      private class  BattleBoard.InfoPanel  
      private class  BattleBoard.TurnPanel  
      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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
      private boolean alreadyConceded  
      private BattleMap battleMap  
      private static java.lang.String concedeBattle  
      private javax.swing.AbstractAction concedeBattleAction  
      private static int count  
      private BattleBoard.DicePanel dicePanel  
      private static java.lang.String doneWithPhase  
      private javax.swing.AbstractAction doneWithPhaseAction  
      private ClientGUI gui  
      private javax.swing.JMenu helpMenu  
      private BattleBoard.InfoPanel infoPanel  
      private java.lang.String infoText  
      private static java.util.logging.Logger LOGGER  
      private javax.swing.JMenuBar menuBar  
      private javax.swing.JMenu phaseMenu  
      private SaveWindow saveWindow  
      private int selectedCritterTag
      tag of the selected critter, or -1 if no critter is selected.
      private static java.lang.String showTerrainHazard  
      private javax.swing.AbstractAction showTerrainHazardAction  
      private static java.lang.String undoAll  
      private javax.swing.AbstractAction undoAllAction  
      private static java.lang.String undoLast  
      private javax.swing.AbstractAction undoLastAction  
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void actOnCritter​(GUIBattleChit battleChit)  
      private void actOnHex​(BattleHex hex)  
      void actOnHitsSet​(BattleHex battleHex)  
      private void actOnMisclick()  
      void actOnPendingBattleMoveOver()  
      private void actOnWindowClosingAttempt()  
      void addDiceResults​(java.lang.String strikerDesc, java.lang.String targetDesc, int targetNumber, java.util.List<java.lang.String> rolls)  
      private void alignChits​(java.util.Set<BattleHex> battleHexes)  
      void alignChits​(BattleHex battleHex)  
      private boolean confirmLeavingCreaturesOffboard()  
      private void disableDoneButton()  
      void dispose()  
      private void enableDoneButton()  
      private GUIBattleChit getBattleChitAtPoint​(java.awt.Point point)
      Return the BattleChit containing the given point, or null if none does.
      BattleHex getBattleHexByLabel​(java.lang.String hexLabel)  
      private Client getClient()  
      private GameClientSide getGame()  
      private java.lang.String getInfoText()  
      private void handleMousePressed​(GUIBattleChit battleChit, GUIBattleHex hex)  
      void highlightCrittersWithTargets()
      Select hexes containing critters that have valid strike targets.
      void highlightMobileCritters()
      Select all hexes containing critters eligible to move.
      private void highlightMoves​(BattleCritter critter)  
      void highlightPossibleCarries​(java.util.Set<BattleHex> set)
      Highlight all hexes to which carries could be applied
      private void highlightStrikes​(BattleUnit battleUnit)
      Highlight all hexes with targets that the critter can strike.
      private boolean isFightPhase()  
      private boolean isMovePhase()  
      private boolean isMyBattleTurn()  
      private boolean isMyTitanOffboard()  
      private void repaintHex​(BattleHex battleHex)  
      void reqFocus()  
      void rescale()  
      private void setBattleMarkerLocation​(boolean isDefender, java.lang.String hexLabel)  
      private void setDefaultCursor()  
      private void setupActions()  
      (package private) void setupFightMenu()  
      private void setupHelpMenu()  
      private void setupIcon()  
      void setupMoveMenu()  
      void setupRecruitMenu()  
      void setupSummonMenu()  
      private void setupTopMenu()  
      private void setWaitCursor()  
      java.lang.String toString()  
      void unselectAllHexes()  
      void unselectHex​(BattleHex hex)  
      void updatePhaseAndTurn()  
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • count

        private static int count
      • menuBar

        private javax.swing.JMenuBar menuBar
      • phaseMenu

        private javax.swing.JMenu phaseMenu
      • helpMenu

        private javax.swing.JMenu helpMenu
      • infoText

        private final java.lang.String infoText
      • selectedCritterTag

        private int selectedCritterTag
        tag of the selected critter, or -1 if no critter is selected.
      • showTerrainHazard

        private static final java.lang.String showTerrainHazard
        See Also:
        Constant Field Values
      • undoLastAction

        private javax.swing.AbstractAction undoLastAction
      • undoAllAction

        private javax.swing.AbstractAction undoAllAction
      • doneWithPhaseAction

        private javax.swing.AbstractAction doneWithPhaseAction
      • concedeBattleAction

        private javax.swing.AbstractAction concedeBattleAction
      • showTerrainHazardAction

        private javax.swing.AbstractAction showTerrainHazardAction
      • battleMap

        private final BattleMap battleMap
      • alreadyConceded

        private boolean alreadyConceded
    • Method Detail

      • actOnWindowClosingAttempt

        private void actOnWindowClosingAttempt()
      • setBattleMarkerLocation

        private void setBattleMarkerLocation​(boolean isDefender,
                                             java.lang.String hexLabel)
      • getClient

        private Client getClient()
      • isFightPhase

        private boolean isFightPhase()
      • isMovePhase

        private boolean isMovePhase()
      • isMyBattleTurn

        private boolean isMyBattleTurn()
      • getInfoText

        private java.lang.String getInfoText()
      • setupActions

        private void setupActions()
      • setupTopMenu

        private void setupTopMenu()
      • setupHelpMenu

        private void setupHelpMenu()
      • setupSummonMenu

        public void setupSummonMenu()
      • setupRecruitMenu

        public void setupRecruitMenu()
      • setupMoveMenu

        public void setupMoveMenu()
      • setupFightMenu

        void setupFightMenu()
      • updatePhaseAndTurn

        public void updatePhaseAndTurn()
      • setupIcon

        private void setupIcon()
      • getBattleChitAtPoint

        private GUIBattleChit getBattleChitAtPoint​(java.awt.Point point)
        Return the BattleChit containing the given point, or null if none does.
      • alignChits

        public void alignChits​(BattleHex battleHex)
      • alignChits

        private void alignChits​(java.util.Set<BattleHex> battleHexes)
      • highlightMobileCritters

        public void highlightMobileCritters()
        Select all hexes containing critters eligible to move.
      • highlightMoves

        private void highlightMoves​(BattleCritter critter)
      • highlightCrittersWithTargets

        public void highlightCrittersWithTargets()
        Select hexes containing critters that have valid strike targets.
      • highlightStrikes

        private void highlightStrikes​(BattleUnit battleUnit)
        Highlight all hexes with targets that the critter can strike.
      • highlightPossibleCarries

        public void highlightPossibleCarries​(java.util.Set<BattleHex> set)
        Highlight all hexes to which carries could be applied
      • setWaitCursor

        private void setWaitCursor()
      • setDefaultCursor

        private void setDefaultCursor()
      • confirmLeavingCreaturesOffboard

        private boolean confirmLeavingCreaturesOffboard()
      • isMyTitanOffboard

        private boolean isMyTitanOffboard()
      • actOnCritter

        private void actOnCritter​(GUIBattleChit battleChit)
      • actOnHex

        private void actOnHex​(BattleHex hex)
      • actOnMisclick

        private void actOnMisclick()
      • actOnPendingBattleMoveOver

        public void actOnPendingBattleMoveOver()
      • rescale

        public void rescale()
      • reqFocus

        public void reqFocus()
      • enableDoneButton

        private void enableDoneButton()
      • disableDoneButton

        private void disableDoneButton()
      • unselectAllHexes

        public void unselectAllHexes()
      • unselectHex

        public void unselectHex​(BattleHex hex)
      • actOnHitsSet

        public void actOnHitsSet​(BattleHex battleHex)
      • repaintHex

        private void repaintHex​(BattleHex battleHex)
      • addDiceResults

        public void addDiceResults​(java.lang.String strikerDesc,
                                   java.lang.String targetDesc,
                                   int targetNumber,
                                   java.util.List<java.lang.String> rolls)
      • getBattleHexByLabel

        public BattleHex getBattleHexByLabel​(java.lang.String hexLabel)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.awt.Component
      • dispose

        public void dispose()
        Overrides:
        dispose in class KFrame