szd
Class Grid

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by szd.Grid
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class Grid
extends javax.swing.JPanel

A játék vizuális megjelenítésére szolgáló osztály. Segítségével lérehozhatunk n*n-es méretű JRadioButton-okat tartalmazó mezőt, amely egy n*n-es méretű négyzetrácsos területet hivatott szimbolizálni.

Author:
Hucker Dávid
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static AbstractKereso currentKereso
           
private static java.util.Set<Node> firstPlayerNodes
          Az első játékos által kiválasztott csomópontok halmaza.
private static Game game
          Az aktuális játék.
private static Node[][] nodes
          Itt tárolunk minden egyes csomópontra vonatkozó információt,minden egyes csomópont a Node osztály egy példánya.
private static java.util.Set<Node> secondPlayerNodes
          A második játékos által kiválasztott csomópontok halmaza.
private static java.util.ArrayList<Node> selectedNodes
          Az egymás után sorban kiválasztott csomópontok láncolt listája.
static boolean showGameTree
           
static int TableSize
          Asztal mérete.
 
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
Grid()
          Publikus konstruktor amely meghívja a privát initComponents() metódust.
 
Method Summary
static void addNodeToFirstPlayerNodes(Node n)
          Hozzáadja az adott csomópontot az első játékos általá kiválaszott csomópontok halmazához.
static void addNodeToSecondPlayerNodes(Node n)
          Hozzáadja az adott csomópontot a második játékos általá kiválaszott csomópontok halmazához.
static void addNodeToSelectedNodes(Node n)
          Hozzáadja az adott csomópontot a kiválasztott csomópontok listájához.
(package private) static long factorial(int n, int depth)
           
static java.util.Set<Node> getFirstPlayerNodes()
          Visszaadja az első játékos általá kiválaszott csomópontok halmazához.
static Node getNode(int i, int j)
          Visszaadja az adott sor és oszlopindexű csomópont referenciáját.
static java.util.Set<Node> getSecondPlayerNodes()
          Visszaadja a második játékos általá kiválaszott csomópontok halmazához.
static java.util.ArrayList<Node> getSelectedNodes()
          Visszaadja az eddig kiválasztott csomópontok listáját.
private  void initComponents()
          Létrehozza a megfelelő méretű és kinézetű "rácshálót" ,és beállít minden csomóponthoz MouseListener-t.
static void nodeSelected(int x, int y)
          Egy csomópont kiválasztása után fut le akár mi akár az ellenfelünk lépett akár offline akár online játék során.
 void paintComponent(java.awt.Graphics g)
          A csomópontok közötti vonalak kirajzolásáért felelős metódus.
protected static void search(AbstractKereso kereso)
           
(package private) static long sum(int n, int depth)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, 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
 
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

nodes

private static Node[][] nodes
Itt tárolunk minden egyes csomópontra vonatkozó információt,minden egyes csomópont a Node osztály egy példánya.


TableSize

public static final int TableSize
Asztal mérete.

See Also:
Constant Field Values

currentKereso

public static AbstractKereso currentKereso

showGameTree

public static boolean showGameTree

selectedNodes

private static java.util.ArrayList<Node> selectedNodes
Az egymás után sorban kiválasztott csomópontok láncolt listája.


firstPlayerNodes

private static java.util.Set<Node> firstPlayerNodes
Az első játékos által kiválasztott csomópontok halmaza.


secondPlayerNodes

private static java.util.Set<Node> secondPlayerNodes
A második játékos által kiválasztott csomópontok halmaza.


game

private static Game game
Az aktuális játék.

Constructor Detail

Grid

public Grid()
Publikus konstruktor amely meghívja a privát initComponents() metódust.

Method Detail

factorial

static long factorial(int n,
                      int depth)

sum

static long sum(int n,
                int depth)

nodeSelected

public static void nodeSelected(int x,
                                int y)
Egy csomópont kiválasztása után fut le akár mi akár az ellenfelünk lépett akár offline akár online játék során. Megvizsgálja hogy az adott játékálláson a lépés végrehajtható-e, és ha igen akkorfeljegyzi a lépést és értesítí a játékosokat hogy most az ellenfelük következik és kirajzoltatja az új állást. Ha az új játékállásban az előbb lépett játékos nyert arról tájékoztatja a játékosokat

Parameters:
x - A kiválasztott csomópont sor indexe
y - A kiválasztott csomópont oszlop indexe

search

protected static void search(AbstractKereso kereso)

initComponents

private void initComponents()
Létrehozza a megfelelő méretű és kinézetű "rácshálót" ,és beállít minden csomóponthoz MouseListener-t.


paintComponent

public void paintComponent(java.awt.Graphics g)
A csomópontok közötti vonalak kirajzolásáért felelős metódus.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - A grafikus felület

getNode

public static Node getNode(int i,
                           int j)
Visszaadja az adott sor és oszlopindexű csomópont referenciáját.

Parameters:
i - sorindex
j - oszlopindex
Returns:
az i. sor j. csomópontja

getSelectedNodes

public static java.util.ArrayList<Node> getSelectedNodes()
Visszaadja az eddig kiválasztott csomópontok listáját.

Returns:
Az eddig kiválasztott csomópontok listája

addNodeToSelectedNodes

public static void addNodeToSelectedNodes(Node n)
Hozzáadja az adott csomópontot a kiválasztott csomópontok listájához.

Parameters:
n - A csomópont

addNodeToFirstPlayerNodes

public static void addNodeToFirstPlayerNodes(Node n)
Hozzáadja az adott csomópontot az első játékos általá kiválaszott csomópontok halmazához.

Parameters:
n - A csomópont

addNodeToSecondPlayerNodes

public static void addNodeToSecondPlayerNodes(Node n)
Hozzáadja az adott csomópontot a második játékos általá kiválaszott csomópontok halmazához.

Parameters:
n - A csomópont

getFirstPlayerNodes

public static java.util.Set<Node> getFirstPlayerNodes()
Visszaadja az első játékos általá kiválaszott csomópontok halmazához.

Returns:
Az első játékos által kiválasztott csomópontok halmata

getSecondPlayerNodes

public static java.util.Set<Node> getSecondPlayerNodes()
Visszaadja a második játékos általá kiválaszott csomópontok halmazához.

Returns:
Az második játékos által kiválasztott csomópontok halmata