软件工程系项目报告
| 姓名 | 李* | 学号 | G********* |
| 专业班级 | 软件工程20001班 | 指导教师 | *** |
| 课程名称 | 面向对象程序设计(Java) | ||
| 项目名称 | 猜拳游戏 | ||
一、项目介绍
猜拳游戏灵感来源于day4作业2猜拳游戏,猜拳游戏这一项目可以很好的利用前面课堂所学习的知识和图形页面的相关知识,本身运行代码并不复杂,可以更加明显的体现相关知识运用成果。
猜拳游戏拥有五个页面,分别为游戏登陆页面、游戏开始页面、游戏进行页面、游戏介绍页面、游戏声音设置页面,可以实现各个页面的跳转,并实现相应功能。
二、核心类图设计
表格样例:
| 类名 | 属性/方法 | 描述 |
| Start | Start() | 开始页面的创建 |
| repaint(long time, int x, int y, int width, int height) | 重绘 | |
| Game | hands | 按钮名称 |
| count | 用于计用户个数算 | |
| num | 用于计算局数 | |
| users | 用于计算得分 | |
| wozhiji | 用于添加我方猜拳图片 | |
| compunt | 用于添加电脑猜拳图片 | |
| center | 第一标签 | |
| first | 第一标签1 | |
| first1 | 放Pk图片 | |
| greet | 欢迎文本框 | |
| name | 姓名文本框 | |
| second | 第二标签 | |
| vs | PK标签 | |
| duiahan | 标签 | |
| jieshao | 介绍文本框 | |
| correct | 修正文本框 | |
| start | 开始标签 | |
| third | 第三标签 | |
| quanxing | 开始界面按钮 | |
| forth | 第四标签 | |
| scores | 得分标签 | |
| note | 纯文本多行区域 | |
| sc | 容器类存放多行文本 | |
| one | 用于展示电脑图片 | |
| str | 存放姓名文本 | |
| Guess | compare(int rnum ,int gnum) | 猜拳判定代码 |
| Client | name | 用户姓名 |
| scores | 用户得分 | |
| winscores | 用户的分的计算 | |
| greetings(int num) | 用户的显示 | |
| Aniubeijing | com(int rnum) | 按钮图片的增加 |
| Actmenu | buttons[] | 开始页面按钮 |
| Actmenu() | 安放监听器 | |
| shutdown() | 换窗口 | |
| shutdown() | 清空文本框 | |
| resetuser() | 多行文本的清空 | |
| lntroduction | Introduction() | 构建介绍页面 |
| repaint | 重绘介绍页面 | |
| Login | tool | 获取工具 |
| url | 获得图片相对地址 | |
| img | 传入图片相对地址 | |
| text_user,text_pass; | 文本框 | |
| Login() | 构建登陆文本框 | |
| Music | player | 播放器 |
| music() | 播放音乐 | |
| notmusic() | 停止音乐 | |
| music1() | 换音乐1 | |
| music2() | 换音乐2 | |
| music3() | 换音乐3 | |
| music4() | 换音乐4 | |
| Musicshez | jButton1,jButton2,jButton3,jButton4,jButton5,jButton6; | 音乐界面按钮 |
| paint(Graphics g) | 重绘面板 | |
| Musicshez() | 播放音乐界面 | |
| My | driver | 链接数据库 |
| url | 获取数据库 | |
| username | 账号 | |
| password | 密码 | |
| con | 数据库连接的对象 | |
| My() | 连接 | |
| Run | Start | 开始游戏页面 |
| game | 游戏界面 | |
| jianjie | 游戏简介界面 | |
| yimyueshezhi | 音乐设置页面 | |
| frames | 页面的创建 | |
| Main() | 程序所以页面的创建 |
三、核心功能对于JDK类库的引用列表
| 引用的JDK类名 | 核心类名 | 描述 |
| java.util.List | Question | 用于存储问题列表 |
| Answer | 用于存储答案列表 | |
| java.awt.* javax.swing.* | Button | (按钮) |
| TextField | (文本框) | |
| List | (列表) | |
| Jframe | 窗口 | |
| ActionEvent | 监听器 | |
| ActionListener | 监听器 | |
| JOptionPane | 消息提示框 | |
| java.sql.* | Driver | 访问对应的数据库 |
| DriverManager | 在classpath中加载相应数据库的JDBC driver | |
| Connection | 与特定数据库的连接 | |
| java.io.* | BufferedInputStream | 读取文本框内容 |
| File | 代表文件名和目录路径名 | |
| FileInputStream | 字节流 | |
| javazoom.jl | player.Player | 播放器 |
四、项目特色
1、功能特色
用户可根据数据库的账号和密码进行登录,在游戏过程中将伴随有背景音效,并可更具用户自我喜好进行更换背景音效。游戏程序应用图形界面,有大量图片背景进行修饰可以直接根据图片理解进行游戏。
- 技术特色
应用IO流和javazoom播放MP3音频。应用数据库设置登录界面,应用图形界面技术在文本框内插入图片,在按钮内插入图片,在jlabel中设置背景图片。
进行音乐播放及其停止,运用多页面并实现多个页面的跳转。
五、运行效果截图
六、项目工作总结与学习心得体会
通过这次项目让我更加了解Java程序设计中的面向对象的编程思想。在完成大作业项目的几个星期里虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地 加深了我对一些理论知识的理解,不仅使我在理论上对java有了全新的认识,在实践能力上也得到了提高, 真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识 的一个初审吧!这次大作业对于我以后学习、找工作也是受益菲浅的,在短短的三周中相信这些宝贵的经验会成 为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的!由此看来,我们在大连的这几个月里学到了 不少的专业知识,只是自己感觉不到而已。对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。大作业是学习java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。
源代码较多如需要请联系我



