java项目开发实训

时间:2024.3.31

Java项目实训设计说明书

姓    名:   佟乃坤            

学    号:   20091130126       

班    级:   09 软件          

指导教师:   曹广生            

完成日期:   2011.12.10        

设 计 要 求

第一章 功能介绍... 3

1.1功能描述... 3

1.2 功能特点... 4

第二章 系统的设计实现... 5

2.1 结构设计... 5

2.2 设计实现... 6

2.2.1 设计思想... 6

2.2.2 具体实现... 6

总 结... 10

参考文献... 11

Android手机游戏中国象棋设计说明书

第一章 功能介绍

1.1功能描述

随着3G移动网络应用的推广,手机游戏的规模、复杂程度日益增强;其技术手段、设计思想、系统体系结构都发生了深刻的变化。手机操作系统正朝着高处理能力、多功能、智能化的方向发展。近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展。

中国象棋具有悠久的历史,象棋的爱好者更是数不胜数,远在战国时代,象棋便在贵族阶层中广为流传,早期的象棋是象征着当时战斗场面的游戏,后来这种观念慢慢被改变,成了人们休闲娱乐中不可缺少的一部分。

而当今的人们忙于工作,很少有时间静下心来享受一下象棋对弈的乐趣,因此电脑版象棋、手机版象棋便开始受到人们的关注。

如今网络上的提供免费中国象棋游戏,大多数是单机版的,界面单一,功能单一。本系统将实现在网络上对战的中国象棋功能;还对在下棋界面美化,以及下棋中可能出现的意外进行了处理。这样中国象棋休闲游戏将不在是一个功能单一界面枯燥的游戏,而是一个较完善的休闲游戏。

在国内外Android手机应用开发如火如荼、日益盛行的大背景下,本人决定开发一款界面友好、操作简单,支持双人联网对局、数据记录、智能规则判断的手机休闲游戏。

本游戏的基本功能主要有两大块:

l  象棋对弈:游戏的联网互动以及即时性,是本程序与一般的象棋游戏的不同;

l  战绩统计:用于统计玩家的对弈胜负情况。

1.2 功能特点

本游戏对用户界面的要求较高,达到人性化:美观大方、便于操作,个性化:游戏界面时尚靓丽、别具一格,能自定义皮肤。本游戏是使用即时通讯协议进行通信的,所以,实时的游戏效果、即时聊天以及在线探测是必须做到用户体验良好的。数据存储方面,需存储游戏的配置信息、对局的胜负信息、对局的过程信息。

本游戏的定位是:Chess中国象棋手机游戏是运行在Android开源手机操作系统平台上的支持双人联网对战的一款手机游戏。

由于对国际国内3G移动应用的前景看好,另外也对游戏开发有很大的兴趣,决定开发一款基于Android手机操作系统的中国象棋手机游戏。

结合当前移动开发的形式,初步构想之后,定下“Android手机操作系统的中国象棋游戏”应该是这样一款休闲游戏:以3G方式连入互联网;支持双人之间的游戏互动;支持即使聊天以及在线探测;支持游戏过程记录及回放;支持人机对战;游戏界面布局人性化、个性化;支持紧急事件处理(如电话打入、电池没电等)。可能的话,进行Wi-Fi编程,实现“局域网”对局。

第二章 系统的设计实现

2.1 结构设计

本游戏的基本功能主要有两大块:

l  象棋对弈:游戏的联网互动以及即时性,是本程序与一般的象棋游戏的不同;

l  战绩统计:用于统计玩家的对弈胜负情况。

详细的游戏功能分析图如图2-1所示。

图2-1 Chess游戏功能结构图

本游戏的执行流程较简单,进入系统后有五个选项:联网对局;查看胜负情况;查看开发者信息及用户帮助信息;退出游戏。在联网对局前,XMPP连接设置必须是已经配置好的,否则无法连接jabber服务器,不能进入对局界面。

游戏主要的输入输出及模块间的调用情况用IPO图表示如图2-2:

图2-2 Chess IPO图

