stasichase.gui
Class SpielplanNetz

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--stasichase.gui.SpielplanNetz

public class SpielplanNetz
extends JPanel

Stellt die einzelnen Stationen, Barrieren und Spieler dar. Das Panel ist transparent. Je nach Aufruf des Konstruktors werden nur die Stationen und Spieler gezeichnet (es existiert eine Hintergrundgrafik, die bereits die Strassen enthaelt) oder es werden auch die Strassen gezeichnet.
Die erste Ebene enthaelt dynamische Elemente, wie die Stationen und Spieler. Diese werden durch Ueberschreiben der paint() Methode auf dem Panel plaziert und ggf. modifiziert.

Version:
$Id: SpielplanNetz.java,v 1.40 2000/07/10 08:49:27 rieck Exp $
Author:
Hakan Cakar, Konrad Rieck, Konrad Kretschmer
See Also:
Serialized Form

Inner Class Summary
private  class SpielplanNetz.ColorFilter
           
 
Inner classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent, JComponent.IntVector, JComponent.KeyboardBinding, JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
Component.AWTTreeLock
 
Field Summary
private  int anzahl
           
private  int[] barriereKoordinaten
           
private  int[] barrieren
           
private  boolean bewegteBarriere
           
private  ImageIcon bild
           
private  boolean dynamisch
           
private  int lokalerSpieler
           
private  Vector markierteStationen
           
private  MenuePanelRechts menuPanelRechts
           
private  Vector selektierteStationen
           
private  int[] spielerPositionen
           
private  SpielfigurPool spielfigurPool
           
private  Spielplan spielplan
           
private  int zeigeInfo
           
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
SpielplanNetz(Spielplan sp, boolean t, MenuePanelRechts m, SpielfigurPool sfp)
          Zeichnet das SpielplanNetz.
 
Method Summary
 void aktiviereInfo(int nr)
           
 void bewegeBarriere(int x, int y)
           
 void deaktiviereInfo()
           
 void demarkiereTipp(Move move)
          Umkehrfunktion zu markiereTip
 void demarkiereZielStation()
          Umkehrmethode zu markiereZielStation.
 void demarkiereZielStation(int nummer)
          Umkehrmethode zu markiereZielStation
 void loescheBarriere(int nummer)
           
 void markiereStation(int nummer)
          Zeichnet eine markierte Zielstation.
 void markiereTipp(Move move)
          Zeichnet einen Tipp
 void paint(Graphics g)
          paint (ueberschrieben) In dieser Methode werden dynamische Elemente dargestellt, d.h.
 void selektiereStation(int nummer)
          Selektiert eine Zielstation.
 void setzeBarriere(int nummer)
           
 boolean stationHatBarriere(int nummer)
           
private  void updateSpieler()
          Erneuere die Positionen der Spieler.
private  void zeichneBarriere(int x, int y, Graphics g)
          Zeichnet eine Barriere.
private  void zeichneInfo(int x, int y, int nr, Graphics g)
           
private  void zeichneMarkierung(int x, int y, int type, Graphics g)
          Zeichnet eine Markierung.
private  void zeichneSpieler(int x, int y, int farbe, Graphics g)
          Zeichnet einen Spieler.
private  void zeichneStation(int x, int y, int nummer, Graphics g)
          Zeichnet eine Station und deren Button.
private  Image zeichneStationen()
          zeichnet alle Stationen.
 void zeichneZug(Move move, int type)
          Zeichnet einen Zug.
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, checkIfChildObscuredBySibling, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setCursor, setFocusOwner, setLayout, transferFocus, updateCursor, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getIntrinsicCursor, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

anzahl

private int anzahl

lokalerSpieler

private int lokalerSpieler

zeigeInfo

private int zeigeInfo

spielplan

private Spielplan spielplan

spielerPositionen

private int[] spielerPositionen

barrieren

private int[] barrieren

markierteStationen

private Vector markierteStationen

selektierteStationen

private Vector selektierteStationen

bild

private ImageIcon bild

menuPanelRechts

private MenuePanelRechts menuPanelRechts

