孙跃捕鱼达人游戏项目开发最终确定.docx

上传人:b****0 文档编号:9920469 上传时间:2023-05-22 格式:DOCX 页数:23 大小:225.17KB
下载 相关 举报
孙跃捕鱼达人游戏项目开发最终确定.docx_第1页
第1页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第2页
第2页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第3页
第3页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第4页
第4页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第5页
第5页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第6页
第6页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第7页
第7页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第8页
第8页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第9页
第9页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第10页
第10页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第11页
第11页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第12页
第12页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第13页
第13页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第14页
第14页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第15页
第15页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第16页
第16页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第17页
第17页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第18页
第18页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第19页
第19页 / 共23页
孙跃捕鱼达人游戏项目开发最终确定.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

孙跃捕鱼达人游戏项目开发最终确定.docx

《孙跃捕鱼达人游戏项目开发最终确定.docx》由会员分享,可在线阅读,更多相关《孙跃捕鱼达人游戏项目开发最终确定.docx(23页珍藏版)》请在冰点文库上搜索。

孙跃捕鱼达人游戏项目开发最终确定.docx

孙跃捕鱼达人游戏项目开发最终确定

课程设计说明书

题目:

捕鱼达人游戏项目开发

学生姓名:

孙跃

学院:

理学院

班级:

信计12-2

指导教师:

侯睿

二〇一五年六月二十六日

内蒙古工业大学课程设计(论文)任务书

课程名称:

数据库应用课程设计学院:

理学院班级:

信计12-2

学生姓名:

孙跃学号:

5048指导教师:

侯睿

一、题目

捕鱼达人游戏项目开发

二、目的与意义

课程设计、综合设计的基本教学目的是培养学生综合运用所学知识和技能分析与解决实际问题的能力,以及严肃认真的科学态度和严谨求实的工作作风。

三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等)

采用SQLServer2005建立数据库,采用界面方式或命令方式创建数据库和表。

选用一种开发环境设计界面,实现信息的插入、修改、删除、查询的基本功能。

在开发环境下,通过某种方法建立与SQLServer2005数据库的连接。

四、工作内容、进度安排

主要内容

用Java程序设计语言及开发环境实现简单的捕鱼达人游戏设计。

后台数据库采用SQLServer2005,完成开发环境和后台数据库的连接,系统功能包含基本信息的查询、录入、修改、以及删除。

工作进度安排

第一天:

熟悉课程设计题目及具体要求,对所解决的问题尽量做到胸中有数,基本确定选择的高级语言及开发环境。

第二天到第四天:

拿出解决问题的初步方案,根据课题给出的用户基本需求,写出各数据实体的数据项和联系实体的活动以及活动要使用的数据项,通过E—R图来表示。

由E—R图建立适当的表,并按照不同范式的定义,对表进行规范化,并在数据库管理系统中实现设计的数据库和表。

第五天到第七天:

设计功能模块,确定每个模块的功能,以及各个模块之间的关系。

第八天到第十天:

对每个模块进行具体分析,确定需要的用户界面以及结构,完成软件的整体框架,在开发环境下,编程实现所开发的系统。

第十一天到第十二天:

综合调试,去除软件中的bug,美化应用程序的界面。

有能力的学生增加简单的数据校验、在线错误处理和在线帮助的功能。

第十三天和第十五天:

撰写课程设计报告,验收。

五、主要参考文献

[1]郑阿奇.SQLServer实用教程[M].北京:

电子工业出版社.2014.

[2]徐传运.Java高级程序设计[M].北京:

清华大学出版社.2014.

审核意见

系(教研室)主任(签字):

指导教师下达时间2015年6月8日

指导教师签字:

_______________

摘要

捕鱼达人游戏采用Java高级程序语言设计,游戏后台数据存储、调用,使用SQLServer2005数据库管理系统。

捕鱼达人游戏的设计目的是是以深海为游戏场景,各种鱼儿在其中游动的姿态自然,炮弹打击粒子效果华丽,打击感强烈,很具有趣味性。

实现如用数据库存储用户名和密码,凭正确的用户名和密码登录游戏;需要有不同种类的鱼;让鱼游动起来,被炮击中时有特效(翻滚),并获得金币;炮台可以根据鼠标的位置调整方向;炮台发射时消耗金币;可以切换背景,增加趣味性等功能。

主要依靠如,,,等一些类和框架实现相关功能。

关键词:

Java;SQLServer;Eclipse;数据库连接