2.2 设计实现

2.2.1 设计思想

按照程序运行的顺序介绍各个类的作用以及整体的运行框架,步骤如下:启动游戏,首先被创建的是ChessActivity,而在ChessActivity中首先将用户显示成欢迎界面MyWelcomeView.

在显示欢迎界面的同时,启动MyWelcomeViewThread线程生成界面动画,当玩家单击“菜单”按钮时进入界面MyMenuView,在菜单界面会根据玩家不同的选择执行不同的操作。

当玩家单击“帮助”菜单时,将进入帮助界面MyHelpView.而当玩家单击“开始游戏”菜单按钮时,进入的将是游戏界面MyGameView。当玩家或者电脑走棋是,会根据规则类MyGuiZe进行判断,然后产生一个走法ChessMove。

在游戏过程中,玩家同样可以随时单击“退出”按钮来返回到菜单界面。

2.2.2 具体实现

Android程序=Activity+xml(view、surfaceview)+res+string.xml

Activity的实现类Chess,该类是通过扩展基类Activity得到的,是整个游戏的控制器,也是整个游戏程序的入口。

辅助界面相关类

欢迎界面类MyWelcomeView,类为游戏欢迎界面的实现类,主要负责欢迎界面的绘制工作,迎界面动画生成类MyWelcomeViewThread,为了欢迎界面服务的,主要是通过更改欢迎界面中图片的坐标来实现动画效果。

帮助界面类MyHelpView,类为帮助界面的实现类。

菜单界面类MyMenuView,类为菜单界面的实现类,负责绘制菜单界面以及菜单界面的屏幕进行监听。

游戏界面相关类

1)游戏界面类MyGameView

该类为游戏程序中最主要的类,负责绘制游戏过程所有的信息,如棋盘、棋子、各个按钮以及胜利或者失败菜单等。

2)象棋规则类MyGuiZe

    类是象棋规则的实现类,其中包含所有棋子的走棋规则及当前棋牌某方的所有可能的走法

3)走法类MyChessMove

    类为棋子的走法的封装类,包含棋子的名称、出发点以及目标点。

    *帅和士的走法:

“帅”,它只能在“九宫”中行走,而且每次只能横着或者纵着行走一棋点。首先,判断棋子是否是在“九宫”里行走,接着判断棋子是否是横向或纵向只走一个棋点。如果棋子将符合以上的走棋规则,则可以走动,否则棋子强制放回原处。

“士”,它只能在“九宫”中行走,而且每次只能斜着行走一格。这样只有一种情况来考虑,即纵向走一个棋点,横向走一个棋点。如果棋子士符合以上的走棋规则,则可以走动,否则棋子强制放回原处。

如图2-3所示

                                图2-3                       

    *象和马的走法:

“象”,它只能走“田”字格,而且不能过河,象腿不能被其它的棋子压到。首先首先判断棋子是否出届,这样只有一种情况考虑,那就是纵向走两个棋点,横向也走两个棋点。首先判断棋子是否走"田"字格,而且不能过河,接着再用判断象腿是否被其它棋子压着。如果棋子象走动符合以上的走棋规则,则可以走动,否则棋子强制放回原处。

“马”,它只能走“日”字格,而且马腿不能被其它的棋子压到。设计时可两种情况来考虑,一种是横向走两个棋点,纵向走一个棋点;一种是纵向走两个棋点,横向走一个棋点。判断是否横向走两个棋点,纵向走一个棋点,接着来判断马腿是否被其它棋子压着。纵向走“日”同理。如果棋子马符合以上的走棋规则,则可以走动,否则棋子强制放回原处。

如图2-4所示

                              图2-4  

  *卒和炮的走法:

“卒”,它的行走规则分两种情况。一种是棋子没过河界,另一种是棋子过了河界。首先判断棋子是否出届,然后设定棋子没过河界,接着设定棋子在没过河界的情况下只能向前行走一个棋点;然后设定棋子过了河界,紧接着设定棋子在过了河界的情况下只能向前、向左、向右行走一个棋点。如果棋子卒符合以上的走棋规则,则可以走动,否则棋子强制放回原处。

“炮”,它只能走直线,且中间有且只能有一个棋子。

如图2-5所示

                            图2-5

*車的走法:

“车”,它只能走直线,且中间不能有任何棋子,设计时分为两种情况来考虑,一种是纵向行走;一种是横向行走。判断棋子是否纵向行走,接着再用判断判断中间有没别的棋子。横向行走同理。如果棋子车符合以上的走棋规则,则可以走动,否则棋子强制放回原处。

 

 

总 结

中国象棋具有悠久的历史,象棋的爱好者更是数不胜数,远在战国时代,象棋便在贵族阶层中广为流传,早期的象棋是象征着当时战斗场面的游戏,后来这种观念慢慢被改变,成了人们休闲娱乐中不可缺少的一部分。

在国内外Android手机应用开发如火如荼、日益盛行的大背景下,本人编写了这款界面友好、操作简单,支持双人联网对局、数据记录、智能规则判断的手机休闲游戏。

如今网络上的提供免费中国象棋游戏,大多数是单机版的,界面单一,功能单一。本系统将实现在网络上对战的中国象棋功能;还对在下棋界面美化,以及下棋中可能出现的意外进行了处理。这样中国象棋休闲游戏将不在是一个功能单一界面枯燥的游戏,而是一个较完善的休闲游戏。

而当今的人们忙于工作,很少有时间静下心来享受一下象棋对弈的乐趣,因此电脑版象棋、手机版象棋便开始受到人们的关注。

随着3G移动网络应用的推广,手机游戏的规模、复杂程度日益增强;其技术手段、设计思想、系统体系结构都发生了深刻的变化。手机操作系统正朝着高处理能力、多功能、智能化的方向发展。近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展。

参考文献

[1] 靳岩,姚尚朗. Google Android开发入门. 人民邮电出版社,20##年7月, 第一版

[2] 杨丰盛. Android应用开发揭秘.  机械工业出版社,20##年1月,第一版

[3] 张利国,代闻,龚海平. Android移动开发案例,20##年2月,人民邮电出版社,第一版

[4] E2EColud工作室.  深入浅出Google Android ,人民邮电出版社 20##年8月,第二版

信息工程学院

《Java项目实训》实践环节考核报告单

20##-20##学年度第一学期期末

排课编号:                              批阅日期:    年   月   日


第二篇:Java项目开发实训项目报告


徐州工业职业技术学院

Java项目开发实训项目报告

完 成 人:                

所在班级:             

指导教师:                  

完成时间:    20##年6月14日    

所在系部:    信息管理技术学院   

一.设计项目名称:

《网上书店》

二.小组成员及分工

尚**   a、界面设计;b、查询图书信息;c、浏览图书信息并实现分页功能;d、删除图书信息;e、用户登录;f、根据客户编号查询订单信息

张**  a、数据库的总体设计;b、添加图书信息;c、修改图书信息;d、用户注册;e、添加客户订单。f、总体页面链接

三.项目功能需求分析


1. 用户登录功能

2. 用户注册功能

3. 浏览所有图书并实现分页功能

4. 添加图书功能

5. 修改图书功能

6.删除图书功能

7.添加客户订单

8. 根据客户编号查询订单信息


总体流程如图所示:

图3.1总体流程图

四.项目数据库设计

1、BookInfo表:

4.1 BookInfo

2、Custormer表:

4.2 Custormer

3、UserInfo表:

4.3 UserInfo

4、OrderInfo表

4.4 OrderInfo

四张表的关系图如下:

4.1关系图

五.完成的主要功能

1.登录功能

详细介绍:输入正确的用户名和密码可以登录到info.jsp页面(管理员)或index.jsp页面(普通用户),如果用户名或密码错误,弹出对话框,提出用户名或密码错误。

主要用到:a、entity实体层:UserInfo.java创建用户登录的方法,根据userName查询UserInfo里面的字段。

b、dao实现类:LoginDAOImpl.java运用Hibernate实现用户登录,其涉及到的接口为:LoginDAO.java。

c、Action控制层:LoginAction.java。

   运行界面如图所示:



5.1 登录界面



2.注册功能

     详细介绍:点击index.jsp上的用户注册按钮,进入regist.jsp注册界面(如图5.2所示),输入用户名和密码,提交注册,弹出页面添加用户成功(如图5.3所示),否则弹出提交失败。

主要用到:a、entity实体层:UserInfo.java创建用户登录的方法,根据userName查询UserInfo里面的字段。

b、dao实现类:LoginDAOImpl.java运用Hibernate实现用户注册,其涉及到的接口为:LoginDAO.java。 

c、Action控制层:LoginAction.java。

运行界面如图所示:

5.2 用户注册界面

5.3 用户注册成功界面

3. 浏览所有图书并实现分页功能

     详细介绍:进入index.jsp主界面,点击浏览图书,进入showNotice.jsp页面(如图5.4所示),可以对所有图书进行浏览,其中有上一页、下一页、首页、末页、以及当前页数。

主要用到:a、entity实体层:BookInfo.java创建图书的方法。

          b、dao实现类:BookInfoDAOImpl.java以及BookInfoImplManagerDAO.java(分页)运用Hibernate实现分页以及浏览,其涉及到的接口为:BookInfoDAO.java和IBookInfoManagerDAO.java(分页)。         

c、Action控制层:BookInfoAction.java和NoticeAction.java。

运行界面如图所示:

5.4 浏览图书界面

4. 添加图书功能

详细介绍:当管理员进入info.jsp管理界面,点击管理界面上的添加图书按钮,在addBook.jsp界面(如图5.5所示)进行各项内容填写,单击提交按钮,弹出页面添加图书成功(如图5.6所示),单击返回按钮进入info.jsp界面。

主要用到:a、entity实体层:BookInfo.java创建图书的方法。

b、dao实现类:BookInfoDAOImpl.java运用struts实现添加,其涉及到的接口为:BookInfoDAO.java。

c、Action控制层:BookInfoAction.java

运行界面如图所示:

5.5 添加图书界面

5.6添加成功界面

5. 修改图书功能

     详细介绍:当管理员进入searchBook.jsp管理界面,点击管理界面上的修改按钮,进入updateBook.jsp界面(如图5.7所示)进行各项内容修改,单击提交按钮,弹出页面修改成功(如图5.8所示),单击返回按钮进入searchBook.jsp界面。

主要用到:a、entity实体层:BookInfo.java创建图书的方法。

b、dao实现类:BookInfoDAOImpl.java运用Hibernate实现修改,其涉及到的接口为:BookInfoDAO.java。

c、Action控制层:BookInfoAction.java。  

运行界面如图所示:

5.7修改图书界面

5.8修改成功界面

6.删除图书功能

     详细介绍:当管理员进入searchBook.jsp管理界面(如图5.9所示),点击管理界面上的删除按钮,弹出页面删除成功(如图5.10所示),否则删除失败。

主要用到:a、entity实体层:BookInfo.java创建图书的方法。

b、dao实现类:BookInfoDAOImpl.java运用Hibernate实现删除,其涉及到的接口为:BookInfoDAO.java。

c、Action控制层:BookInfoAction.java。 

运行界面如图所示:

5.9删除图书界面

5.10删除成功界面

7. 添加客户订单功能

     详细介绍:当用户进入index.jsp界面,点击界面上的购买按钮,在addOrder.jsp界面(如图5.11所示)进行订单内容填写,单击提交按钮,弹出页面添加成功(如图5.12所示),单击返回按钮进入index.jsp界面,否则,失败。

主要用到:a、entity实体层:OrderInfo.java创建图书的方法。

b、dao实现类:OrderInfoDAOImpl.java运用Hibernate实现用户登录,其涉及到的接口为:OrderInfoDAO.java。

c、Action控制层:OrderInfoAction.java。 

运行界面如图所示:

5.11添加订单界面

5.12添加订单成功界面

8.查看根据客户编询号查订单信息

详细介绍:当用户进入index.jsp界面,点击界面上的查看订单按钮,在Order_select.jsp界面(如图5.13所示)进行客户编号内容填写,单击提交按钮,页面跳到Order_info.jsp(如图5.14所示)中,查出该客户的所有订单。

主要用到:a、entity实体层:Customer.java创建图书的方法。

b、dao实现类Customer DAOImpl.java运用Hibernate实现用户登录,其涉及到的接口为:Customer DAO.java。

c、Action控制层:Customer Action.java。

运行界面如图所示:

5.13查询客户订单界面

5.14客户订单显示界面

更多相关推荐:
Java项目实训报告模板

实训报告书课程:Java项目实训专业班级:学生姓名:学号:指导教师:完成日期:重庆电子工程职业学院软件学院目录目录................................................…

Java项目实训

技能实训课程设计总结报告实训项目Java项目实训系部软件工程系指导老师学号学生日期20xx629实训报告撰写注意事项一报告内容至少应包括以下项目1具体实训内容2本次实训主要目的3具体日程实训地点同组同学指导老师...

Java实训报告

Java程序设计实训报告实训名称图书管理系统实训专业计算机应用技术班级学号090443220姓名高宇国指导教师侯丽敏20xx年12月26日实训成绩一实训目的1熟练掌握Java面向对象程序设计的基础知识2熟练掌握...

java实训报告模板

辽宁建筑职业学院Java高级应用实训报告课题名称婚庆公司网站专业软件技术班级xxxxxxxxxx学号姓名xxxx指导教师xxx二O一三年十二月三十日成绩评定标准1目录一课程设计目的32二课程设计题目描述和要求3...

java实习报告

石家庄学院习报告王荣传20xx0502027数学与信息科学系信息与计算科学专业本科一班崔永刚讲师姓名:学号:院系:专业:班级:指导教师:教师职称:实习基本情况河北中信联信息技术有实习单位:限公司实习时间:201…

Java实训报告

PINGDINGSHANUNIVERSITYJava专业实训项目报告题目超市管理系统院系软件学院专业年级10级软件工程java工程师2班姓名学号1015302指导教师黄淼20xx年5月26日1目录一项目简介31...

java实训报告

Java实训设计报告项目名称万年历记事本专业计算机网络技术班级0922学号姓名石家庄科技信息职业学院信息工程系20xx年5月30日Java实训设计报告项目名称一项目需求整合万年历和记事本的功能提供重要事件记录功...

java校外实训报告

南京航空航天大学金城学院信息工程系专业实习报告实习项目岗位java开发实习单位地点南京网博擎天培训基地学生姓名周晨学号20xx022126专业计算机科学与技术联系方式132xxxxxxxx实习日期20xx年10...

Java实训报告报告

实训报告书实训名称Java程序设计系部专业班级计算机科本101学生姓名XXX学号1043010108指导教师王鸽完成日期山东科技大学泰山科技学院课程实训报告书目录1实训概述12逻辑推数课题的描述1装3订45线2...

java实训三实训报告

北京联合大学实验报告课程项目名称JAVA语言课程实验报告实验3学院自动化学院专业自动化班级学号姓名成绩20xx年4月4日一实验目的1掌握结构化程序设计的方法2学习用ifelse语句实现单分支3学习用ifelse...

学生管理系统实训报告(java语言)

Java实训设计报告学生管理系统一项目需求通过与科信学院教务人员的详细交流目标系统具备以下功能1教师客户端功能可以更改密码可以添加学生并要求填写学生基本信息可以根据学号查询学生基本信息及其成绩有权限控制每个管理...

Java程序设计项目实践考核报告

Java程序设计课程项目实践考核报告学生姓名学号班级指导教师完成日期1目录1Java语言概述32项目选题说明及项计划33项目需求分析44数据库设计55总体结构设计76主要程序描述87程序测试及项目测试158总结...

java项目实训报告(24篇)