Blatt6
Class GamePanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byBlatt6.GamePanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.lang.Runnable, java.io.Serializable

public class GamePanel
extends javax.swing.JPanel
implements java.lang.Runnable

Das Spielfeld

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
GamePanel(int cols, int rows)
          Erzeugt ein Spielfeld mit col Spalten und row Zeilen
 
Method Summary
 int getCols()
          Liefert die Anzahl der Spalten
 int getGridSize()
           
 Move getLastMove()
          Gibt den letzten Spielzug zurück
 Move getLastTestMove()
          Gibt den letzten zu testenden Spielzug zurück
 int getNrMoves()
          Liefert die Anzahl der Züge
 int getOffset()
           
 Player[] getPlayers()
          Liefert die beiden Spieler
 int getPosition(int col, int row)
          Liefert die Farbe des Feldes
 int[] getPossibleCols()
          Liefert die noch freien Spalten im Spielfeld
 int getRows()
          Liefert die Anzahl der Zeilen
 boolean isWinningPosition(int player)
          Ermittelt, ob die aktuelle Stellung eine Gewinnstellung für Spieler player ist
 void newGame(int cols, int rows)
          Beginnt ein neues Spiel
 void paint(java.awt.Graphics g)
           
 int play(int col, int player)
          Fürt einen Zug in Spalte col aus.
 void removeAllTestPlay()
          Löscht alle Testzüge
 void removeTestPlay()
          Löscht den letzten Testzug
 void run()
           
 void setPlayer(Player p, int nr)
          Setzt Spieler und Gegner
 void sleep(int time)
           
 int testPlay(int col, int player)
          Fürt einen Testzug in Spalte col aus.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GamePanel

public GamePanel(int cols,
                 int rows)
Erzeugt ein Spielfeld mit col Spalten und row Zeilen

Parameters:
cols - Anzahl der Spalten
rows - Anzahl der Zeilen Das Spielfeld wird mit -1 vorbelegt
Method Detail

getPosition

public int getPosition(int col,
                       int row)
Liefert die Farbe des Feldes

Parameters:
col - Spalte
row - Zeile
Returns:
0, 1 oder -1

getLastTestMove

public Move getLastTestMove()
Gibt den letzten zu testenden Spielzug zurück

Returns:
letzer Testzug

getLastMove

public Move getLastMove()
Gibt den letzten Spielzug zurück

Returns:
letzter Spielzug

newGame

public void newGame(int cols,
                    int rows)
Beginnt ein neues Spiel

Parameters:
cols - Anzahl der Spalten
rows - Anzahl der Zeilen

setPlayer

public void setPlayer(Player p,
                      int nr)
Setzt Spieler und Gegner

Parameters:
p - Spieler
nr - 0 = Spieler, 1 = Gegner

paint

public void paint(java.awt.Graphics g)

play

public int play(int col,
                int player)
Fürt einen Zug in Spalte col aus. Die Testzüge werden zuerst entfernt.

Parameters:
col - Spalte
player - Spieler
Returns:
Falls der Zug g¨ltig ist, die Zeile in der der Stein gefallen ist, -1 sonst

testPlay

public int testPlay(int col,
                    int player)
Fürt einen Testzug in Spalte col aus.

Parameters:
col - Spalte
player - Spieler
Returns:
Falls der Zug g¨ltig ist, die Zeile in der der Stein gefallen ist, -1 sonst

getPossibleCols

public int[] getPossibleCols()
Liefert die noch freien Spalten im Spielfeld

Returns:
freie Spalten

removeTestPlay

public void removeTestPlay()
Löscht den letzten Testzug


removeAllTestPlay

public void removeAllTestPlay()
Löscht alle Testzüge


isWinningPosition

public boolean isWinningPosition(int player)
Ermittelt, ob die aktuelle Stellung eine Gewinnstellung für Spieler player ist

Parameters:
player - Spielernummer
Returns:

sleep

public void sleep(int time)

run

public void run()
Specified by:
run in interface java.lang.Runnable

getCols

public int getCols()
Liefert die Anzahl der Spalten

Returns:

getRows

public int getRows()
Liefert die Anzahl der Zeilen

Returns:

getNrMoves

public int getNrMoves()
Liefert die Anzahl der Züge

Returns:

getGridSize

public int getGridSize()
Returns:

getOffset

public int getOffset()

getPlayers

public Player[] getPlayers()
Liefert die beiden Spieler

Returns: