记一次JAVA实训(开发连连看小游戏)(三)

在本次JAVA实训中,开发者面临了一位只提供代码而缺乏指导的老师,不得不自行研究每个函数。实训增加了登录功能、进度条计时、重置按钮等新特性。代码组织上,将GameData.java拆分成模块化。尽管实训即将结束,开发者感到收获并不丰富,认为算法学习不足,可能受限于学校的资源和平台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

换了个老师,这个老师让人有点小无语

直接给全部代码给你,最基本的实现思路都不说

我只好一个一个函数去找度娘了,之后写了些注释。

相比之前,现在加的功能有:游戏开始时有登录框,要求输入用户名和密码;有进度条,并在消除的同时加时间;重置按钮等


把之前的GameData.java  文件中的各功能分成模块,再进行调用

/**
 * 显示
 * @author miemie
 *
 */
public class MainFrame extends JFrame {
	private static final long serialVersionUID = 1L;
	private static final int height = 400;
	private static final int width = 400;

	JButton button1 = null;
	JButton button2 = null;
	
	GameFile gameFile= new GameFile();
	final GameData gameData = new GameData();
	JButton[] buttons = new JButton[GameData.rows * GameData.cols];
	
	//分数
	JLabel lblScroe = new JLabel();
	int score=gameFile.readScore();
	//时间
	final int timeLimit = 20;
	int timeLeft = timeLimit;
	

	public MainFrame() {
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

		//this.resize(width + 17, height + 38);//过时 
		this.setBounds(1, 1, width + 17, height + 38);
		this.setLocation((screenSize.width - width) / 2,
				(screenSize.height - height) / 2);
		this.setTitle("连连看");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// this.setLayout(null);
		initButtons();//
     	        showImage();
		initPane();
		initTimePane();
	}

以下为同个页面中的其他模块

        /**
	 * 面板,显示在窗口上方
	 */
	private void initPane() {
		JPanel scorePane = new JPanel(new FlowLayout());
		scorePane.add(new JLabel("玩家:"+UserEmpty.username));
		scorePane.add(new JLabel("    "));
		scorePane.add(new JLabel("得分:"));
		lblScroe.setText("" + score);
		
		JButton btnResort = new JButton("重排");
		btnResort.addActionListener(new ActionListener() {
                        //因为没有实现ActionListener接口,重写方法
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO 自动生成的方法存根
				gameData.shuffle();  //打乱数据
				showImage();	//再次显示所有图片(重置data中的数字)
				timeLeft=timeLeft-10;
				
			}
		});
		scorePane.add(lblScroe);
		scor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值