package tetris;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class MainFrame extends JFrame {
JPanel contentPane;//窗体内容网格
JMenuBar jMenuBar1 = new JMenuBar();//菜单条
JMenu jMenu1 = new JMenu();//文件菜单
JMenu jMenu2 = new JMenu();//选项菜单
JMenu jMenu3 = new JMenu();//初始化水平菜单
JMenuItem jMenuItem1 = new JMenuItem();//游戏开始菜单项
JMenuItem jMenuItem2 = new JMenuItem();//游戏暂停菜单项
JMenuItem jMenuItem3 = new JMenuItem();//游戏退出菜单项
//10个初始级别设置菜单项
JRadioButtonMenuItem jRadioButtonMenuItem1 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem2 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem3 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem4 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem5 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem6 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem7 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem8 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem9 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonMenuItem10 = new JRadioButtonMenuItem();
ButtonGroup buttonGroup = new ButtonGroup();//各个初始级别菜单项的按钮组
JPanel jPanel1 = new JPanel();//游戏状态显示区面板
JPanel jPanel2 = new JPanel();//游戏区面板
JPanel jPanel3 = new JPanel();//下一个方块提示区面板
JLabel jLabel1 = new JLabel();//得分提示标签
JLabel jLabel2 = new JLabel();//得分标签
JLabel jLabel3 = new JLabel();//当前等级提示标签
JLabel jLabel4 = new JLabel();//当前等级标签
JLabel jLabel5 = new JLabel();//消除行数提示标签
JLabel jLabel6 = new JLabel();//消除行数标签
JLabel jLabel7 = new JLabel();//下一个方块提示标签
GridLayout gridLayout1 = new GridLayout();//游戏区布局
GridLayout gridLayout2 = new GridLayout();//下一个方块提示区布局
XYLayout xYLayout1 = new XYLayout();//主窗体布局
XYLayout xYLayout2 = new XYLayout();//游戏状态显示区布局
JButton playBlocks[][] ;//整个游戏区方块
JButton nextBlocks[][];//下一个方块提示区方块
int flagBlocks[][];//整个游戏区方块状态标志
long speed=500;//当前游戏速度
long initSpeed=500;//初始游戏速度
boolean isEnd=false;//游戏结束标志
boolean isPause=false;//游戏暂停标志
long score = 0;//得分
int totalLines = 0;//消除总行数
int currentLines = 0;//当前级别下消除行数
int level = 1;//当前级别
int initLevel = 1;//初始化级别
int nextBlockType=0;//下一个方块类型
Block block;//当前方块
TetrisThread thread = new TetrisThread();//游戏主线程
//Construct the frame
public MainFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
jMenuBar1.setFont(new java.awt.Font("DialogInput", 0, 11));
contentPane.setLayout(xYLayout1);
this.setJMenuBar(jMenuBar1);
this.setResizable(false);
this.setSize(new Dimension(387, 498));
this.setTitle("俄罗斯方块");
this.addKeyListener(new MainFrame_this_keyAdapter(this));
jMenu1.setFont(new java.awt.Font("DialogInput", 0, 12));
jMenu1.setText("文件");
jMenuItem1.setFont(new java.awt.Font("DialogInput", 0, 12));
jMenuItem1.setText("开始");
jMenuItem1.addActionListener(new MainFrame_jMenuItem1_actionAdapter(this));
jMenuItem1.addMouseListener(new MainFrame_jMenuItem1_mouseAdapter(this));
jMenuItem2.setFont(new java.awt.Font("DialogInput", 0, 12));
jMenuItem2.setText("暂停");
jMenuItem2.addActionListener(new MainFrame_jMenuItem2_actionAdapter(this));
jMenuItem3.setFont(new java.awt.Font("DialogInput", 0, 12));
jMenuItem3.setToolTipText("");
jMenuItem3.setText("退出");
jMenu2.setFont(new java.awt.Font("DialogInput", 0, 12));
jMenu2.setText("选项");
jMenu3.setFont(new java.awt.Font("DialogInput", 0, 12));
jMenu3.setToolTipText("");
jMenu3.setText("初始水平");
jPanel1.setBorder(BorderFactory.createEtchedBorder());
jPanel1.setLayout(xYLayout2);
jPanel1.addKeyListener(new MainFrame_this_keyAdapter(this));
jPanel2.setAlignmentX((float) 0.0);
jPanel2.setAlignmentY((float) 0.0);
jPanel2.setBorder(BorderFactory.createEtchedBorder());
jPanel2.setDebugGraphicsOptions(0);
jPanel2.setLayout(gridLayout1);
jPanel2.addKeyListener(new MainFrame_this_keyAdapter(this));
jLabel1.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel1.setText("得分:");
jLabel2.setText("0");
jLabel2.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel2.setHorizontalTextPosition(SwingConstants.TRAILING);
jLabel3.setText("等级:");
jLabel3.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel4.setText("0");
jLabel4.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel5.setText("行数:");
jLabel5.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel6.setText("0");
jLabel6.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel7.setText("下一个:");
jLabel7.setFont(new java.awt.Font("DialogInput", 0, 12));
jPanel3.setBorder(BorderFactory.createEtchedBorder());
jPanel3.setDebugGraphicsOptions(0);
jPanel3.setLayout(gridLayout2);
jPanel3.addKeyListener(new MainFrame_this_keyAdapter(this));
gridLayout1.setColumns(10);
gridLayout1.setHgap(0);
gridLayout1.setRows(20);
gridLayout2.setColumns(4);
gridLayout2.setRows(4);
gridLayout2.setVgap(0);
contentPane.setMinimumSize(new Dimension(483, 422));
contentPane.setPreferredSize(new Dimension(483, 422));
jRadioButtonMenuItem1.setText("1");
jRadioButtonMenuItem1.addActionListener(new MainFrame_jRadioButtonMenuItem1_actionAdapter(this));
jRadioButtonMenuItem2.setText("2");
jRadioButtonMenuItem2.addActionListener(new MainFrame_jRadioButtonMenuItem2_actionAdapter(this));
jRadioButtonMenuItem3.setText("3");
jRadioButtonMenuItem3.addActionListener(new MainFrame_jRadioButtonMenuItem3_actionAdapter(this));
jRadioButtonMenuItem4.setFont(new java.awt.Font("DialogInput", 0, 12));
jRadioButtonMenuItem4.setText("4");
jRadioButtonMenuItem4.addActionListener(new MainFrame_jRadioButtonMenuItem4_actionAdapter(this));
jRadioButtonMenuItem5.setFont(new java.awt.Font("DialogInput", 0, 12));
jRadioButtonMenuItem5.setText("5");
jRadioButtonMenuItem5.addActionListener(new MainFrame_jRadioButtonMenuItem5_actionAdapter(this));
jRadioButtonMenuItem6.setFont(new java.awt.Font("DialogInput", 0, 12));
jRadioButtonMenuItem6.setText("6");
jRadioButtonMenuItem6.addActionListener(new MainFrame_jRadioButtonMenuItem6_actionAdapter(this));
jRadioButtonMenuItem7.setFont(new java.awt.Font("DialogInput", 0, 12));
jRadioButtonMenuItem7.setText("7");
jRadioButtonMenuItem7.addActionListener(new MainFrame_jRadioButtonMenuItem7_actionAdapter(this));
jRadioButtonMenuItem8.setFont(new java.awt.Font("DialogInput", 0, 12));
jRadioButtonMenuItem8.setText("8");
jRadioButtonMenuItem8.addActionListener(new MainFrame_jRadioButtonMenuItem8_actionAdapter(this));
jRadioButtonMenuItem9.setFont(new java.awt.Font("DialogInput", 0, 12));
jRadioButtonMenuItem9.setText("9");
jRadioButtonMenuItem9.addActionListener(new MainFrame_jRadioButtonMenuItem9_actionAdapter(this));
jRadioButtonMenuItem10.setFont(new java.awt.Font("DialogInput", 0, 12));
jRadioButtonMenuItem10.setText("10");
jRadioButtonMe
没有合适的资源?快使用搜索试试~ 我知道了~
这是用java+JBuilder开发的俄罗斯方块原代码.rar
共37个文件
class:26个
java:3个
png:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 139 浏览量
2023-05-04
19:49:27
上传
评论
收藏 1.19MB RAR 举报
温馨提示
这是用java+JBuilder开发的俄罗斯方块原代码.rar
资源推荐
资源详情
资源评论
收起资源包目录
这是用java+JBuilder开发的俄罗斯方块原代码.rar (37个子文件)
俄罗斯方块游戏
classes
package cache
tetris.dep2 18KB
tetris
MainFrame$BlockSeven.class 1KB
MainFrame_this_keyAdapter.class 608B
MainFrame$BlockFour.class 2KB
MainFrame$TetrisThread.class 2KB
MainFrame_jRadioButtonMenuItem1_actionAdapter.class 709B
MainFrame$BlockTwo.class 1KB
MainFrame_jRadioButtonMenuItem6_actionAdapter.class 709B
MainFrame_jRadioButtonMenuItem8_actionAdapter.class 709B
MainFrame$BlockFive.class 2KB
MainFrame_jRadioButtonMenuItem3_actionAdapter.class 709B
MainFrame_jRadioButtonMenuItem7_actionAdapter.class 709B
MainFrame_jRadioButtonMenuItem5_actionAdapter.class 709B
MainFrame_jMenuItem1_actionAdapter.class 676B
MainFrame$Block.class 4KB
about.png 329B
MainFrame_jRadioButtonMenuItem4_actionAdapter.class 709B
MainFrame_jRadioButtonMenuItem10_actionAdapter.class 712B
MainFrame$BlockOne.class 1KB
MainFrame_jRadioButtonMenuItem2_actionAdapter.class 709B
Tetris.class 1KB
MainFrame_jRadioButtonMenuItem9_actionAdapter.class 709B
MainFrame$BlockThree.class 792B
MainFrame.class 14KB
MainFrame_jMenuItem2_actionAdapter.class 676B
MainFrame_jMenuItem1_mouseAdapter.class 640B
MainFrame$BlockSix.class 2KB
MainFrame_AboutBox.class 4KB
bak
src
tetris
Tetris.java 1KB
about.png 329B
MainFrame.java 36KB
MainFrame_AboutBox.java 3KB
Tetris.jpx.local~ 2KB
Tetris.jpx.local 2KB
Tetris.jpx 4KB
Tetris.oif 22KB
Tetris.jar~ 1.3MB
共 37 条
- 1
资源评论
N201871643
- 粉丝: 641
- 资源: 2253
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功