MFC设计局域网对战五子棋游戏(一)设计

一直想做游戏,不过鉴于D3D和OPENGL有点复杂,所以就选择了比较简单的GDI+和GDI混合模式,这样就解决了GDI绘图质量不高和GDI+不支持双缓冲的问题。

开发环境采用Visual Studio 2010旗舰版,因为不需要做什么项目,因为我还是学生呵呵,所以不需要考虑太多的兼容性方面的因素,还是喜欢用新的工具。

开发过程中使用到的技术大概有:

DWM API:这是vista以来新增的API,具体内容见MSDN,游戏中只使用了部分窗口毛玻璃的效果;

GDI混合GDI+:因为GDI+不支持双缓冲,所以画图时先使用GDI创建缓冲位图,然后使用GDI+的Graphics画在这个位图上,最后由GDI绘制到屏幕;

CSocket:局域网对战肯定要用到socket通信,因为数据量很少,所以使用了封装好的比较简单的CSocket类,这样可以省不少代码;

多线程和互斥对象:因为CSokcet工作在阻塞模式,所以不能使用主线程接受和发送游戏数据,我把绘制图像的代码也放在一个独立线程中,所以需要使用互斥对象来确保主线程退出时所有子线程以释放主线程中的资源,否则会引起内存错误;

自绘控件:在游戏中使用默认的控件也太挫了吧,所以就要自己绘制控件,这样才像游戏,虽然市面上有很多,但是拿来的和自己写的用着感觉不一样;

 

先看看主对话框类:

</

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值