您现在正在浏览:首页 > 论文 > 计算机 > 毕业设计-基于C#的多人在线社交游戏的网络程序设计

免费下载毕业设计-基于C#的多人在线社交游戏的网络程序设计

  • 资源类别:论文
  • 资源分类:计算机
  • 适用专业:程序设计
  • 适用年级:大学
  • 上传用户:xuehai
  • 文件格式:word+c#
  • 文件大小:1.39MB
  • 上传时间:2013-8-16 2:55:07
  • 下载次数:0
  • 浏览次数:0

安全检测:瑞星:安全 诺顿:安全 卡巴:安全

资料简介

毕业设计-基于C#的多人在线社交游戏的网络程序设计,共40页,10114字,附C#源代码
摘要:本文主要讲述了类似摩登城市的社交游戏的分析和设计,使用线程池与socket技术实现开发多人在线游戏网络程序的基本功能,包过实现社交游戏中新建建筑、摧毁建筑、收获建筑、升级建筑的功能。通过Winsock实现数据传输、通过Sqlhelper进行数据库连接、通过线程池实现对不同socket连接并发运行管理等。在C/S模式下,客户端发送必要的数据与控制信息给服务器,服务器再根据控制信息对数据进行处理。服务器端首先用一个线程监听socket连接,再将监听到的连接转移到线程池里,这就使得服务器端能同时接受多个用户连接,并行多个任务的计算处理,同时隔离错误,为所有的用户提供相对稳定的后台支持,同时节省了创建线程的时间,并且能够并发进行多个任务,这样就提高了服务器端对多个客户端请求响应速度,也实现了对数据库的高效利用。
关键字:线程池、多人在线游戏、社交游戏、网络游戏

目 录
1 选题背景 1
1.1选题背景 1
1.2 设计目标 3
1.2.1选题主要解决的问题 3
2 设计需求分析 4
3 设计平台选择 6
3.1 操作系统 6
3.2 软件运行环境 6
4 设计过程论述 7
4.1设计程序窗口 7
4.1.1客户端窗口的设计 7
4.1.2服务器端窗口的设计 7
4.2主要技术 8
4.2.1 线程池 8
4.2.2 socket 连接 8
4.2.3 协 议 9
4.3 程序结构 11
4.3.1 客户端设计 11
4.3.2 服务器端的功能设计 17
4.3.3 发送的数据格式设计 17
4.3.4 数据库设计 18
4.4系统流程分析 20
4.4.1 用例举例 21
4.4.2 客户端流程图 23
4.4.3 服务器端流程图 24
5 部分核心代码 25
5.1 客户端 25
5.1.1 使用socket收发信息 25
5.1.2 使用线程来运行任务 25
5.2服务器端 25
5.2.1 监听socket连接 25
5.2.2 接管Socket连接 26
5.2.3 数据库操作 26
6 Socket粘包的测试性研究 28
7 总结 31
8 展望 32
致谢语 33
参考文献 34

本设计是整个游戏流程中的一部分,也是游戏开发的核心工作,游戏编程,基本需要熟练C#、sql编程等技术。设计中使用radiobutton来模拟一个游戏基本场景而没有图形式的游戏场景。设计中需要完成的是模拟目前流行的休闲游戏摩登城市实现盖房子,拆房子,收获房子,升级房子,以及实现相应的时间牵制与财产变迁。
同时,为了解决多个客户端同时连线到服务器端,因此服务器端使用了多线程技术,使用一个线程进行监听是否有客户端连接,再将监听到的连接分配到线程池进行通信。
通信方式则是客户端将要改动的数据与改动命令通过socket发送到服务器端,再由服务器端根据命令对数据库作出修改。

