- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 局域网内双升游戏的设计
本科毕业前,就有意向开始写一个双升的游戏,那时候用QT写了个界面,不过由于架构太混乱,导致后面不想去维护。研究生第二年下学期,实验室活不多,就乘机写了一个 新的牌的框架,正好实践了很多设计模式上刚学到的东西。断断续续一个月时间,写了一个斗地主。后来去MS实习加找工作,之间4个月时间没进展。直到返校后,才开始将斗地主改为双升,也是断断续续花了一个月才完成。 博客中写的只是整个设计过
2014-03-11 16:34:59 1285
原创 局域网内双升游戏的设计(三)--算法
算法发牌算法 当每个玩家都准备完毕后,那么第一步就是要发牌。需要做到一个完全随机的发牌,就要保证每张牌发到每个玩家手里的概率都是一样的,而且牌的顺序是等概率随机打乱的。程序中采用的是如下的发牌算法(感谢Dr.Light提供): 假如有两幅牌,编号从1到108,首先随机选出一个,并且将牌发给玩家,然后将这个编号的牌与108号牌交换编号,那么剩下的牌就是从1到1
2014-03-11 16:23:26 1663
原创 局域网内双升游戏的设计(二)--系统框架
服务器客户端关系 一般来说,服务器与客户端在交流过程中,都会有自身的状态,也有很多逻辑的判断。这些可以放在服务器,也可以放在客户端。如果把功能分别放在两端的话,会造成逻辑比较混乱且不同步的现象。比如,在抢亮的过程中,可能有先后顺序,某个客户端亮主后,如果先在客户端上显示,但是消息到达服务器后,发现已经有人先亮了,就需要重新显示。这样一来,会造成逻辑的复杂化。在本程序中,采用的是服
2014-03-11 16:12:16 1272
原创 局域网内双升游戏的设计(一)--界面
概述 本软件使用VS2010为框架,采用MFC框架,以及DirectDraw作为画图的工具。网络库与消息调度使用live555底层的模块实现。关于DirectDraw和live555的细节,可以自行上网查阅资料。界面界面元素图 1. 界面 如上图所示,是整个游戏客户端的界面。其中的每一个元素都是一个对象,使用
2014-03-11 16:00:08 1250
原创 TCP粘包现象
我在暑假做课设的时候要做一个文件传输的功能,于是我有如下设计: 发送端A:char szbuf[MAX_LEN]; while (1){/* 将前1个字节作为消息的标志位(标志该包是否是文件的结尾) *//* 将文件读入(szbuf+1) */send(....);} 接收端B:char szbuf[MAX_LEN]; w
2010-03-20 10:56:00 850 1
原创 小议内存
先看一个程序:#include char *f1(){char a[]="Hello,world!";return a;}char *f2(){char *a="Hello,world!";return a;}void main(){char *s1;char *s2;s1=f1();s2=f2();puts(
2010-03-20 10:48:00 541
局域网内双升游戏源码+可执行程序
2014-03-11
代码统计工具 linecount
2010-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人