Class SteuerbaresObjekt

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by UnbeweglichesObjekt
                  extended by BeweglichesGutesObjekt
                      extended by SteuerbaresObjekt
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
Hund

public class SteuerbaresObjekt
extends BeweglichesGutesObjekt

Stellt ein durch die Tastatur steuerbares Objekt dar. Das Objekt kann sich nicht diagonal bewegen. Die bewege-Methode bewegt das Objekt in die eingestellte Richtung. Wenn das Objekt mit einem unbeweglichen Objekt oder mit dem Rand des Fensters kollidiert, so bleibt das Objekt stehen. Kollidiert das Objekt mit einem beweglichen, "guten" Objekt, so frisst es dieses und erhält dafür Punkte. Kollidiert das Objekt hingegen mit einem "bösen" Objekt, so stirbt es

See Also:
Serialized Form

Nested Class Summary
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int punkte
          Merkt sich die Punkte welche beim Fressen von beweglichen, "guten" Objekten erhalten werden
 
Fields inherited from class BeweglichesGutesObjekt
geschwindigkeit, xRichtung, yRichtung
 
Fields inherited from class UnbeweglichesObjekt
bild, gestorben
 
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
SteuerbaresObjekt(java.lang.String dateiname)
          Erhält das Bild, welches dargestellt werden soll.
 
Method Summary
 void bewege()
          Versucht das Objekt in die eingestellte Richtung zu bewegen.
 int getPunkte()
          Lesen der Punkte welches das Objekt momentan hat
 void setxRichtung(int xRichtung)
          Setzt die X-Richtung des Objektes.
 void setyRichtung(int yRichtung)
          Setzt die Y-Richtung des Objektes.
 
Methods inherited from class BeweglichesGutesObjekt
getGeschwindigkeit, getxRichtung, getyRichtung, setGeschwindigkeit
 
Methods inherited from class UnbeweglichesObjekt
getGestorben, getObjektBei, paint, stirb
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, 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, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, 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
 

Field Detail

punkte

protected int punkte
Merkt sich die Punkte welche beim Fressen von beweglichen, "guten" Objekten erhalten werden

Constructor Detail

SteuerbaresObjekt

public SteuerbaresObjekt(java.lang.String dateiname)
Erhält das Bild, welches dargestellt werden soll. Der Konstruktor sorgt dafür, dass das Objekt sich vorerst nicht im Fenster bewegt

Parameters:
dateiname - der das dazustellende Bild enthält
Method Detail

bewege

public void bewege()
Versucht das Objekt in die eingestellte Richtung zu bewegen. Erfolgt bei der schrittweisen Bewegung des Objektes ein Zusammenprall mit einem unbeweglichen Objekt oder mit dem Fensterrand, so bleibt das Objekt stehen.
Erfolg die Kollision mit einem beweglichen, "guten" Objekt, so wird dieses Objekt gefressen. Ein Objekt fressen bedeutet, dass das gefressene Objekt verschwindet und dass die Punkte des steuerbaren Objektes erhöht werden.
Kollidiert das Objekt mit einem beweglichen, "bösen" Objekt, so stirbt das steuerbare Objekt

Overrides:
bewege in class BeweglichesGutesObjekt

setxRichtung

public void setxRichtung(int xRichtung)
Setzt die X-Richtung des Objektes. Das Objekt darf sich nicht diagonal bewegen. Das bedeutet, dass beim Setzen der X-Richtung die Y-Richtung auf 0 gesetzt werden muss. Da für das steuerbare Objekt immer die Maximalgeschwindigkeit eingestellt werden muss, wird die X-Richtung folgendermaßen gesetzt:

Overrides:
setxRichtung in class BeweglichesGutesObjekt
Parameters:
xRichtung - = 0 bedeutet, dass das Objekt stehen bleibt und auch yRichtung auf 0 gesetzt wird
xRichtung negativ bedeutet, dass xRichtung auf -10 * geschwindikeit und yRichtung auf 0 gesetzt wird
xRichtung positiv bedeutet, das xRichtung auf 10 * geschwindigkeit und yRichtung auf 0 gesetzt wird

setyRichtung

public void setyRichtung(int yRichtung)
Setzt die Y-Richtung des Objektes. Das Objekt darf sich nicht diagonal bewegen. Das bedeutet, dass beim Setzen der Y-Richtung die X-Richtung auf 0 gesetzt werden muss. Da für das steuerbare Objekt immer die Maximalgeschwindigkeit eingestellt werden muss, wird die Y-Richtung folgendermaßen gesetzt:

Overrides:
setyRichtung in class BeweglichesGutesObjekt
Parameters:
yRichtung - = 0 bedeutet, dass das Objekt stehen bleibt und auch xRichtung auf 0 gesetzt wird
yRichtung negativ bedeutet, dass yRichtung auf -10 * geschwindikeit und xRichtung auf 0 gesetzt wird
yRichtung positiv bedeutet, das yRichtung auf 10 * geschwindigkeit und xRichtung auf 0 gesetzt wird

getPunkte

public int getPunkte()
Lesen der Punkte welches das Objekt momentan hat

Returns:
die Punkte des Objektes