设计需求分析
《摩登城市》这款游戏是基于网页,大量使用flash技术,下图展示的是从3366中的游戏《摩登城市》游戏场景的一部分截图,整个场景以平面的方式表达, 所有的建筑都是贴图,如图2-1所示。
玩家可以选择建筑在地图上的任意位置新建选择的建筑,不要的建筑也可以进行摧毁恢复成空地,一定时间后可以收获建筑得到金钱,建筑有不同等级,玩家可在原有建筑上进行升级,升级与新建一样需要扣除相应的金钱。
因此,地图功能初步设计为:新建、摧毁、收获、升级。
具体细化为:
新建:在某个空地新建某建筑时,将该地点名称改为该建筑名称,同时在用户财产中扣去该建筑所需的费用,并记录新建的时间。
收成:收成某个已有可收成建筑时,用户财产增加该建筑对应的收成数据,更新新建的时间为收成时间。
摧毁:将指定的建筑摧毁成空地。
升级:将指定的未满级的建筑进行一个等级的升级,用户财产扣去升级费用,新建时间更新为升级时间。
因为这类游戏以多人休闲互动为乐趣,所以不止能对自己地图的建筑进行操作,同样也需要能进入别人的地图进行部分操作,因为不是地图主人,所以不能进行新建、摧毁、升级等操作,只能对别人的建筑进行收获操作。
因此,互动功能初步设计为:能够进入别人的地图场景、收获别人的建筑。
具体为:
查看:进入别人的地图场景;
收获:用户财产增加指定的建筑带来的收益数据。
为了防止同个用户不同场地同时登陆的情况,在用户登陆的时候应该对此有所判断,阻止后登陆的该用户的客户端连接服务器端。
本设计将游戏地图简化为4×4的表格,用radiobutton 来代表每个格子(即地皮),形成一个游戏场景的基本架构。并用横纵坐标来区分每个地皮,例如xy为11表示第一行第一列的地皮。

 