引言

随着人们娱乐生活的不断丰富,人们对休闲游戏的需求也越来越高。

捕鱼达人是以深海为游戏场景,各种鱼儿在其中游动的姿态自然,炮弹打击粒子效果华丽,打击感强烈,很具有趣味性。

捕鱼达人游戏采用Java高级程序语言设计。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

游戏后台数据存储、调用,使用SQLServer2005数据库管理系统。

SQLServer是Microsoft公司推出的关系型数据库管理系统。

具有使用方便可伸缩性好与相关软件集成程度高等优点。

MicrosoftSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。

MicrosoftSQLServer数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。

第1章开发环境

进行游戏开发设计首先要考虑到合适的开发环境,根据需要不同,合理选择开发语言、环境,以及合理的数据管理系统,这是游戏开发的重要环节。

开发语言、环境,以及合理的数据管理系统选择的好,是软件开发成功的重要一步。

Java(计算机编程语言)

Java简介

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java程序的优势

与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。

全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。

“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。

这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun公司对Java编程语言的解释是:

Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。

Java平台是基于Java语言的平台。

这样的平台非常流行。

Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。

Eclipse(集成开发环境)

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

SQLServer2005(数据库)

SQLServer是Microsoft公司推出的关系型数据库管理系统。

具有使用方便可伸缩性好与相关软件集成程度高等优点。

MicrosoftSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。

MicrosoftSQLServer数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。

SQLServer数据库的优点

SQLServer能够满足今天的商业环境要求不同类型的数据库解决方案。

它一种应用广泛的数据库管理系统,具有许多显着的优点:

易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。

SQLServer还为数据管理与分析带来了灵活性。

从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。

作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。

SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力。

SQL语言

结构化查询语言(StructuredQueryLanguage)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL是一种用于和关系数据库进行交互计算机语言。

当用户想检索数据库中的数据时,就查以用SQL语言发出请求,DBMS(数据库管理系统)对SQL请求进行处理,检索到所要求的数据,并将其返回给用户。

如今SQL语言仅仅是一个查询工具,它是可以对关系数据库中的数据进行组织、管理和检索的主要工具。

SQL语言可以控制DBMS提供给用户的所有功能,SQL语言已成为用户与基于SQL的DBMS的接口。

它的功能包括:

数据定义、数据检索、数据操作、存取共享、数据完整性。

T-SQL是SQL语言的一种版本,应用于SQLServer服务器,主要包括以下几个方面构成:

数据定义语言(DDL)。

DDL用于执行数据库的任务,对数据库以及数据库中的各种对象进行创建、删除、修改等操作。

数据库对象主要包括表、缺省约束、规则、视图、触发器、存储过程。

其中主要包括的语句是CREATE,ALTER,DROP。

数据操纵语言(DML)。

DML用于操纵数据库中的各种对象,检索和修改数据。

其中主要包括的语句是SELECT,INSERT,UPDATE,DELETE。

数据控制语言(DCL)。

DCL用于安全管理,确定哪些用户可以查看或修改数据库中的数据。

主要包括的语句是GRANT,REVOKE,DENY。

所以通过数据库对宿舍管理系统进行后台数据支持能够很好的实现捕鱼达人游戏中,对于用户数据的查询、增加、修改、删除等功能。

第2章需求分析与功能设计

进行软件项目设计和数据库设计,首先必须准确了解并分析用户需求(包括数据和处理),是捕鱼达人游戏的设计的重要基础和依据。

用户需求

捕鱼达人是以深海为游戏场景,各种鱼儿在其中游动的姿态自然,炮弹打击粒子效果华丽,打击感强烈,很具有趣味性。

所开发的游戏应包含以下功能:

(1)用数据库存储用户名和密码,凭正确的用户名和密码登录游戏。

(2)需要有不同种类的鱼;

(3)让鱼游动起来,被炮击中时有特效(翻滚),并获得金币;

(4)炮台可以根据鼠标的位置调整方向;

(5)炮台发射时消耗金币;

(6)可以切换背景,增加趣味性;

(7)根据实际开发情况适当修改和优化程序。

系统分析

实现以上功能需要在程序中定义相关的类,完成相关功能的设计。

根据游戏中主要主要功能实现应包括:

(主文件),(画布类),(鱼),(鱼游动),(子弹),(子弹移动),(渔网),(金币)(金币移动),(数据库连接测试),(登陆界面),(数据库连接框架)。

图为本程序各主要的类和框架。

本游戏的整体流程如图:

 

不成功

主要功能实现

如上所述,本程序的实现,主要依靠以下一些类和框架:

,,,,,,,,,,,等。

本文就,,三个重要的类进行说明,数据库连接框架将在第四章数据库连接中予以说明。

详细程序见附录。

Fish类

FishNet类

FishPanel类

图FishPanel类模块图

第3章数据库建立及维护

数据库是存放数据的仓库,而且这些数据存在一定的关联,并按照一定的格式存放在计算机上。

从广义上讲,数据库不仅包含数字,还包括文本、图像、音频、视频等。

为了使用户名和用户密码更加方便的管理和调用,本游戏的用户名和密码存储在SQLServer数据库中。

数据库的建立

为了更加方便简洁的对数据库进行操作,也为联系课堂所学,本文中我们使用T-SQL语句对数据库进行操作。

数据库的建立

创建一个名为game的数据库,其初始大小为5MB,最大为50MB,允许数据库自动增长,增长方式是按10%比例增长。

日志文件初始为2MB,最大可增长为5MB,按1MB增长。

存放位置为“D:

\fishgame”。

建立数据库的T-SQL语句如下:

CREATEDATABASEgame

ON

PRIMARY

NAME='game_data',

FILENAME='D:

\fishgame\',

SIZE=5MB,

MAXSIZE=50MB,

FILEGROWTH=10%

LOGON

NAME='game_log',

FILENAME='D:

\fishgame\',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB

);

建立数据库的过程如图所示:

图game数据库的建立

表的建立

在已经建立好的game数据库中建立一个名为tb_user的表,用于存放用户的序号(id),用户名(username),密码(password),并定义id数据类型为bigint,属性为主键非空;定义username数据类型为varchar(50),属性为非空;定义password数据类型为varchar(50),属性为非空。

建立表的T-SQL语句如下:

USEgame

GO

CREATETABLEtb_user

idbigintNOTNULLPRIMARYKEY,

usernamevarchar(50)NOTNULL,

passwordvarchar(50)NOTNULL

建立表的过程如图所示:

图tb_user表的建立

向表中插入数据

表建立好之后需要将用户序号(id)、用户名(username)和密码(password)插入到建立好的表中,准备被调用,预设6个用户:

admin、user1、user2、user3、user4和user5。

向表中插入数据的T-SQL语句如下:

USEgame

GO

INSERTINTOtb_userVALUES(1,'admin','admin')

INSERTINTOtb_userVALUES(2,'user1','123')

INSERTINTOtb_userVALUES(3,'user2','234')

INSERTINTOtb_userVALUES(4,'user3','345')

INSERTINTOtb_userVALUES(5,'user4','456')

INSERTINTOtb_userVALUES(6,'user5','567')

向表中插入数据的过程和插入结果如图、图所示:

图向表中插入数据

图打开插入数据后的表

数据库的备份与维护

随着计算机信息系统的不断发展,用户的核心业务越来越依赖于信息系统的可靠运行,信息系统中的关键业务数据已经成为用户最为重要的资产,对于一个数据库系统来说,数据的安全性和可靠性是至关重要的。

尽管数据库管理系统中采取了各种保护措施以保护数据库的安全性和完整性,但是,计算机系统中的软硬件故障、用户误操作、病毒、自然灾难等都可能会导致数据库系统灾难性的破坏。

所以,做好数据库的备份工作极为重要。

下面我们用T-SQL语句对数据库进行备份。

使用逻辑名为fishgameBK创建一个命名的备份设备,并将数据库game完全备份到该设备。

T-SQL语句如下:

USEmaster

GO

EXECsp_addumpdevice'disk','fishgameBK','D:

\fishgameBK\'

BACKUPDATABASEgameTOfishgameBK

备份数据库的过程如图所示:

图备份game数据库

第4章数据库连接

为了使用户名和用户密码更加方便的管理和调用,本游戏的用户名和密码存储在SQLServer数据库中。

为了能够使程序能够调用我们预先存入的用户信息,我们需要连接SQLServer数据库。

SQLServer的调试

SQLServer身份验证

如果SQLServer2005安装时选择的验证方式为身份验证,首先将之改为“SQLServer身份验证”,以下为操作步骤:

步骤1打开SQLServerManagementStudio。

图打开SQLServerManagementStudio

步骤2使用Windows身份验证连接服务器。

图使用Windows身份验证连接服务器

步骤3选择根节点,单击右键选择属性。

