1、目录目录 摘要 1 关键字 1 1 前言 1 1.1 程序开发背景 . 1 1.2 程序开发目标 1 1.3 编码设计标准与规范. 2 1.4 程序开发的实际意义. 2 1.5 对“单击对战”的解释 3 2 相关软件及技术介绍 3 2.1 开发平台与工具选择 3 2.1.1 .NET 简介 . 3 2.1.2 Microsoft Visual Studio 2008 简介 . 3 2.2 相关技术简介 3 2.2.1 使用 UDP 协议的套接字技术 3 2.2.2 使用 TCP 协议的套接字技术 3 2.2.3 Socket 方法和相关类介绍 4 2.2.4 多线程的使用. 4 2.2.5 事
2、件的使用 4 2.2.6 反射调用一个类的私有成员 4 3 可行性分析与需求分析 4 3.1 可行性分析 4 3.2 需求分析 . 5 3.2.1 功能需求 5 4 单击对战游戏设计 5 4.1 系统设计思想 5 4.2 系统总体设计 5 5 主要功能详细设计 6 5.1 在线用户列表的获得 6 5.1.1 设计思路 6 5.1.2 实现过程 6 5.2 进入对战窗体的友好用户体验 9 5.2.1 设计思路 9 5.2.2 关键代码 9 5.3 五子棋对战窗体功能 12 5.3.1 设计思路 12 5.3.2 关键代码 12 6 系统测试 . 15 6.1 测试分析报告 . 15 6.2.1
3、测试方式简介 . 15 6.2 改进意见改进意见 15 7 结束语 . 15 致谢 15 参考文献 15 1 单击对战游戏的设计与实现 摘要:系统是基于.NET 平台开发的一个 P2P 结构的单击对战五子棋游戏。基于 P2P、套接 字、事件、设计模式、多线程、反射等技术,使用 c#语言和 UDP 协议的套接字进行广播, 不但可以实现在局域网内获得所有在线用户 IP 列表、状态的功能,而且通过使用 TCP 协议 的套接字可以实现多个用户之间的连接、游戏、聊天、并闪动对方屏幕的功能。以计算机技 术和网络技术为核心的现代网络技术已在现实生活和生产中得以广泛的使用, 休闲类网络游 戏集趣味性、娱乐性、
4、互动性和益智性于一体,已经成为多数人群的休闲方式。 关键字:P2P;UDP 广播;TCP 协议;设计模式;事件 1 前言 1.1 程序开发背景 随着计算机信息技术的发展,网络游戏已成为我们生活中的重要组成部分, 但由于广域网游戏占用的资源较多、易受到病毒等缺点,所以局域网游戏被游戏 爱好者广泛使用。 无论是对于初步探索网络编程的编程爱好者还是有志于在物联 网方面发展的程序员,编写简单的局域网游戏都是一个很好开始。 网络游戏在市面上已经出现多年,许多游戏对战平台也已相继出现,例如我 们熟知的浩方、QQ 对战平台和街机游戏的 ArcadeLive 平台等等,虽说它们有很 大的不同,但有一点是可以肯定的:不管是这些游戏还是对战平台,刚开始都是 需要在局域网内调试的。然而,出于盈利的目的,开发商一般不会将对战平台的 局域网内的版本流于市面,更不会公开自己的原代码。当然通过一些人士的分析 和透露,我们知道浩方是通过把 tcp/ip 协议转换为 ipx协议。虚拟局域网,为大 家提供了一个作战平台,但游戏开始后,玩家之间就是 p2p 的关系了,游戏速度 和平台无关。但具体的实现肯定是很困难的,里面至