package cn.itcast.tetris.game;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.border.EtchedBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import cn.itcast.tetris.controller.Controller;
import cn.itcast.tetris.entities.Ground;
import cn.itcast.tetris.entities.ShapeFactory;
import cn.itcast.tetris.listener.GameListener;
import cn.itcast.tetris.util.Global;
import cn.itcast.tetris.view.GamePanel;
/**
* 主界面, 实现了 GameListener 接口
*
* @version 1.0, 01/01/08
*
* @author 汤阳光
*
*/
public class MainFrame extends JFrame implements GameListener {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
* @param args
*/
public static void main(String args[]) {
try {
Controller controller = new Controller(new ShapeFactory(),
new Ground(), new GamePanel());
MainFrame frame = new MainFrame(controller);
/* 显示窗口 */
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
private final Controller controller;
private final GameOptionPanel gameOptionPanel;
private final GamePanel gamePanel;
private final Ground ground;
private final ShapeFactory shapeFactory;
public MainFrame(Controller c) {
super();
this.setTitle("传智播客版俄罗斯方块");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(null);
this.setResizable(false);
if(c.getGameInfoLabel() == null)
c.setGameInfoLabel(new JLabel());
this.controller = c;
this.shapeFactory = c.getShapeFactory();
this.ground = c.getGround();
this.gamePanel = c.getGamePanel();
this.gameOptionPanel = new GameOptionPanel();
final JLabel infoLabel = c.getGameInfoLabel();
/* 监听器 */
MyGroundListener mgl = new MyGroundListener();
ground.addGroundListener(mgl);
/* 控制器 */
// controller = new Controller(shapeFactory, ground, gamePanel,
// infoLabel);
gameOptionPanel.getNewGameButton().setEnabled(true);
gameOptionPanel.getStopGameButton().setEnabled(false);
this.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent arg0) {
// controller.continueGame();
}
public void focusLost(FocusEvent arg0) {
controller.pauseGame();
if (gameOptionPanel.getPauseButton().isEnabled())
gameOptionPanel.getPauseButton().setText("继续游戏");
}
});
gamePanel.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent arg0) {
// controller.continueGame();
}
public void focusLost(FocusEvent arg0) {
controller.pauseGame();
if (gameOptionPanel.getPauseButton().isEnabled())
gameOptionPanel.getPauseButton().setText("继续游戏");
}
});
gameOptionPanel.getNewGameButton().addActionListener(
new ActionListener() {
/**
* 开始游戏的按钮
*/
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (controller.isPlaying()) {
return;
}
int lineNum = gameOptionPanel.getLineNum();
int obstacleNum = gameOptionPanel.getObstacleNum();
controller.newGame();
/* 放到后面 */
ground.generateSomeStochasticObstacle(obstacleNum,
lineNum);
}
});
gameOptionPanel.getStopGameButton().addActionListener(
new ActionListener() {
/**
* 停止游戏的按钮
*/
public void actionPerformed(ActionEvent e) {
controller.stopGame();
}
});
gameOptionPanel.getPauseButton().setEnabled(false);
gameOptionPanel.getPauseButton().addActionListener(
new ActionListener() {
/**
* 暂停/继续游戏的按钮
*/
public void actionPerformed(ActionEvent e) {
if (controller.isPausingGame()) {
controller.continueGame();
} else {
controller.pauseGame();
}
if (controller.isPausingGame())
gameOptionPanel.getPauseButton().setText("继续游戏");
else
gameOptionPanel.getPauseButton().setText("暂停游戏");
}
});
gameOptionPanel.getCheckBox_drawGridding().addChangeListener(
new ChangeListener() {
public void stateChanged(ChangeEvent arg0) {
gameOptionPanel.getButton_griddingColor().setVisible(
gameOptionPanel.getCheckBox_drawGridding()
.isSelected());
MainFrame.this.refreshOption();
}
});
gameOptionPanel.getCheckBox_colorfulShape().addChangeListener(
new ChangeListener() {
public void stateChanged(ChangeEvent arg0) {
gameOptionPanel.getButton_shapeColor().setVisible(
gameOptionPanel.getCheckBox_colorfulShape()
.isSelected());
MainFrame.this.refreshOption();
}
});
gameOptionPanel.getCheckBox_colorfulObstacle().addChangeListener(
new ChangeListener() {
public void stateChanged(ChangeEvent arg0) {
gameOptionPanel.getButton_obstacleColor().setVisible(
gameOptionPanel.getCheckBox_colorfulObstacle()
.isSelected());
MainFrame.this.refreshOption();
}
});
gameOptionPanel.getButton_shapeColor().addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Color shapeColor = JColorChooser
.showDialog(MainFrame.this, "请选择图形的颜色",
new Color(0xFF4500));
if (shapeColor != null)
shapeFactory.setDefaultShapeColor(shapeColor);
}
});
gameOptionPanel.getButton_griddingColor().addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Color griddingColor = JColorChooser.showDialog(
MainFrame.this, "请选择网格的颜色", Color.LIGHT_GRAY);
if (griddingColor != null)
ground.setGriddingColor(griddingColor);
}
});
gameOptionPanel.getButton_obstacleColor().addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Color obstacleColor = JColorChooser.showDialog(
MainFrame.this, "请选择障碍物的颜色", Color.DARK_GRAY);
if (obstacleColor != null)
ground.setObstacleColor(obstacleColor);
}
});
gameOptionPanel.getButton_fullLineColor().addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Color fullLineColor = JColorChooser.showDialog(
MainFrame.this, "请选择满行的效果的颜色", Color.DARK_GRAY);
if (fullLineColor != null) {
ground.setFullLineColor(fullLineColor);
}
}
});
gameOptionPanel.getButtonBackgroundColor().addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Color backgroundColor = JColorChooser
.showDialog(MainFrame.this, "请选择背景的颜色",
new Color(0xcfcfcf));
if (backgroundColor != null)
gamePanel.setBackgroundColor(backgroundColor);
}
});
gameOptionPanel.getButton_default().addActionListener(
new ActionListener() {
/**
* 恢复默认设置的按钮
*/
public void actionPerformed(ActionEvent e) {
gamePanel
.setBackgroundColor(GamePanel.DEFAULT_BACKGROUND_COLOR);
gameOptionPanel.getCheckBox_drawGridding().setSelected(
false);
ground.setGriddingColor(Ground.DEFAULT_GRIDDING_COLOR);
gameOptionPanel.getCheckBox_colorfulShape()
.setSelected(true);
shapeFactory
.setDefaultShapeColor(ShapeFactory.DEFAULT_SHAPE_COLOR);
gameOptionPanel.getCheckBox_colorfulObstacle()
.setSelected(true);
ground.setObstacleColor(Ground.DEFAULT_OBSTACLE_COLOR);
gameOptionPanel.getTextField_obstacleNum()
.setText("30");
gameOptionPanel.getTextField_lineNum().setText("0");
gameOptionPanel.getTextField_stayTime().setText("300");
ground.setFullLineColor(Ground.DEFAULT_FULL_LINE_COLOR);
}
});
/** ****** */
/**
* subPanel
*/
JPanel subPanel = new JPanel();
subPanel.setLayout(null);
subPanel.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
subPanel.setSize(gamePanel.getSize().width 3,
infoLabel.getSize().height gamePanel.getSize().height 2);
infoLabel.setBounds(5, 0, infoLabel.getSize().width - 5, infoLabel
.getSize().height);
gamePanel.setBounds(1, infoLabel.getSize().height,
gamePanel.getSize().width, gamePanel.getSize().height);
subPanel.add(infoLabel);
subPanel.add(gamePanel);
int left = 10, left2 = 5;
gameOptionPanel.setBounds(left, 21, gameOptionPanel.getSize().width,
gameOptionPanel.getSize().height);
subPanel.setBounds(left left2 gameOptionPanel.getSize().width, 1,
subPanel.getSize().width, subPanel.getSize().height);
/**
* 说明
*/
JPanel infoPanel = new JPanel();
infoPanel.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
infoPanel.setLayout(null);
infoPanel.setBounds(10, 25 gameOptionPanel.getSize().height,
gameOptionPanel.getSize().width, subPanel.getSize().height
- gameOptionPanel.getSize().height - 25);
final JLabel infoTitleLable = new JLabel();
infoTitleLable.setFont(new Font("宋体", Font.PLAIN, 12));
infoTitleLable.setText(Global.TITLE_LABEL_TEXT);
infoTitleLable.setBounds(10, 5, infoPanel.getSize().width - 10, 20);
final JTextArea InfoTextArea = new JTextArea();
InfoTextArea.setFont(new Font("宋体", Font.PLAIN, 12));
InfoTextArea.setText(Global.INFO_LABEL_TEXT);
InfoTextArea.setFocusable(false);
InfoTextArea.setBackground(this.getBackground());
InfoTextArea.setBounds(10, 25, infoPanel.getSize().width - 20,
infoPanel.getSize().height - 50);
infoPanel.add(infoTitleLable);
infoPanel.add(InfoTextArea);
gameOptionPanel.getCheckBox_colorfulObstacle().setFocusable(false);
gameOptionPanel.getCheckBox_colorfulShape().setFocusable(false);
gameOptionPanel.getCheckBox_drawGridding().setFocusable(false);
/* 设置主界面大小 */
this
.setSize(
gameOptionPanel.getSize().width
gamePanel.getSize().width left left2 15,
gamePanel.getSize().height > gameOptionPanel.getSize().height 20 ? gamePanel
.getSize().height 60
: gameOptionPanel.getSize().height 60);
// this.pack();
/* 让窗口居中 */
this.setLocation(this.getToolkit().getScreenSize().width / 2
- this.getWidth() / 2, this.getToolkit().getScreenSize().height
/ 2 - this.getHeight() / 2);
/**
* 添加监听器
*/
gamePanel.addKeyListener(controller);
gameOptionPanel.addKeyListener(controller);
this.addKeyListener(controller);
controller.addGameListener(this);
subPanel.addKeyListener(controller);
this.getContentPane().add(gameOptionPanel);
this.getContentPane().add(infoPanel);
this.getContentPane().add(subPanel);
}
public void gameOver() {
// TODO Auto-generated method stub
gameOptionPanel.getTextField_lineNum().setFocusable(true);
gameOptionPanel.getTextField_stayTime().setFocusable(true);
gameOptionPanel.getTextField_obstacleNum().setFocusable(true);
gameOptionPanel.getPauseButton().setEnabled(false);
gameOptionPanel.getStopGameButton().setEnabled(false);
gameOptionPanel.getNewGameButton().setEnabled(true);
gameOptionPanel.getPauseButton().setText("暂停/继续");
}
public void gameStart() {
// TODO Auto-generated method stub
gameOptionPanel.getTextField_lineNum().setFocusable(false);
gameOptionPanel.getTextField_stayTime().setFocusable(false);
gameOptionPanel.getTextField_obstacleNum().setFocusable(false);
gameOptionPanel.getPauseButton().setEnabled(true);
gameOptionPanel.getNewGameButton().setEnabled(false);
gameOptionPanel.getStopGameButton().setEnabled(true);
}
public void gameContinue() {
// TODO Auto-generated method stub
gameOptionPanel.getPauseButton().setText("暂停游戏");
}
public void gamePause() {
// TODO Auto-generated method stub
gameOptionPanel.getPauseButton().setText("继续游戏");
}
private void refreshOption() {
int stayTime = gameOptionPanel.getStayTime();
ground.setDrawGridding(gameOptionPanel.isDrawGridding());
shapeFactory.setColorfulShape(!gameOptionPanel.isColorfulShape());
ground.setColorfulSupport(!gameOptionPanel.isColorfulObstacle());
Global.STAY_TIME = stayTime;
}
}
资源文件列表
俄罗斯方块/ItcastTetris1.02_final/.classpath , 232
俄罗斯方块/ItcastTetris1.02_final/.project , 388
俄罗斯方块/ItcastTetris1.02_final/.settings/org.eclipse.jdt.core.prefs , 629
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/controller/Controller.class , 7910
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/entities/Ground.class , 8738
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/entities/Shape$ShapeDriver.class , 1331
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/entities/Shape$ShapeSwiftDriver.class , 1361
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/entities/Shape.class , 5439
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/entities/ShapeFactory.class , 2388
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/entities/UnitType.class , 2202
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/CommonShapeFactory.class , 1475
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/GameOptionPanel.class , 7768
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$1.class , 1326
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$10.class , 1227
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$11.class , 1229
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$12.class , 1235
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$13.class , 1242
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$14.class , 2317
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$2.class , 1326
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$3.class , 1457
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$4.class , 927
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$5.class , 1376
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$6.class , 1211
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$7.class , 1209
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$8.class , 1215
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame$9.class , 1251
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MainFrame.class , 8722
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/game/MyGroundListener.class , 891
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/listener/GameListener.class , 219
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/listener/GroundAdapter.class , 801
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/listener/GroundListener.class , 296
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/listener/ShapeListener.class , 266
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/util/Global.class , 6173
俄罗斯方块/ItcastTetris1.02_final/bin/cn/itcast/tetris/view/GamePanel.class , 2264
俄罗斯方块/ItcastTetris1.02_final/bin/czbk.png , 1609
俄罗斯方块/ItcastTetris1.02_final/doc/allclasses-frame.html , 2663
俄罗斯方块/ItcastTetris1.02_final/doc/allclasses-noframe.html , 2363
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/controller/class-use/Controller.html , 7790
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/controller/Controller.html , 33846
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/controller/package-frame.html , 959
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/controller/package-summary.html , 6298
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/controller/package-tree.html , 6432
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/controller/package-use.html , 6848
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/class-use/Ground.html , 20920
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/class-use/Shape.html , 17726
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/class-use/ShapeFactory.html , 12643
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/class-use/UnitType.html , 10809
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/Ground.html , 38103
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/package-frame.html , 1264
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/package-summary.html , 7831
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/package-tree.html , 6667
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/package-use.html , 14671
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/Shape.html , 33428
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/ShapeFactory.html , 15251
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/entities/UnitType.html , 17141
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/class-use/CommonShapeFactory.html , 5970
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/class-use/GameOptionPanel.html , 5940
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/class-use/MainFrame.html , 5880
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/class-use/MyGroundListener.html , 5950
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/CommonShapeFactory.html , 13658
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/GameOptionPanel.html , 34498
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/MainFrame.html , 25403
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/MyGroundListener.html , 12709
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/package-frame.html , 1286
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/package-summary.html , 7134
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/package-tree.html , 8050
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/game/package-use.html , 5553
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/class-use/GameListener.html , 10083
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/class-use/GroundAdapter.html , 7798
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/class-use/GroundListener.html , 13303
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/class-use/ShapeListener.html , 12153
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/GameListener.html , 9816
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/GroundAdapter.html , 14582
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/GroundListener.html , 11283
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/package-frame.html , 1531
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/package-summary.html , 7310
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/package-tree.html , 6896
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/package-use.html , 11183
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/listener/ShapeListener.html , 9655
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/util/class-use/Global.html , 5850
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/util/Global.html , 18169
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/util/package-frame.html , 921
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/util/package-summary.html , 6704
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/util/package-tree.html , 6090
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/util/package-use.html , 5553
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/view/class-use/GamePanel.html , 10939
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/view/GamePanel.html , 23245
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/view/package-frame.html , 927
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/view/package-summary.html , 6221
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/view/package-tree.html , 6314
俄罗斯方块/ItcastTetris1.02_final/doc/cn/itcast/tetris/view/package-use.html , 6803
俄罗斯方块/ItcastTetris1.02_final/doc/constant-values.html , 7541
俄罗斯方块/ItcastTetris1.02_final/doc/deprecated-list.html , 5122
俄罗斯方块/ItcastTetris1.02_final/doc/help-doc.html , 9839
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-1.html , 8374
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-10.html , 6917
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-11.html , 6683
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-12.html , 8822
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-13.html , 6717
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-14.html , 6706
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-15.html , 6979
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-16.html , 8231
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-17.html , 18857
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-18.html , 6696
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-19.html , 7151
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-2.html , 7810
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-20.html , 6717
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-3.html , 12177
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-4.html , 11989
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-5.html , 6731
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-6.html , 7850
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-7.html , 25746
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-8.html , 7039
俄罗斯方块/ItcastTetris1.02_final/doc/index-files/index-9.html , 12804
俄罗斯方块/ItcastTetris1.02_final/doc/index.html , 1378
俄罗斯方块/ItcastTetris1.02_final/doc/overview-frame.html , 1735
俄罗斯方块/ItcastTetris1.02_final/doc/overview-summary.html , 6363
俄罗斯方块/ItcastTetris1.02_final/doc/overview-tree.html , 9620
俄罗斯方块/ItcastTetris1.02_final/doc/package-list , 152
俄罗斯方块/ItcastTetris1.02_final/doc/resources/inherit.gif , 57
俄罗斯方块/ItcastTetris1.02_final/doc/serialized-form.html , 11424
俄罗斯方块/ItcastTetris1.02_final/doc/stylesheet.css , 1231
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/controller/Controller.java , 8616
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/entities/Ground.java , 13955
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/entities/Shape.java , 8384
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/entities/ShapeFactory.java , 3304
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/entities/UnitType.java , 2868
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/game/CommonShapeFactory.java , 1067
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/game/GameOptionPanel.java , 10104
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/game/MainFrame.java , 12801
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/game/MyGroundListener.java , 792
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/listener/GameListener.java , 364
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/listener/GroundAdapter.java , 554
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/listener/GroundListener.java , 623
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/listener/ShapeListener.java , 423
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/util/Global.java , 7467
俄罗斯方块/ItcastTetris1.02_final/src/cn/itcast/tetris/view/GamePanel.java , 1990
俄罗斯方块/ItcastTetris1.02_final/src/czbk.png , 1609
