B、当用户选择为主机时,IP地址如:“127.0.0.1”,端口号由用户填写。
C、当用户为客户机时,则需要在设置连接到主机的IP地址及端口号。
D、如果上面已经设置过,则从新开始游戏时,把上一次设置的IP地址和端口号显示出来。
建立并运行服务器输入用户IP客户服务器向用户发送准备请求网络1网络2开始游戏 断开连接
系统基本隐形过程图 Socket编程接口网络连接
第 31 页 共 35 页
玩家一 1. 2. 初始化用户界面 向服务器请求连接,并从服务器获知所用棋子的标记。 3. 4. 从服务器得到开始标志。 等待玩家标记单元格,并向服务器发送单元格的行号和列号。 5. 6. 从服务器接收游戏状态。 如果状态是WIN,显示是胜者,如果玩家二获胜,接收玩家二的最后一步走棋信息。中断循环。 7. 如果状态是DRAW,显示游戏结束,中断循环。 服务器 创建一个服务器套接字。 接收第一个玩家的连接请求,并且通知玩家他是玩家一,使用标记“X”。 接收第二个玩家的连接请求,并且通知玩家他是玩家二,使用标记“O”。启动对局线程。 处理对局: 1. 告诉玩家一开始游戏。 2. 接收玩家一选定单元格的行和列。 3. 判断游戏状态(STOP,WIN,DRAW,CONTINUE)。如果玩家一退出,向玩家二发送状态(STOP),退出。 4. 如果玩家一获胜,给两个玩家都发送状态(PLAYER1_WON),并且向玩家二发送玩家一的走棋信息。退出。 5. 如果状态是CONTINUE,通知玩家二轮他走棋,并且向玩家二发送玩家一最新选定单元格的行和列。 6. 接收玩家二选定的单元格的行和列。 7. 如果玩家二退出,向玩家一发送状态(STOP),退出。 8. 如果玩家二获胜,给两个玩家都发送状态(PLAYER2_WON),并且向玩家一发送玩家二的走棋信息。退出。 玩家二 1. 初始化用户界面 2. 向服务器请求连接,并从服务器获知所用棋子的标记。 3. 从服务器接收游戏状态。 4. 如果状态是WIN,显示是胜者,如果玩家一获胜,接收玩家一的最后一步走棋信息。中断循环。 5. 如果状态是CONTINUE,接收玩家一选定的单元格的行号和列号,标记玩家一选定的单元格。 6. 等待玩家标记单元格,并向服务器发送单元格的行号和列号。 8. 如果状态是CONTINUE,接收玩家二选定的单元格的行号和列号,标记玩家二选定的单元格。 9. 如果状态是CONTINUE,发送状态,并且向玩家一发送玩家二最近选定的单元格的行和列。
第 32 页 共 35 页
系统用例图如下:
2.4异常处理需求
(1)当端口号冲突时,错误提示并可重新输入 (2)当出现错误行列时,此次操作无效 (3)如果网络非正常断开时,则终止此局
第 33 页 共 35 页
四、软件实现与测试
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
软件测试的目的:
(1)测试并不仅仅是为了找出错误。通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;
(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。 五、 总结
经过系统的设计与实现,一个能够实现人机对战和人人对战的局域网五子棋系统基本完成。总结全文的工作,具体概括如下:
论文首先研究了对弈系统的具体要求,构建了基于C/S模式的局域网五子棋对战系统。
采用Socket网络编程,分析了其通信的基本原理及其实现,完成了局域网五子棋对弈系统的总体方案的设计,以C#为软件语言基础,以Visual Studio为软件开发工具,完成了对弈系统各模块的设计,其中包括服务器模块、客户端模块以及美化界面方面的设计。
本软件虽然基本实现了局域网五子棋这款游戏的设计,但需要改进的地方还很多,我个人认为需要改进的地方有以下几点:
可以为游戏加入聊天功能,能够进行简单语言的对话。
对游戏逻辑模块进行优化,进一步提高时间性能和可扩展性,以适应将来新的需求和变化。
此外电脑落棋算法也有待进一步改进,这里采用的是循环遍历算法。
第 34 页 共 35 页
六、参考文献
(1)软件工程——理论与实践(田淑梅、廉龙颖、高辉)编著,清华 大学出版社。
(2)C#程序开发范例宝典(明日科技、张跃廷、王小科、张宏宇)编著,人民邮电出版社。
(3)Visual C#.NET程序设计实践与题解(姜桂洪、刘树淑、刘秋香、王云)编著,清华大学出版社。
(4)李勤丰.智能五子棋中的算法研究[J].南京:金陵科技学院。 (5)瞿锡泉,白振兴.包建平.棋类博弈算法的改进[J].现代电子技术。 (6)范旭,董民辉.使用Visual C#.NET开发Windows应用[M].北京:红旗出版社。
(7) 叶进星,郑捷文,林雪纲,基于.NET的异构系统短信解决方案[J]重庆大学学报。
(8)(美)Karli waston marco bellinaso 著.C#入门经典[M]北京:清华大学出版社。
(9) (美)David Weller著..NET游戏编程入门经典篇.C#篇[M].北京:清华大学出版社。
(10) 崔一.基于P2P五子棋游戏的意义及现状研究.黑龙江科技信息报。 (11) 孙海民.精通Windows Sockets网络开发.北京:人民邮电出版社。 (12) 采振祥,余少峰.实验室研究与探索[N].中国信息技术报。
第 35 页 共 35 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C#五子棋设计(7)在线全文阅读。
相关推荐: