Java课程设计报告石头剪子布猜拳人机对战

上传人:飞*** 文档编号:2571433 上传时间:2017-07-25 格式:DOC 页数:17 大小:926KB
返回 下载 相关 举报
Java课程设计报告石头剪子布猜拳人机对战_第1页
第1页 / 共17页
Java课程设计报告石头剪子布猜拳人机对战_第2页
第2页 / 共17页
Java课程设计报告石头剪子布猜拳人机对战_第3页
第3页 / 共17页
Java课程设计报告石头剪子布猜拳人机对战_第4页
第4页 / 共17页
Java课程设计报告石头剪子布猜拳人机对战_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《Java课程设计报告石头剪子布猜拳人机对战》由会员分享,可在线阅读,更多相关《Java课程设计报告石头剪子布猜拳人机对战(17页珍藏版)》请在金锄头文库上搜索。

1、大 连 科 技 学 院Java 课 程 设 计 报 告题 目 剪刀石头布人机对战系统的设计与实现 学生姓名 李易霖 专业班级 计算机 10-1 指导教师 李孝贵 史原 职 称 讲师 所在单位 信息科学系软件工程教研室 教学部主任 王立娟 完成日期 2013 年 9 月 13 日课程设计报告单学号 1001020112 姓名 李易霖 专业班级 计算机 10-1考 核 项 目 评分 备注平时工作态度及遵守纪律情况1 (10 分) 掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平2(10 分) 独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度3(20 分) 完成课程

2、设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)4(60 分) 总评成绩综 合 评 定: (优、良、中、及格、不及格) 指导教师签字: 2013 年 9 月 16 日Java 课程设计任务书任务及要求:一、设计(研究)内容和要求内容:编写一个管理软件,使用 GUI 界面,实现信息管理功能。包括对信息的查询,添加,删除等操作。采用数据库存储数据。要求:1、软件要求(1)实现界面。进行系统需求分析和系统设计,写出系统分析和设计报告。(2)实现数据库的连接和应用功能。(3)实现对数据的查询,添加,删除等功能。2、文档要求(1) 设

3、计程序结构、画出模块图。(2) 按照指导教师给出的项目文档的模板进行书写。(3) 参考文献数量不得低于4个。二、工作量2 周(10 个工作日)时间三、计划安排第 1 个工作日第 2 个工作日:查找相关资料、书籍,阅读示例文档;设计程序结构、模块图、完成类的设计。第 3 个工作日第 8 个工作日:完成程序的编码,并且自己调试、测试。穿插进行项目文档的撰写。第 9 个工作日:撰写和整理项目文档。第 10 个工作日:由教师检查软件测试效果、项目文档,给出学生本课程成绩。指导教师签字:2013 年 9 月 2 日目录题目: .11.需求分析 .12.概要设计 .13.详细设计 .14.编码 .15.调

4、试分析 .16.测试结果及运行效果 .17.系统开发所用到的技术 .1参考文献 .1附录 全部代码 .11题目:石头剪刀布人机对战系统的设计与实现1.需求分析这是一个古老耐玩的游戏,根据一般的常识,首先要有两个人,两个人同时出,然后,根据双方的出拳,决定谁是赢者,虽然想起来这个游戏很简单,但如何实现 ,还是有一定难度的。实现这个时针时涉及到几个技术问题:1. 双方如何出拳2. 如何同时出拳3. 如何判断哪方赢了4. 如何显示结果剪刀石头布游戏,都是通过两个人同时出拳,然后根据双方出的拳,判定哪方是赢家。准确性:在实现此的过程中,我们要考虑到,双方是否能同时地出拳,还要就是如何去判断,准确地知道

5、哪方是赢家.简洁性:在实现此的过程中,我们要考虑到,怎样使游戏界面更简单,让人更容易明白它怎样去玩。2.概要设计在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现:构造创建服务器端和客户端创建输入输出流编写服务器端处理数据的线程方法绘制游戏界面绘制界面上的提示采用此方法设计使程序简洁明了,使绘制游戏界面时简单化,更加易于游戏的实现,程序也更易于读懂。3.详细设计3.1 自定义类中子类和其父类的继承关系如图ThreadServicegetInputStreamStart Run RandomgetOutputStreamReadline图 3.1 子类及其父类继承关系图23.

6、2 Java 类及自定义类的说明自定义类:类名:SocketServer作用:服务器类继承的父类:Thread 类实现的接口:无类名:Service作用: 服务器类,它是判定胜负的类继承的父类:Thread 类类中成员: String data; BufferedReader inputs; PrintStream outputs; Socket client;实现的接口:无类名:Client作用:客户端类类中的成员: getInputStream();getOutputStream();InputStreamReader ();readLine();实现的接口:无3.3 类中成员及作用Ser

7、vice 类成员:String data; /接收数据BufferedReader inputs;/ 读取数据PrintStream outputs;/输出数据Socket client;/定义套接字Client 类成员:3String data;/接收数据Socket client = null;/定义套接字 BufferedReader inputs = null;/ 读取数据BufferedReader key = null;/ 缓冲数据PrintStream outputs = null;/输出数据4.编码4.1 类获包的加载加载剪刀石头布游戏设计中用到的类和包,用于运行主程序:imp

8、ort java.io.*; import .*; 4.2 自定义类创建服务器端使用自定义类 ServerSocket 继承父类 Thread 使用 run 等方法,构造函数创建一个服务器端。程序代码如下:public class SocketServer extends Thread ServerSocket server; public SocketServer() try server = new ServerSocket(6000); catch(IOException e) System.exit(0); this.start(); public void run() try whi

9、le(true) Socket client = server.accept();Service ss = new Service(client);4 catch(IOException e) System.exit(1); public static void main(String args) new SocketServer(); 4.3 创建数据处理类创建一个用于数据处理类使服务器能准确处理数据,获取数据,并使用方法run()实现数据处理。实现代码如下:/创建数据储存变量inputs = new BufferedReader(new InputStreamReader(client.g

10、etInputStream();outputs = new PrintStream(client.getOutputStream(); /创建一个 Run 方法public void run() 4.4 创建客户端类创建一个用于客户端接收玩家输入的数据的类,程序实现代码如下:/接收客户端的数据public class Client public static void main(String args) String data; Socket client = null; BufferedReader inputs = null; BufferedReader key = null; Prin

11、tStream outputs = null; try client = new Socket(localhost,6000); inputs = new BufferedReader(new InputStreamReader(client.getInputStream();5outputs = new PrintStream(client.getOutputStream();key = new BufferedReader(new InputStreamReader(System.in); catch(IOException e) System.out.println(CAN NOT CONN WITH SERVER); try while(true) System.out.println(-); System.out.print(请出拳:石头/剪刀/布 ); data = key.readLine();outputs.println(data);System.out.println(ECHO: + inputs.readLine(); catch(IOException e) Syst

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 技术指导

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号