- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Java项目实训》课程设计模板2
信息科学与工程学院 课程设计
题 目: TicTacToe游戏 郭磊
学 号: 201312310109
班 级: 3+2
课 程: java项目实训TicTacToe游戏的井字游戏的applet,分布式井字游戏运行用户在因特网上任意不同机器上玩游戏。Iterl(R) Core(TM)2 Duo CPU,主频2.31GHz;内存3G;
硬盘320G以上;1024×768显示分辨率
软件环境: JDK6.0以上、eclipse 等 设计报告:
1、设计目的和任务
2、总体设计:包括程序设计组成框图、流程图。
3、详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用关系描述等。
4、调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
5、源程序清单和执行结果:清单中应有足够的注释。 任课教师评语
成绩: 教师签名: 日期:
目 录
绪 论 1
1.1 设计目的 1
1.2 设计任务 1
1.3 运行环境 1
2总体设计 2
2.1 游戏运行原理 2
2.2 程序设计组成框图 2
2.3 程序设计流程图 3
3详细设计实现 4
3.1系统结构 4
3.2 服务器端 4
3.3 客户端 12
3.4 连接服务器 14
3.5游戏开始 15
4心得体会 18
绪 论
1.1 设计目的
学习如何使用数据流,使用多线程和网格开发一个分布式的井字游戏,分布式的井字游戏运行用户在因特网上任意不同的机器上玩游戏
开发一个井字游戏的Applet,该游戏允许两个游戏者在同一台机器上玩游戏。
环境是在个人笔记本上搭建的,根据运行情况得出本系统的运行环境至少为:
硬件环境:Iterl(R) Core(TM) 2 Duo CPU,主频2.31GHz;内存3G;
硬盘320G以上;1024×768显示分辨率
软件环境: JDK6.0以上、eclipse 等
2总体设计
2.1 游戏运行
服务器创建一个服务器套接字,并接受每两个玩家一组的连接请求,构成一个会话,每个会话都是一个线程,管理两个玩家的通信并且判断游戏状态。服务器建立任意多个会话,
图2-1游戏运行原理
服务器创建一个套接字,并接受两个玩家一组的连接请求,构成一个会话,每个会话都是一个线程,管理两个玩家的通信并且判断游戏状态。服务器建立任意多会话,每一个会话中,第一个与服务器的客户端标志为玩家1,使用的棋子为x,第二个与服务器连接的客户端标志为玩家2,使用的棋子标记为o,服务器玩家各自使用的标记。一旦客户端都与服务器建立,服务器就启动一个线程,两个玩家的游戏
Tic-Tac-Toe游戏
图2-2
图2-3
2.3 程序设计流程图
3详细设计实现
3.1系统结构
该游戏主要分为服务器和客户端两部分,服务器主要负责创建对话,并传递数据,客户端用来显示对方的动作,在界面上显示出来。
3.2 服务器端
服务器套接字,接受来自第一个玩家的连接通过玩家谁是使用标记X的玩1,接来自第二玩家的连接通知玩家谁是使用标记O玩家2,启动会话线程。
try {
// create a server socket
ServerSocket serverSocket = new ServerSocket (8000);
jtaLog.append(new Date () +
: Server started at socket 8000\n);
// Number a session
int sessionNo = 1;
// Ready to create a session for every two players
while (true) {
jtaLog.append (new Date () +
: Wait for playe
原创力文档


文档评论(0)