毕业作品网站

 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>毕设资料 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   

基于java的四国军棋设计中期报告

文章来源:www.biyezuopin.vip   发布者:毕业作品网站  
1、 项目进展情况:
(包括任务书计划、已完成的计划、已解决的困难、解决不了困难、指导教师的态度)
任务书计划:
 
(1)入口程序及全局变量:程序的入口函数WinMain,还有定义一些结构体和全局变量,主要功能是程序循环和结束条件的判断及保存一些全局使用的变量。
(2)创建窗口类:对windows创建窗口的API进行简单的封装,实现程序基本窗口的创建。  
(3)网络通信类:对Socket发送UDP广播消息]6[、接收UDP广播消息、发送TCP消息]7[、接收TCP消息进行简单的封装;实现局域网中的数据交换。  
(4)大厅窗口消息处理类:主要是大厅界面的实现,还有根据用户在大厅的不同操作启动相应的线程。  
(5)游戏窗口消息处理类:主要是游戏界面的实现,还有根据用户的不同操作做出不同的响应。  
(6)线程处理类:线程处理函数都集中在这里,可以根据不同功能,在启动线程时,调用不同的线程处理函数。  
(7)游戏逻辑处理类:包含了棋子的定位,棋子能否启动的判断,棋子命中,选中与取消棋子的判断等相关功能的处理。  
(8)服务端网络消息处理类:处理从客户端接收到的消息,主要功能是判断吃子逻辑,并根据不同的结果返回不同的消息。  
(9)客户端网络消息处理类:处理从服务端接收到的消息,主要功能是根据吃子结果,对棋盘进行相应的处理。
已解决的困难:
1)关于消息收不到这个问题,我猜测可能是因为两次消息发送的间隔太短,所以才会出现没有发送出去的情况。解决方法是在每次发送消息前Sleep一下。果然,这样子问题就解决了。
2)线程一直阻塞,可以确定是因为recvsend两个函数都是阻塞函数,导致了线程被阻塞。这里用的解决方法是使用select模型。Select模型可以判断Socket是否可读写,如果可读写的话,再用recvsend去读写消息,这样从理论上来讲,recvsend因有数据可读写,是不会阻塞住的,这样问题就解决了。
3)服务器关闭后,客户机还是保存着这个不存在的服务器,这个问题刚开始想了很久,不知道怎么解决,最后发现原来是那么简单,只要在服务器关闭的时候发送一条广播消息,告诉所有客户机,此服务器已关闭,客户机再将其从map中删除就可以。
解决不了的困难:
(1)局域网中有多个服务器时,如何查找并区分出来。
(2)客户端程序负责处理游戏的显示和操作界面,客户端具有简单的逻辑处理功能,同时负责接收发送与服务器端交互的数据包。
(3)服务器程序负责处理服务器端逻辑、游戏逻辑以及客户端之间的网络信息传递,同时服务器端还要承担客户端数据的接收、转发工作。
指导教师态度:
非常好。
  全套毕业设计论文现成成品资料请咨询微信号:biyezuopinvvp QQ:1015083682     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
手部康复指板屈伸按摩装置的机构设 智能电表控制电路设计 论文指导记 家用光伏发电系统逆变电源设计 开
家用光伏发电系统逆变电源设计 任 家用光伏发电系统逆变电源设计 选 钢筋调直机机械结构设计 开题报告
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopinvvp QQ:1015083682  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!