图修改服务器属性

步骤4单击“安全性”选项卡,选择“SQLServer和Windows身份验证”方式。

图修改安全性选项

步骤5设置账号sa用户的密码。

选择sa账户“属性”,如下图。

图为sa账户设置密码

步骤6启用sa账号。

图启用sa账户

步骤7重新启动MSSQLSERVER服务。

图重新启动MSSQLSERVER服务

步骤8断开连接,使用SQLServer身份验证的方式登录服务器。

图重新启动MSSQLSERVER服务

图使用SQLServer身份验证的方式登录

MSSQLSERVER的协议

使用JDBC连接数据库需要启动SQLServer数据库需要先打开MSSQLSERVER的协议TCP/IP服务,步骤如下:

步骤1打开SQLServerConfigurationManager。

图打开SQLServerConfigurationManager

步骤2启用TCP/IP服务。

图启用TCP/IP服务

使用JDBC连接数据库

LoginCheck类连接测试

程序如下:

packageclassLoginCheck{

publicstaticbooleanisLogin(Stringuname,Stringpwd){

StringdName="";

StringdbUrl="jdbc:

;"+

"DatabaseName=game";

StringdbUser="sa";

StringdbPwd="123456";

Connectioncon;

载数据类

try{

(dName);

建数据库连接

con=(dbUrl,dbUser,dbPwd);

Stringsql="select*fromtb_userwhereusername=andpassword=";

PreparedStatementpstat=(sql);

SQLServer实用教程[M].北京:

电子工业出版社.2014.

[2]刘卫国.SQLServer2005数据库应用技术[M].北京:

人民邮电出版社.2013.

[3]姜桂洪.SQLServer2005数据库应用与开发[M].北京:

清华大学出版社.2014.

[4]顾韵华.数据库基础教程:

SQLServer平台[M].北京:

电子工业出版社.2014.

[5]徐传运.Java高级程序设计[M].北京:

清华大学出版社.2014.

[6]陈国君.Java程序设计基础[M].北京:

清华大学出版社.2015.

[7]张桂珠.Java面向对象程序设计[M].北京:

北京邮电大学出版社.2015.

[8]皮德常.Java简明教程[M].北京:

清华大学出版社.2015.

附录

附录AFishPanel类源代码

packageclassFishPanelextendsJPanelimplementsMouseMotionListener,

MouseListener,Runnable{

intscore=200;

publicintwidth;etImage();

ImagebgImg1=newImageIcon("image/case09/").getImage();

JFrameframe;

publicFishPanel(intwidth,intheight,JFrameframe){

=width;

=height;

=frame;

barrelX=416;

barrelY=-62;

}

publicvoidpaint(Graphicsg){

(g);

(bgImg,0,0,this);

for(inti=0;i<();i++){

Fishf=(Fish)(i);

(g);

}

(bgImg1,15,-72,this);

ImageIconrightAdd=newImageIcon("image/case09/");

(),460,-60,this);

ImageIconleftEduce=newImageIcon("image/case09/");

(),340,-60,this);

sMove=false;

}

(f);

(i).(f);

}

(net);

}

}

}

}

}

附录BFish类源代码

packageclassFish{

publicintx;etImage(),x,y,panel);

}else{

(imgs[imgNum%10].getImage(),x,y,panel);

}

}

etIconWidth()){

}

break;

case2:

y=y+step;

if(y>()){

}

break;

case3:

x=x+step;

if(x>()){

}

break;

}

}

imgNum++;

if(imgNum>=&&!

isCatch){

imgNum=0;

}

if(imgNum>=&&isCatch){

imgNum=0;

}

();

}

}

附录CFishNet类源代码

packageclassFishNet{

intx;

inty;

intcount=0;

publicbooleanisLive=true;

ImageIconicon;

FishPanelpanel;

VectorcatchF=newVector();

publicFishNet(intx,inty,ImageIconicon,FishPanelpanel){

=panel;

=x;

=y;

=icon;

}

publicvoidgraw(){

count++;

if(count>=5){

x=-100;

y=-100;

isLive=false;

}

}

etIconWidth()/2)+5&&+[]

.getIconWidth()/2<+&&>[0].getIconHeight()/2)+5&&+[]

.getIconHeight()/2<+=true;

(f);

Moneym=newMoney,,panel);

++;

newMoneMoveThread(m).start();

}

}

}

}

附录DLogInFrame类源代码

packageclassLogInFrame{

JFramefra

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2