public class MemoryGUI
extends javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
private int |
activeUser
Index des aktiven Spielers.
|
private javax.swing.JRadioButton |
colorRB
JRadioButton zur Auswahl der Darstellung von Farben auf der
Spielsteinoberfläche. |
private javax.swing.JTextField |
countField
JTextField zur Einstellung der Spielgröße. |
private javax.swing.JRadioButton |
graphicRB
JRadioButton zur Auswahl der Darstellung von Graphiken auf
der Spielsteinoberfläche. |
private int |
gridCount
Anzahl der Steine in einer Reihe oder einer Spalte.
|
private javax.swing.JPanel |
gridPanel
Die Fläche, auf der die Spielsteine angeordnet werden.
|
private MemoryStein |
lastStein
Der zuletzt angeklickte Stein.
|
private javax.swing.JRadioButton |
letterRB
JRadioButton zur Auswahl der Darstellung von Buchstaben auf
der Spielsteinoberfläche. |
(package private) int |
mode
Der Spielmodus.
|
private javax.swing.JRadioButton |
numberRB
JRadioButton zur Auswahl der Darstellung von Zahlen auf der
Spielsteinoberfläche. |
private javax.swing.JLabel |
paarLabel
Darstellung der während des Spielverlaufs noch verbleibenden
Steinpaare.
|
(package private) int |
painting
Die Gestaltung der Spielsteinoberfläche.
|
private boolean |
start
Hilfsvariable um die Zeitmessung.
|
private javax.swing.JButton |
startButt
Button zum Starten des Spiels im klassischen Modus.
|
private MusterStein[] |
steine
Array aller Spielsteine.
|
private int |
steinSize
Seitenlänge eines Steins in Pixeln.
|
private UserPanel[] |
userPanels
die seitlichen Flächen zur Verwaltung der Spielteilnehmer und zur
Einstellung der Spielmodi.
|
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
MemoryGUI() |
Modifier and Type | Method and Description |
---|---|
private MusterStein[] |
arrayShuffle(MusterStein[] stein)
Mischt das Stein-Array zufällig
|
private int |
askForMode()
Stellt den Dialog zur Modus-Auswahl bereit, auf dem zusätzlich eine
Kurzerläuterung des Spiels gegeben wird.
|
private java.awt.Color |
createColor()
Liefert eine Zufallsfarbe, die durch randomisierte Werte für Rot,
Grün und Blau erzeugt werden.
|
protected static javax.swing.ImageIcon |
createImageIcon(java.lang.String path)
Lädt das Icon des Programms.
|
private java.lang.String |
createLetter(int num)
Erzeugt einen zufällig ermittelnden Latin-1-Buchstaben als String.
|
private void |
createMemorySteinArray()
Erzeugt und initialisiert das Array der Spielsteine abhängig von der
gewählten Erscheinung.
|
void |
createNewGame()
Legt ein neues Spiel an, indem die Spielsteine entfernt werden, die
Spielfläche nach Ermitteln der Steinzahl neu angelegt und
schlieplich durch ein neues Steinarray belegt wird.
|
private java.awt.Polygon[] |
createPolygone()
Erzeugt ein Array der Graphik-Objekte, die als Abbildungen im
Graphik-Modus dienen können.
|
private int |
createZufall(int num)
Erzeugt einen nach oben durch
num begrenzten ganzzahligen
Zufallswert. |
void |
enableMemory(boolean enable)
(de)aktiviert alle Spielsteine
|
MemoryStein |
getLastStein()
Liefert das Objekt des zuletzt angeklickten Spielsteins.
|
int |
getMode() |
private boolean |
initGamePad()
Einrichten des Layouts der Spielfläche.
|
private void |
initGUI()
Anlegen des GUI.
|
void |
setLastStein(MemoryStein lastSt)
Registriert den zuletzt angeklickten Spielstein
|
void |
setSuccess()
Incrementiert die Summe der Treffer des aktuellen Spielers
|
void |
showRest()
Ermittelt die Anzahl der noch sichtbaren Spielstein-Paare und setzt diese
auf das entsprechende Label.
|
private void |
switchColors()
'Dreht' alle Steine von der Vorder- auf die Rückseite und umgekehrt
|
void |
switchUser()
Ändert den Benutzer auf den jeweils anderen und setzt erst alle
Checkboxen auf
false und dann die des aktuellen Nutzers auf
true |
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
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, 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, setVisible, show, toBack, toFront
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
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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private MemoryStein lastStein
private int gridCount
private int steinSize
private MusterStein[] steine
gridCount
.gridCount
private final UserPanel[] userPanels
UserPanel
private int activeUser
UserPanel-Arrays
.UserPanel
,
userPanels
private boolean start
int mode
int painting
private javax.swing.JPanel gridPanel
steine
private javax.swing.JButton startButt
mode
private javax.swing.JTextField countField
JTextField
zur Einstellung der Spielgröße.gridCount
private javax.swing.JLabel paarLabel
private javax.swing.JRadioButton graphicRB
JRadioButton
zur Auswahl der Darstellung von Graphiken auf
der Spielsteinoberfläche.private javax.swing.JRadioButton colorRB
JRadioButton
zur Auswahl der Darstellung von Farben auf der
Spielsteinoberfläche.private javax.swing.JRadioButton numberRB
JRadioButton
zur Auswahl der Darstellung von Zahlen auf der
Spielsteinoberfläche.private javax.swing.JRadioButton letterRB
JRadioButton
zur Auswahl der Darstellung von Buchstaben auf
der Spielsteinoberfläche.protected static javax.swing.ImageIcon createImageIcon(java.lang.String path)
path
- Der Pfad zur Icondatei.ImageIcon
oder null
, wenn das Icon nicht geladen werden
konnte.private int askForMode()
Modus
gewählt werden.mode
private void initGUI()
public void createNewGame()
mode
private boolean initGamePad()
true
wenn das Layout der Spielfläche
erfolgreich eingerichtet werden konnte. Entspricht die Anzahl der
benötigten Spielsteinfelder nicht den Erfordernissen, wird
false
zurückgegeben.public MemoryStein getLastStein()
MemoryStein
public void setLastStein(MemoryStein lastSt)
lastSt
- der zuletzt angeklickte Spielstein.MemoryStein
private void createMemorySteinArray()
steine
,
MusterStein
private java.awt.Polygon[] createPolygone()
private MusterStein[] arrayShuffle(MusterStein[] stein)
stein
- Array, das zu mischende MusterStein-ArrayMusterStein
private void switchColors()
steine
private int createZufall(int num)
num
begrenzten ganzzahligen
Zufallswert.num
- obere exclusive Grenze der möglichen Zufallszahlnum - 1
private java.awt.Color createColor()
private java.lang.String createLetter(int num)
num
- ein Wert zwischen 0 und 25 ausschließlich.public void showRest()
public void setSuccess()
public void switchUser()
false
und dann die des aktuellen Nutzers auf
true
public int getMode()
public void enableMemory(boolean enable)
enable
- true
aktiviert alle Spielsteine,
false
deaktiviert sie