# Serialized Form

- ## Package s3games.gui

  - ### Class s3games.gui.BoardCanvas extends java.awt.Canvas implements Serializable

    - ### Serialized Fields

      - #### gameSpec

            GameSpecification gameSpec

        reference to game specification

      - #### gState

            GameState gState

        reference to current game state

      - #### bgImage

            java.awt.Image bgImage

        background image of the game board

      - #### img

            ImageWithHotSpot img

        auxiliary variable for holding images with reference points

      - #### buffImg

            java.awt.image.BufferedImage buffImg

        we use double-buffering to avoid flickering

      - #### selectedElementName

            java.lang.String selectedElementName

        remembers the element that was selected by a mouse click

  - ### Class s3games.gui.ControllerWindow extends javax.swing.JFrame implements Serializable

    - ### Serialized Fields

      - #### controller

            Controller controller

        reference to the controller object

      - #### playerTypes

            Player.playerType[] playerTypes

        list of selected player types for each player

      - #### playerStrategies

            java.lang.String[] playerStrategies

        list of selected player strategies for each player

      - #### strategyHeuristics

            java.lang.String[][] strategyHeuristics

        list of selected heuristics for each player

      - #### jButton1

            javax.swing.JButton jButton1

      - #### jButton2

            javax.swing.JButton jButton2

      - #### jButton3

            javax.swing.JButton jButton3

      - #### jComboBox1

            javax.swing.JComboBox<E> jComboBox1

      - #### jComboBox2

            javax.swing.JComboBox<E> jComboBox2

      - #### jComboBox3

            javax.swing.JComboBox<E> jComboBox3

      - #### jComboBox4

            javax.swing.JComboBox<E> jComboBox4

      - #### jComboBox5

            javax.swing.JComboBox<E> jComboBox5

      - #### jComboBox6

            javax.swing.JComboBox<E> jComboBox6

      - #### jComboBox7

            javax.swing.JComboBox<E> jComboBox7

      - #### jLabel1

            javax.swing.JLabel jLabel1

      - #### jLabel10

            javax.swing.JLabel jLabel10

      - #### jLabel11

            javax.swing.JLabel jLabel11

      - #### jLabel12

            javax.swing.JLabel jLabel12

      - #### jLabel13

            javax.swing.JLabel jLabel13

      - #### jLabel14

            javax.swing.JLabel jLabel14

      - #### jLabel15

            javax.swing.JLabel jLabel15

      - #### jLabel16

            javax.swing.JLabel jLabel16

      - #### jLabel2

            javax.swing.JLabel jLabel2

      - #### jLabel3

            javax.swing.JLabel jLabel3

      - #### jLabel4

            javax.swing.JLabel jLabel4

      - #### jLabel5

            javax.swing.JLabel jLabel5

      - #### jLabel6

            javax.swing.JLabel jLabel6

      - #### jLabel7

            javax.swing.JLabel jLabel7

      - #### jLabel8

            javax.swing.JLabel jLabel8

      - #### jLabel9

            javax.swing.JLabel jLabel9

      - #### jPanel1

            javax.swing.JPanel jPanel1

      - #### jPanel2

            javax.swing.JPanel jPanel2

      - #### jPanel3

            javax.swing.JPanel jPanel3

      - #### jTextField1

            javax.swing.JTextField jTextField1

      - #### jTextField2

            javax.swing.JTextField jTextField2

      - #### jTextField3

            javax.swing.JTextField jTextField3

      - #### jTextField4

            javax.swing.JTextField jTextField4

      - #### jTextField5

            javax.swing.JTextField jTextField5

      - #### jTextField6

            javax.swing.JTextField jTextField6

  - ### Class s3games.gui.GameWindow extends javax.swing.JFrame implements Serializable

    - ### Serialized Fields

      - #### game

            Game game

        currently played game

      - #### boardCanvas

            BoardCanvas boardCanvas

        the board canvas that shows the game progress

      - #### repaint

            boolean repaint

        a repaint request

      - #### outputTexts

            java.util.ArrayList<E> outputTexts

        text that is shown to the user of various info

      - #### winner

            java.lang.String winner

        the winner of the last game

      - #### offsetX

            int offsetX

        for drawing of text = distance of right gap from left side

      - #### isSelectedElement

            boolean isSelectedElement

        determines if any element has been selected for a move

      - #### selectedElementName

            java.lang.String selectedElementName

        which element has been selected

      - #### lastMove

            Move lastMove

        the move that was performed for the mouse player

      - #### lastMoveReady

            java.lang.Object lastMoveReady

        synchronization object for the mouse player to indicate a user has made a new move

      - #### waitingForMove

            boolean waitingForMove

        is it our turn? should we allow the user to make the move?

      - #### allowedMoves

            java.util.ArrayList<E> allowedMoves

        list of allowed moves

      - #### gameRuns

            Switch gameRuns

        switch indicates whether the game is still on

      - #### canvas1

            java.awt.Canvas canvas1

  - ### Class s3games.gui.RobotControlWindow extends javax.swing.JFrame implements Serializable

    - ### Serialized Fields

      - #### robot

            Robot robot

        handle to an object for interfacing with the robot

      - #### keys

            char[] keys

        list of keys we respond to

      - #### key

            char key

        current key detected

      - #### terminate

            boolean terminate

        shall the window be closed?

      - #### position

            double[] position

        current robot arm position

- ## Package s3games.io

  - ### Class s3games.io.Config extends java.lang.Object implements Serializable

    - ### Serialized Fields

      - #### gamesFolder

            java.lang.String gamesFolder

        the place where the game specifications are located

      - #### imagePath

            java.lang.String imagePath

        the place where the images are located