资料文件预览
共28文件夹,72个文件,文件总大小:5.19MB,压缩后大小:1.39MB
  • 毕业设计-基于C#的多人在线社交游戏的网络程序设计
    • 毕业设计
      • WindowsFormsApplication1
        • Properties
          • csAssemblyInfo.cs  [1.35KB]
          • csResources.Designer.cs  [2.83KB]
          • resxResources.resx  [5.48KB]
          • csSettings.Designer.cs  [1.08KB]
          • settingsSettings.settings  [249.00B]
        • bin
          • Debug
            • applicationWindowsFormsApplication1.application  [1.92KB]
            • 可执行文件(程序)WindowsFormsApplication1.exe  [35.00KB]
            • manifestWindowsFormsApplication1.exe.manifest  [3.02KB]
            • 3Com PalmPilot数据库文件WindowsFormsApplication1.pdb  [71.50KB]
            • applicationWindowsFormsApplication1.vshost.application  [1.92KB]
            • 可执行文件(程序)WindowsFormsApplication1.vshost.exe  [11.33KB]
            • manifestWindowsFormsApplication1.vshost.exe.manifest  [3.02KB]
            • app.publish
              • Application Files
                • WindowsFormsApplication1_1_0_0_0
                  • deployWindowsFormsApplication1.exe.deploy  [9.00KB]
                  • manifestWindowsFormsApplication1.exe.manifest  [6.54KB]
              • applicationWindowsFormsApplication1.application  [5.52KB]
              • 可执行文件(程序)setup.exe  [418.88KB]
          • Release
        • obj
          • x86
            • Debug
              • TempPE
              • cacheDesignTimeResolveAssemblyReferences.cache  [4.34KB]
              • cacheDesignTimeResolveAssemblyReferencesInput.cache  [6.29KB]
              • tlogGenerateResource.read.1.tlog  [400.00B]
              • tlogGenerateResource.write.1.tlog  [966.00B]
              • cacheResolveAssemblyReference.cache  [7.71KB]
              • resourcesWindowsFormsApplication1.Form1.resources  [180.00B]
              • resourcesWindowsFormsApplication1.Properties.Resources.resources  [180.00B]
              • applicationWindowsFormsApplication1.application  [1.92KB]
              • 可执行文件(程序)WindowsFormsApplication1.exe  [35.00KB]
              • manifestWindowsFormsApplication1.exe.manifest  [3.02KB]
              • 3Com PalmPilot数据库文件WindowsFormsApplication1.pdb  [71.50KB]
              • 文本文档client1.csproj.FileListAbsolute.txt  [1.62KB]
            • Release
              • TempPE
              • cacheDesignTimeResolveAssemblyReferencesInput.cache  [6.30KB]
        • csForm1.Designer.cs  [35.93KB]
        • csForm1.cs  [18.78KB]
        • resxForm1.resx  [5.68KB]
        • csProgram.cs  [505.00B]
        • csSqlHelper.cs  [71.92KB]
        • csprojclient1.csproj  [5.79KB]
        • userclient1.csproj.user  [452.00B]
        • pfxclient1_TemporaryKey.pfx  [1.60KB]
      • new1
        • Properties
          • csAssemblyInfo.cs  [1.31KB]
          • csResources.Designer.cs  [2.79KB]
          • resxResources.resx  [5.48KB]
          • csSettings.Designer.cs  [1.06KB]
          • settingsSettings.settings  [249.00B]
        • Service References
        • bin
          • Debug
            • 动态链接库MySQLDriverCS.dll  [68.00KB]
            • 可执行文件(程序)new1.exe  [23.50KB]
            • 3Com PalmPilot数据库文件new1.pdb  [59.50KB]
            • 可执行文件(程序)new1.vshost.exe  [11.33KB]
            • manifestnew1.vshost.exe.manifest  [490.00B]
          • Release
            • 可执行文件(程序)new1.vshost.exe  [11.33KB]
            • manifestnew1.vshost.exe.manifest  [490.00B]
        • obj
          • x86
            • Debug
              • TempPE
              • cacheDesignTimeResolveAssemblyReferences.cache  [4.34KB]
              • cacheDesignTimeResolveAssemblyReferencesInput.cache  [6.27KB]
              • tlogGenerateResource.read.1.tlog  [320.00B]
              • tlogGenerateResource.write.1.tlog  [726.00B]
              • cacheResolveAssemblyReference.cache  [17.99KB]
              • resourcesnew1.Form1.resources  [180.00B]
              • resourcesnew1.Properties.Resources.resources  [180.00B]
              • 文本文档new1.csproj.FileListAbsolute.txt  [929.00B]
              • 可执行文件(程序)new1.exe  [23.50KB]
              • 3Com PalmPilot数据库文件new1.pdb  [59.50KB]
            • Release
              • TempPE
              • cacheDesignTimeResolveAssemblyReferencesInput.cache  [6.27KB]
        • csForm1.Designer.cs  [5.50KB]
        • csForm1.cs  [18.21KB]
        • resxForm1.resx  [5.68KB]
        • csProgram.cs  [565.00B]
        • csSqlHelper.cs  [71.85KB]
        • csprojnew1.csproj  [4.17KB]
      • Alcohol的文件格式biyesheji_Data.MDF  [1.38MB]
      • ldfbiyesheji_Log.LDF  [1.00MB]
      • slnnew1.sln  [1.28KB]
      • suonew1.suo  [52.00KB]
      • Microsoft Word文档毕业设计(论文).doc  [1.52MB]
      • 文本文档说明.txt  [74.00B]
下载地址
资料评论
注意事项
下载FAQ:
Q: 为什么我下载的文件打不开?
A: 本站所有资源如无特殊说明,解压密码都是www.xuehai.net,如果无法解压,请下载最新的WinRAR软件。
Q: 我的学海币不多了,如何获取学海币?
A: 上传优质资源可以获取学海币,详细见学海币规则
Q: 为什么我下载不了,但学海币却被扣了?
A: 由于下载人数众多,下载服务器做了并发的限制。请稍后再试,48小时内多次下载不会重复扣学海币。
下载本文件意味着您已经同意遵守以下协议
1. 文件的所有权益归上传用户所有。
2. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
3. 学海网仅提供交流平台,并不能对任何下载内容负责。
4. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
5. 本站不保证提供的下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
返回顶部