- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
附 录
/* 俄罗斯方块的 Java 实现
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ErsBlocksGame extends JFrame {
//每填满一行计多少分
public final static int PER_LINE_SCORE = 100;
//积多少分以后能升级
public final static int PER_LEVEL_SCORE = PER_LINE_SCORE * 20;
//最大级数是10级
public final static int MAX_LEVEL = 10;
// 默认级数是5
public final static int DEFAULT_LEVEL = 5;
//一个GameCanvas画布类的实例引用,
private GameCanvas canvas;
// 一个保存当前活动块(ErsBlock)实例的引用,
private ErsBlock block;
// 一个保存当前控制面板(ControlPanel)实例的引用;
private ControlPanel ctrlPanel;
private boolean playing = false;
private JMenuBar bar = new JMenuBar();
//菜单条包含4个菜单
private JMenu
mGame = new JMenu("游戏"),
mControl = new JMenu("控制"),
mWindowStyle = new JMenu("窗口风格"),
mInfo = new JMenu("帮助");
//4个菜单中分别包含的菜单项
private JMenuItem
miNewGame = new JMenuItem("新游戏"),
miSetBlockColor = new JMenuItem("设置方块颜色"),
miSetBackColor = new JMenuItem("设置背景颜色"),
miTurnHarder = new JMenuItem("增加难度"),
miTurnEasier = new JMenuItem("降低难度"),
miExit = new JMenuItem("退出"),
miPlay = new JMenuItem("开始"),
miPause = new JMenuItem("暂停"),
miResume = new JMenuItem("继续"),
miStop = new JMenuItem("停止"),
miAuthor = new JMenuItem("作者 : Java游戏设计组"),
miSourceInfo = new JMenuItem("版本:1.0");
//设置窗口风格的菜单
private JCheckBoxMenuItem
miAsWindows = new JCheckBoxMenuItem("Windows"),
miAsMotif = new JCheckBoxMenuItem("Motif"),
miAsMetal = new JCheckBoxMenuItem("Metal", true);
// 主游戏类的构造函数
public ErsBlocksGame(String title) {
super(title);
//初始窗口的大小,用户可调控
setSize(315, 392);
Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();
//将游戏窗口置于屏幕中央
setLocation((scrSize.width - getSize().width) / 2,
(scrSize.height - getSize().height) / 2);
createMenu(); //创建菜单
Container container = getContentPane();
// 布局的水平构件之间有6个象素的距离
container.setLayout(new BorderLayout(6, 0));
// 建立20个方块高,12个
文档评论(0)