Jiwu Bu

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  32 随笔 :: 0 文章 :: 25 评论 :: 0 Trackbacks

C++

     摘要: 上篇五子棋<一>
http://www.cppblog.com/bujiwu/archive/2009/08/23/94199.html

主要实现了五子棋的界面与下棋业务流程。
这二天实现了以下计划中的第一点,完成了网络对战功能,并实现了网络悔棋。
1、网络对战功能(包括GameClient与GameServer类,可以了解Socket编程)。
2、人机对战功能(目前还没有好的思路)。

由于五子棋服务端与客户端通讯比较简单,所以只用最简单的网络通讯模式(没有使用IOCP)。定义网络通讯抽象基类CBaseSocket。
1 typedef void (* RECVFUNC)(char *pMsg, int len);
2
3 class CBaseSocket
4 {
5 public:
6 CBaseSocket();
7 virtual ~CBaseSocket();
8
9 virtual bool  阅读全文
posted @ 2009-08-27 21:32 bujiwu 阅读(1762) | 评论 (0)  编辑

     摘要: 学习C++有比较长一段时间了。闲着没事写了一个五子棋的稚形。目前基本已经完成本机双人对战功能,包括悔棋,标记当前下棋位置等。以后准备进一步完善以下功能:
1、网络对战功能(包括GameClient与GameServer类,可以了解Socket编程)。
2、人机对战功能(目前还没有好的思路)。

棋盘等界面基本都是一笔笔画出来的,有的是加载图片。没有什么技术含量,主要是比较繁琐,权当对以前学习的Windows消息,画图等的复习。
主要用到了以下几个类:  阅读全文
posted @ 2009-08-23 21:41 bujiwu 阅读(2381) | 评论 (2)  编辑

posted @ 2009-01-18 14:01 bujiwu 阅读(430) | 评论 (0)  编辑

     摘要: Windows下Socket编程主要包括以下几部分:
服务端
1、初始化Windows Socket库。
2、创建Socket。
3、绑定Socket。
4、监听。
5、Accept。
6、接收、发送数据。

客户端
1、初始化Windows Socket库。
2、创建Socket。
3、连接Socket。
4、接收、发送数据。

服务端每接收到一个客户端的Socket,则创建一个线程。满足一个服务端连接多个客户端。  阅读全文
posted @ 2009-01-11 11:27 bujiwu 阅读(50257) | 评论 (9)  编辑

     摘要: 当源代码中引入了其它静态库(.lib),在没有静态Lib源码的前提下。需要修改某个函数的功能。下面一种通过更改函数跳转表的方式为函数打补丁,而不是修改Call指令。这样避免平衡函数栈。  阅读全文
posted @ 2009-01-09 21:01 bujiwu 阅读(1185) | 评论 (3)  编辑

     摘要: N的阶乘,通过数组的方式计算N的阶乘,防止由于计算结果太大导致溢出。非递归方式。  阅读全文
posted @ 2009-01-09 20:33 bujiwu 阅读(1792) | 评论 (0)  编辑