import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.Border;
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;
private GameCanvas canvas;
private ErsBlock block;
private boolean playing = false;
private ControlPanel ctrlPanel;
private JMenuBar bar = new JMenuBar();
private JMenu mGame = new JMenu("ÓÎÏ·"),
mControl = new JMenu("¿ØÖÆ"),
mWindowStyle = new JMenu("ÓÎÏ··çžñ"),
mInfo = new JMenu("ÐÅÏ¢");
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("°æ±Ÿ£º¶íÂÞ˹·œ¿é1.0"),
miSourceInfo = new JMenuItem("ÔŽŽúÂëÓÉJavaʵÏÖ");
private JCheckBoxMenuItem
miAsWindows = new JCheckBoxMenuItem("Windows"),
miAsMotif = new JCheckBoxMenuItem("Motif"),
miAsMetal = new JCheckBoxMenuItem("Metal", true);
//Ö÷ÓÎÏ·ÀàµÄ¹¹Ôì·œ·š@param title String£¬Ž°¿Ú±êÌâ
public ErsBlocksGame(String title) {
super(title);
setSize(315, 392);
Dimension scrSize =
Toolkit.getDefaultToolkit().getScreenSize();
setLocation((scrSize.width - getSize().width) / 2,