dynamisch

private boolean dynamisch

spielfigurPool

private SpielfigurPool spielfigurPool

bewegteBarriere

private boolean bewegteBarriere

barriereKoordinaten

private int[] barriereKoordinaten
Constructor Detail

SpielplanNetz

public SpielplanNetz(Spielplan sp,
                     boolean t,
                     MenuePanelRechts m,
                     SpielfigurPool sfp)
Zeichnet das SpielplanNetz.
Parameters:
sp - Spielplan
t - dynamisch oda nisch
m - MenuePanelRechts
sfp - SpielfigurPool
Method Detail

aktiviereInfo

public void aktiviereInfo(int nr)

deaktiviereInfo

public void deaktiviereInfo()

bewegeBarriere

public void bewegeBarriere(int x,
                           int y)

stationHatBarriere

public boolean stationHatBarriere(int nummer)

loescheBarriere

public void loescheBarriere(int nummer)

setzeBarriere

public void setzeBarriere(int nummer)

zeichneStationen

private Image zeichneStationen()
zeichnet alle Stationen.

paint

public void paint(Graphics g)
paint (ueberschrieben) In dieser Methode werden dynamische Elemente dargestellt, d.h. die Stationen und die Spieler.
Overrides:
paint in class JComponent
Parameters:
g - das Graphics Objekt

zeichneInfo

private void zeichneInfo(int x,
                         int y,
                         int nr,
                         Graphics g)

updateSpieler

private void updateSpieler()
Erneuere die Positionen der Spieler.

zeichneSpieler

private void zeichneSpieler(int x,
                            int y,
                            int farbe,
                            Graphics g)
Zeichnet einen Spieler.
Parameters:
x - X-Koordinate
y - Y-Koordinate
farbe - Farbe des Spielers, 1-5 sind Detektive, 0 ist Mister X.
g - Graphics

zeichneMarkierung

private void zeichneMarkierung(int x,
                               int y,
                               int type,
                               Graphics g)
Zeichnet eine Markierung.
Parameters:
x - X-Koordinate
y - Y-Koordinate
type - Type
g - Graphics

zeichneBarriere

private void zeichneBarriere(int x,
                             int y,
                             Graphics g)
Zeichnet eine Barriere.
Parameters:
x - X-Koordinate
y - Y-Koordinate
g - Graphics

zeichneStation

private void zeichneStation(int x,
                            int y,
                            int nummer,
                            Graphics g)
Zeichnet eine Station und deren Button. Die Methode arbeitet sich rekursiv durch alle Stationen mit Breitensuche.
Parameters:
x - X-Koordinate
y - Y-Koordinate
nummer - Nummer der Station
g - Graphics

markiereStation

public void markiereStation(int nummer)
Zeichnet eine markierte Zielstation.
Parameters:
nummer - Nummer der Station
See Also:
SpielplanNetz#demarkiereStation

demarkiereZielStation

public void demarkiereZielStation(int nummer)
Umkehrmethode zu markiereZielStation
Parameters:
nummer - Nummer der Station
See Also:
markiereStation(int)

demarkiereZielStation

public void demarkiereZielStation()
Umkehrmethode zu markiereZielStation. Es werden jedoch alle Stationen demarkiert.
See Also:
markiereStation(int)

selektiereStation

public void selektiereStation(int nummer)
Selektiert eine Zielstation.
Parameters:
nummer - Nummer der Station
See Also:
SpielplanNetz#demarkiereMoeglicheZielStation

zeichneZug

public void zeichneZug(Move move,
                       int type)
Zeichnet einen Zug.
Parameters:
move - Zug der Spielfigur
type - Typ der Figur, 0 = X, 1-5 = Detektive

markiereTipp

public void markiereTipp(Move move)
Zeichnet einen Tipp
Parameters:
move - Zug des Tippes
See Also:
demarkiereTipp(swp.server.Move)

demarkiereTipp

public void demarkiereTipp(Move move)
Umkehrfunktion zu markiereTip
Parameters:
move - Zug des Tippes
See Also:
markiereTipp(swp.server.Move)