Package miniGame.tetris
Class TetrisGame
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
miniGame.tetris.TetrisGame
- All Implemented Interfaces:
java.awt.event.KeyListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,BlockStatus
public class TetrisGame extends javax.swing.JPanel implements java.awt.event.KeyListener, BlockStatus
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainerNested 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
Fields Modifier and Type Field Description (package private) javax.swing.JPanelboardprivate intcheckprivate intcurrentCol블럭의 현재 행과 열private intcurrentRow블럭의 현재 행과 열private int[][]currentTetrominos생성된 랜덤한 블럭의 모양private booleangameOver(package private) javax.swing.JPanelgamePanelprivate booleanisreach(package private) intlineprivate intms처음 게임 속도private javax.swing.JPanel[][]panelsstatus 배열에 맞춰서 색이 들어갈 패널들(package private) MainPanel_Tetrisparents(package private) TetrominorandBlock(package private) intscore(package private) javax.swing.JTextAreascoreboardprivate int[][]status값이 계속 입력될 배열(package private) javax.swing.TimertimerFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface miniGame.tetris.BlockStatus
EMPTY, MOVINGBLOCK, PANELHEIGHT, PANELWIDTH, STOPPEDBLOCKFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors Constructor Description TetrisGame(MainPanel_Tetris parents) -
Method Summary
Modifier and Type Method Description (package private) voidclean()이전의 status 배열의 MOVINGBLOCK값들을 지워주기 위해 redraw() 할때 먼저 모든 status 의 MOVINGBLOCK 값을 EMPTY 로 변경(package private) voidfalling()현재 열 값을 증가시켜 블럭이 내려가게 보이게함(package private) voidgameOver()status의 2번째 열에 STOPPEDBLOCK 이면 LOSE 점수 출력(package private) voidisreach()블럭이 바닥에 닿으면 isreach 값을 true로 변경(package private) voidisreach_a()블럭이 STOPPED블럭이라면 isreach를 true로 변경voidkeyPressed(java.awt.event.KeyEvent e)voidkeyReleased(java.awt.event.KeyEvent e)voidkeyTyped(java.awt.event.KeyEvent e)static voidmain(java.lang.String[] args)(package private) voidmakeStop()현재 블럭의 좌표를 status배열에서 MOVINGBLOCK 에서 STOPPEDBLOCK 으로 변경(package private) voidmoveLeft()멈춘블록이나 배열의 끝이아니라면 현재 행값을 감소시킴(package private) voidmoveRight()멈춘블록이나 배열의 끝이 아니라면 현재 높이값을 감소시킴(package private) voidpullDownBlock(int line)지워진 블럭위 배열들을 아래로 내려줌voidrapidVelocity()타이머 주기에들어갈 delay값을 지속적으로 감소private voidredraw()블럭의 배열을 status에 대입하고 status 배열에 맞춰서 panels에 색을 설정해준다(package private) voidremoveBlock()check 에 줄마다 값들을 더해 20이라면 그줄의 removeLine()실행 점수 증가(package private) voidremoveLine()line에 입력된 줄의 배열을 EMPTY로 변경voidresetTimer(int ms)(package private) voidrotate()생성된 블럭의 r 값을 증가시켜 돌아간 모양으로 변경(package private) voidspawnNewBlock()randBlock에 새로운 블록 생성및 현재 값들 초기화 점수 증가Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, updateMethods 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, transferFocusDownCycle, validate, validateTreeMethods 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
check
private int check -
gameOver
private boolean gameOver -
line
int line -
timer
javax.swing.Timer timer -
board
javax.swing.JPanel board -
gamePanel
javax.swing.JPanel gamePanel -
parents
MainPanel_Tetris parents -
scoreboard
javax.swing.JTextArea scoreboard -
ms
private int ms처음 게임 속도 -
score
int score -
isreach
private boolean isreach -
panels
private javax.swing.JPanel[][] panelsstatus 배열에 맞춰서 색이 들어갈 패널들 -
status
private int[][] status값이 계속 입력될 배열 -
randBlock
Tetromino randBlock -
currentRow
private int currentRow블럭의 현재 행과 열 -
currentCol
private int currentCol블럭의 현재 행과 열 -
currentTetrominos
private int[][] currentTetrominos생성된 랜덤한 블럭의 모양
-
-
Constructor Details
-
TetrisGame
-
-
Method Details
-
rapidVelocity
public void rapidVelocity()타이머 주기에들어갈 delay값을 지속적으로 감소 -
resetTimer
public void resetTimer(int ms) -
keyTyped
public void keyTyped(java.awt.event.KeyEvent e)- Specified by:
keyTypedin interfacejava.awt.event.KeyListener
-
keyPressed
public void keyPressed(java.awt.event.KeyEvent e)- Specified by:
keyPressedin interfacejava.awt.event.KeyListener
-
keyReleased
public void keyReleased(java.awt.event.KeyEvent e)- Specified by:
keyReleasedin interfacejava.awt.event.KeyListener
-
moveLeft
void moveLeft()멈춘블록이나 배열의 끝이아니라면 현재 행값을 감소시킴 -
moveRight
void moveRight()멈춘블록이나 배열의 끝이 아니라면 현재 높이값을 감소시킴 -
rotate
void rotate()생성된 블럭의 r 값을 증가시켜 돌아간 모양으로 변경 -
falling
void falling()현재 열 값을 증가시켜 블럭이 내려가게 보이게함 -
makeStop
void makeStop()현재 블럭의 좌표를 status배열에서 MOVINGBLOCK 에서 STOPPEDBLOCK 으로 변경 -
clean
void clean()이전의 status 배열의 MOVINGBLOCK값들을 지워주기 위해 redraw() 할때 먼저 모든 status 의 MOVINGBLOCK 값을 EMPTY 로 변경 -
isreach
void isreach()블럭이 바닥에 닿으면 isreach 값을 true로 변경 -
spawnNewBlock
void spawnNewBlock()randBlock에 새로운 블록 생성및 현재 값들 초기화 점수 증가 -
isreach_a
void isreach_a()블럭이 STOPPED블럭이라면 isreach를 true로 변경 -
removeBlock
void removeBlock()check 에 줄마다 값들을 더해 20이라면 그줄의 removeLine()실행 점수 증가 -
removeLine
void removeLine()line에 입력된 줄의 배열을 EMPTY로 변경 -
pullDownBlock
void pullDownBlock(int line)지워진 블럭위 배열들을 아래로 내려줌- Parameters:
line- removeLine의 행값
-
gameOver
void gameOver()status의 2번째 열에 STOPPEDBLOCK 이면 LOSE 점수 출력 -
redraw
private void redraw()블럭의 배열을 status에 대입하고 status 배열에 맞춰서 panels에 색을 설정해준다 -
main
public static void main(java.lang.String[] args)
-