java连连看

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机学院 《面向对象程序设计》课程设计报告

《面向对象程序设计》

课程设计报告

题目: 连连看游戏设计

专业: 网络工程

班级: 15(2)班

姓名: 卢山

指导教师: 杨星

成绩:

计算机学院

2017年5月18日

2016-2017学年 第2学期

目录

1设计内容及要求 (3)

1.1设计内容 (3)

1.2设计要求 (3)

2概要设计 (4)

2.1功能目标 (4)

2.2游戏规则 (4)

3 具体设计与实 (5)

3.1界面设计与实现 (5)

3.2程序算法设计 (7)

4 运行结果界面 (10)

5 结束语 (12)

6 参考文献 (13)

附源程序: (13)

1设计内容及要求

1.1设计内容

游戏规则是模仿网络上普通的连连看游戏,主要是鼠标两次点击的图片能否消去的问题。当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予处理。在两张想同图片所能连通的所有路径中,如果存在一条转弯点不多于两个的路径,就可以消去;如果没有,则不予处理。

1.2设计要求

1)系统采用图片连连看的方式,界面美观友好,用户使用灵活、方便。

2)实现用户登录注册功能。

3)图片的消除、排列清晰。

4)计分自动完成,提高工作效率。

5)用进度条来表现用掉的时间。

6)实现多条件查询。

7)可方便快捷地进行下一盘游戏,并且两盘的分数在规定的时间内会叠加起来。

8)操作员可以随时退出游戏。

9)对用户输入的信息,系统进行严格的信息检验,尽可能排除人为的错误。

10)系统最大限度地实现了易维护性和易操作性。

11)系统运行稳定、安全可靠。

2概要设计

2.1功能目标

1)该游戏开始前,将设置一个用户登录注册界面,如果没有注册的玩家在按下“注册”按钮后将进入注册界面,玩家需要填写用户名,密码,性别等信息完成注册,再进入登录界面,输入用户名和密码按下“确定”后就将进入游戏界面,开始游戏。

2)游戏中将有“退出”功能,选择退出命令后程序将终止执行,关闭窗口。还将有“再来一局”功能,选择再来一局命令后程序将对图片重新排列,重新开始游戏。该游戏还有一个时间倒计时的进度条,提醒玩家剩余的时间,增加游戏的难度。在界面的顶部有计分功能,当玩家消去图片后就会赢得相应的分数。

2.2游戏规则

玩家可以将2 个相同图案的对子连接起来,连接线不多于3 根直线,就可以成功将对子消除。

操作:

第一次使用鼠标点击棋盘中的棋子,该棋子此时为“被选中”,以特殊方式显示;再次以鼠标点击其他棋子,若该棋子与被选中的棋子图案相同,且把第一个棋子到第二个棋子连起来,中间的直线不超过 3 根,则消掉这一对棋子,否则第一颗棋子恢复成未被选中状态,而第二颗棋子变成被选中状态。

3 具体设计与实

3.1界面设计与实现

图1 用户登录模块框图

此函数的作用是创建登录界面,检测用户登陆的合法性,并确认用户输入了合法的登录名和口令。

部分代码:

public void loginDialog() {//设置登录界面

timer = new Timer(100, this);//创建时间对象***倒计时时间100秒

login = new JDialog();//创建对象

login.setTitle("登录");//在文本框中写入名字

login.setLayout(new FlowLayout());//添加流布局

login.add(new JLabel("用户名:"));//添加标签

final JTextField name = new JTextField(10);//设置文本框长度

login.add(name);

login.add(new JLabel("密码:"));//添加标签

final JPasswordField password = new JPasswordField(10); //设置文本框长度

password.setEchoChar('*');//密码以*返回

login.add(password);

JButton confirm = new JButton("登录");//添加按钮

confirm.addActionListener(new ActionListener() {//设置一个监视器

public void actionPerformed(ActionEvent e) {

if (compareUserData(name.getText().trim(),

new String(password.getPassword()))) {

login.setVisible(false);

init();

timer.start();

} else {

JOptionPane.showMessageDialog(login, "用户名或密码错误!", "错误提示",

JOptionPane.ERROR_MESSAGE);

}

}

});

login.add(confirm);

final JDialog regDialog = new JDialog(login, "注册", true);

registerDialog(regDialog);

JButton register = new JButton("注册");//添加按钮

register.addActionListener(new ActionListener() {//设置一个监视器

public void actionPerformed(ActionEvent e) {

regDialog.setVisible(true);

}

});

login.add(register);//添加组件

相关文档
最新文档