用Java写的一个简单的连连看

大二时做的Java课程设计,拿了个优秀,用了icon来模拟做了个简单的连连看,代码量不多,仅供参考。

课设要求是实现连连看最基本的功能,所以这里写了个简单的初始界面和经典模式的一个界面。

初始界面

代码如下:

public class PictureMatching {
    JButton classical = new JButton("经典模式");
    JButton about = new JButton("关于游戏");
    JButton exit= new JButton("退出游戏");
    JFrame menus = new JFrame("连连看");
    public PictureMatching(){
         menus.setLayout(new FlowLayout(FlowLayout.CENTER,40,40));//布局
         JLabel label = new JLabel("连连看");

        //设置字体
         Font font = new Font("黑体",Font.PLAIN,26);
            label.setFont(font);        
            classical.setFont(font); 
            about.setFont(font);
            exit.setFont(font);
           //组件放入容器中
            menus.add(label);
            menus.add(classical);
            menus.add(about);
            menus.add(exit);

            Buttonlistener listener = new Buttonlistener();
            classical.addActionListener(listener);
            about.addActionListener(listener);
            exit.addActionListener(listener);
            menus.setSize(300, 450);
            menus.setLocationRelativeTo(null);
            menus.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            menus.setVisible(true);
    }
    public class Buttonlistener implements ActionListener{//初始界面的监听器
        @Override
        public void actionPerformed(ActionEvent e) {
            if((JButton)e.getSource() == classical){
                new Classical();
            }
            else if ((JButton)e.getSource() == about) {
                new About();
            }
            else if((JButton)e.getSource() == exit)
                System.exit(0);
        }
    }
   //主函数
    public static void main(String args[]){
        try{
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }catch (Exception e) {}
        new PictureMatching();
    }
}

“关于游戏"界面可以写一些信息,这里不多赘述。

经典模式的界面如下:

代码如下:

class Classical extends JFrame implements ActionListener{
	Piture piture[][]=new Piture[12][12];
	Check check;JLabel label,time,score,rule,prop,win,lose;
	Time timer;
	CardLayout card = new CardLayout();
	JPanel panel = new JPanel(card);
	JPanel addpanel1 = new JPanel();//按钮面板
	JPanel addpanel2 = new JPanel();//暂停面板
	JPanel addpanel3 = new JPanel();//win面板
	JPanel addpanel4 = new JPanel();//lose面板
	private int s = 0;//分数 
	private int best = 0; //最高分
	JButton tip,reform,exit,stop,restart;
	int t = 3,r = 1;//提示次数,重置次数
	Path path = Paths.get("D://课程设计//最高分.txt");
	public Classical(){
		setTitle("经典模式");
		setLayout(null);
		label = new JLabel("经典模式");
		Font font = new Font("黑体", Font.PLAIN, 40);
		label.setFont(font);
		tip = new JButton("提示X3");
		reform = new JButton("重置X1");
		exit = new JButton("返回");
		stop = new JButton("暂停");
		restart = new JButton("重新开始");
		time = new JLabel();
		Font song = new Font("宋体", Font.PLAIN, 
  • 7
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值