JAVA拼图大作业实验报告课案Word下载.docx
- 文档编号:14244498
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:34
- 大小:1.31MB
JAVA拼图大作业实验报告课案Word下载.docx
《JAVA拼图大作业实验报告课案Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA拼图大作业实验报告课案Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
从用户角度,设计一个简单但是十分考验人的小型拼图游戏,让人们在简单方便的操作中舒缓自己一天的疲惫,和朋友一起进行挑战,不断地突破,展现游戏的美丽,实现游戏的价值
从开发者角度,这是对我半年JAVA语言学习的检测,同时我也自学了许多东西,比如数据库的链接,SQL语句和JAVA的各种函数,让我可以真正的体会到开发一个项目的过程和需要付出的不懈努力,也让我享受到了自己尽全力完成一个项目的过程和完成后的喜悦。
2软件开发环境与技术说明
2.1软件开发环境
JAVA开发环境-Eclipse
JAVA支持包:
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.*;
importjavax.swing.*;
mysql-connector-java-5.1.40-bin.jar(MySql驱动jar包)
数据库环境:
MySql数据库(使用的是Navicat图形界面)
2.2软件开发技术描述
1.拼图游戏界面设计主要使用了JAVA的GUI图形界面,主登录界面和账号注册界面使用的是流式FlowLayOut布局进行登录框和按钮的设置,而拼图游戏界面则是使用的网格式GridFlowOut布局.
2.通过连接MySql数据库,(名称:
user),创建数据表user_info
列名称为:
username(账号),password(密码),score(过关时间),
Count(过关所用步数);
实现了游戏的账号注册和登录功能,以及每个账号成绩的记录和储存,并可以再推行界面中显示每个用户的游戏记录
3.通过Timer类实现了拼图游戏计时功能
4.图片存储在项目文件夹下image文件夹中,通过名字的巧妙设置实现了打乱图片顺序,切换图片,判断拼图是否完成。
3系统分析与设计
3.1项目需求分析说明
立足于用户的角度,首先,我们实现了个性化的服务,即账号的注册和登录功能,不同的用户可以进行使用,使游戏具备了最重要的竞技性,只有这样才不会让用户感到无聊,并且我们实现了4X4拼图游戏的基本功能,而且配有游戏的时间的所用步骤,可以实时地反映给游戏用户,让用户清楚地了解到自己的分数,同时还可以记录游戏过关的时间和步数,满足了用户的冲击记录的心理需求,调高了游戏的可玩性,不会被用户快速地玩腻。
3.2系统设计方案
从用户的角度,我们需要有以下数据类型
数据库user
数据表user_info
列名称类型长度数据
usernamevarchar255JAVA2016
passwordvarchar255Java2016
scorevarchar25501:
30
countint1156
username和password是用户的必有属性,可以进行登录和注册
score和count即用户所用的时间和步骤,双重分数完美呈现了每个人的实力
从系统设计角度
首先,
最主要的是实现最最基本的游戏功能,即设计拼图游戏的核心程序
1.拼图表格式的布局,容易让我想到使用按钮进行网格式布局
2.为每个按钮添加背景图片(这些背景图片需要经过事先的裁剪),
3.需要进行按钮背景图片的打乱,容易想到使用随机数RANDOM()函数,然后会想到在背景图片的名字上做文章来进行背景图片的随机设置
4.我们把16个按钮存储在数组中,便于操作,然而数组最大的方便之处在于他的随机存储,我们可以通过下标访问任意一个按钮,于是想到把图片的名字与下标联系在一起,解决了图片的随机排列
5.如何设置背景图片?
我们需要有图片的路径,而图片的路径仅仅是图片名字的不同,所以我们将固定的图片存储路径存放到字符串数组中,然后通过循环进行图片的设置,SetIcon()函数可以做到这一切.
6.切换下一张,实质还是背景图片的变化,所以我们继续在图片名字上做文章,设置一个表示数字代表是第几张的图片,把他设置到图片名字里面。
然后切换下一张被简化为改变一个数字(编程思路要清晰),数字变即路径变,也就是背景图发生变化
总结:
拼图-》背景图片的变化-》背景图片路径的变化-》图片名字的变化
接下来,
实现一个项目的登录和注册,我们需要数据库,而游戏的记录也需要数据库来存放,所以我么必须首先确立自己的数据库体系,如上所示,然后就是实现注册,将数据写入数据库和登录,在数据库中进行匹配,
游戏记录的写入和读取。
在游戏成功时,获取当时的时间和步数,写入对应的用户的数据表中,然后另一个界面中设置表格,从数据库中读取信息,然后写入到表格里面进行展示
最后,
我考虑了游戏的一些具体实现,游戏界面的设计,如何才能让用户看得舒心,玩的自在,和暂停等实用小功能,无限满足用户的需求。
以上,就是我在设计拼图游戏是系统设计方案,以后还会不断地完善自己的程序!
4系统源代码
4.1系统源代码文件说明
拼图游戏源代码结构
-分为4个窗口介绍
1.Frame1主登录窗口
(属性)包括3个标签组件,4个按钮组件,2个文本域组件和1个布局,4个按钮的鼠标点击监听事件
(方法)包括1个函数来进行组件的添加和布局的设置,1个函数进行数据库的连接和读取,4个监听类进行事件的编写
2.Frame2注册窗口
(属性)包括2个按钮,4个标签和3个文本域以及2个按钮的点击事件
(方法)包括1个函数进行组件的添加和布局的设置,1个函数进行数据库的连接和写入,2个监听类进行点击事件的编写
3.Frame3历史记录窗口
(属性)包括1个表格
(方法)包括1个函数进行表格的属性设置和数据库数据的读取并写入到表格中
4.Frame4游戏窗口
(属性)包括4个按钮,3个标签,16个按钮和85张图片
(方法)包括1个函数进行组件的添加和布局的设置,4个按钮的点击事件函数,1个计时器的计时事件
其他:
还有每个窗口中的字体的设置,面板位置的设置,等
4.2源代码
publicclassTest{
MyListenner1myListenner1=newMyListenner1();
MyListenner2myListenner2=newMyListenner2();
MyListenner3myListenner3=newMyListenner3();
MyListenner4myListenner4=newMyListenner4();
MyListenner5myListenner5=newMyListenner5();
MyListennerFanHuimyListenner18=newMyListennerFanHui();
JFrameframe=newJFrame();
//登录主窗口
JFrameframe2=newJFrame();
//注册窗口
JFrameframe5=newJFrame();
JPanelpane00=newJPanel();
//历史记录
JPanelpane0=newJPanel();
JPanelpane1=newJPanel();
JPanelpane2=newJPanel();
JPanelpane3=newJPanel();
JPanelpane4=newJPanel();
JPanelpane5=newJPanel();
//注册界面
JPanelpane6=newJPanel();
JPanelpane7=newJPanel();
JPanelpane8=newJPanel();
//返回按钮
JButtonbutton7=newJButton("
返回"
);
JLabellab=newJLabel("
☆简易拼图游戏☆"
//注册界面
JLabellab1=newJLabel("
游戏开始"
//登录界面/注册
JLabellab7=newJLabel("
☆账号注册界面☆"
JLabellab2=newJLabel("
账号:
"
//注册
JLabellab3=newJLabel("
密码:
//zhuce
JLabellab4=newJLabel("
确认密码:
JTextFieldtext1=newJTextField(10);
//注册账号
JPasswordFieldtext2=newJPasswordField(10);
//注册密码
JPasswordFieldtext3=newJPasswordField(10);
JButtonbutton6=newJButton("
注册"
JLabellab5=newJLabel("
账号"
//登录
JLabellab6=newJLabel("
密码"
//denglu
JButtonbutton2=newJButton("
进入游戏"
JButtonbutton1=newJButton("
注册账号"
JButtonbutton3=newJButton("
游戏记录"
JButtonbutton5=newJButton("
退出游戏"
JTextFieldtext4=newJTextField(10);
//登录账号
JPasswordFieldtext5=newJPasswordField(10);
//登录密码
GridLayoutlay1=newGridLayout(2,2,5,3);
GridLayoutlay2=newGridLayout(4,2);
FlowLayoutlay3=newFlowLayout(FlowLayout.LEFT,15,20);
Fontfont1=newFont("
楷体"
Font.BOLD,25);
Fontfont0=newFont("
Font.BOLD,30);
intnum=0;
intCount=0;
inta=0,b=0,c=0,d=0;
JFrameframe4=newJFrame();
MyListenner1_1mylistenner11=newMyListenner1_1();
MyListenner2_1mylistenner12=newMyListenner2_1();
MyListe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 拼图 作业 实验 报告