⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 使用JAVA开发一个俄罗斯方块小游戏源码,希望对初学都有帮助.
💻 JAVA
字号:
package eluosi;

import java.awt.event.*;
import javax.swing.*;

public class MainFrame extends JFrame
    implements KeyListener
{
    JMenuBar menu;
    JMenu menu1;
    JMenuItem menuitem1;
    JMenuItem menuitem2;
    JMenuItem menuitem3;
    JMenuItem menuitem4;
    public MyThread th;
    public int i;
    public MainFrame()
    {
        super("俄罗斯方块");
        menu = new JMenuBar();
        menu1 = new JMenu("游戏");
        menuitem1 = new JMenuItem("开始");
        menuitem2 = new JMenuItem("暂停");
        menuitem3 = new JMenuItem("结束");
        menuitem4 = new JMenuItem("退出");
        i = 0;
        Pane panel = new Pane();
        setSize(400, 580);
        setResizable(false);
        menu1.add(menuitem1);
        menu1.add(menuitem2);
        menu1.add(menuitem3);
        menu1.add(menuitem4);
        menu.add(menu1);
        setJMenuBar(menu);
        menuitem1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e)
            {
                th = new MyThread();
                th.start();
            }
        }
);
        menuitem2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e)
            {
                i++;
                if(i >= 2)
                    i = 0;
                if(i == 1){
                    MyThread.start = false;
                    menuitem2.setText("继续");
                }
                if(i == 0){
                    MyThread.start = true;
                    menuitem2.setText("暂停");
                }
            }
        }
);
        menuitem3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e)
            {
                MyThread.start1 = false;
                MyThread.isDead = true;
                MyThread.SetCruObjZero();
            }
        }
);
        menuitem4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e)
            {
                System.exit(0);
            }
        }
);
        addKeyListener(this);
        setContentPane(panel);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public void keyTyped(KeyEvent keyevent)
    {
    }

    public void keyPressed(KeyEvent ke)
    {
        switch(ke.getKeyCode())
        {
        default:
            break;

        case 38:
            if(!MyThread.start)
            {
                MyThread.Level++;
                if(MyThread.Level > 14)
                    MyThread.Level = 0;
                MyThread.main.repaint();
            } else
            {
                MyThread.Filp();
            }
            break;

        case 37:
            if(!MyThread.start)
            {
                MyThread.Speed--;
                if(MyThread.Speed < 0)
                    MyThread.Speed = 8;
                MyThread.main.repaint();
            } else
            {
                MyThread.Move(-1);
            }
            break;

        case 39:
            if(!MyThread.start)
            {
                MyThread.Speed++;
                if(MyThread.Speed > 8)
                    MyThread.Speed = 0;
                MyThread.main.repaint();
            } else
            {
                MyThread.Move(1);
            }
            break;

        case 40:
            if(!MyThread.start)
            {
                MyThread.Level--;
                if(MyThread.Level < 0)
                    MyThread.Level = 14;
                MyThread.main.repaint();
            } else
            {
                MyThread.fall();
            }
            break;
        }
    }

    public void keyReleased(KeyEvent ke)
    {
        if(ke.getKeyCode() == 40)
            MyThread.fall = false;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -