原文: 淮安掼蛋网页版-源码头文件总结
客户端程序很多时候都可以做出网页版的(WEB版),以下是项目之我是掼蛋王头文件-总结。
A,写好每个类的头文件后,要进行分类,比如:网页版掼蛋,写上SourceInclude.h和BasicInclude.h等头文件
定义3个vector,来存入我们已经发了的牌的坐标。
vector<card_coor> player_a;
vector<card_coor> player_b;
vector<card_coor> player_c;
具体的代码实现:
void CGame::calculateTwoPoint(float x1,float y1,float x2,float y2)//计算两点间的线段
{
m_k=(y1-y2)/(x1-x2);
m_b=y1-x1*m_k;
}
根据2点的坐标,来计算出K和b的值。
绘制使将X坐标用Y坐标来表示,这样的好处是,当我们更新Y坐标时X坐标也随之更新,从而达到我们想要实现的效果。
m_dcBuffer.TransparentBlt((m_coor_y-m_b)/m_k,m_coor_y,80,105,&m_dcImage,80*2,4*105,80,105,RGB(255,0,255));
最后我们只需要设置一个定时器,每隔一段时间来更新Y值就可以了。
当在更新的时候P点到达A,B,C任何一个点时,将牌的坐标存入相应的vector中,绘制的时候根据VECTOR的值来绘制3方的牌就可以了。
从而可以把所有用到的头文件只需要包含这两个就OK了,所以将会非常简单.
B,尽量少出现字面值常量,而要将这些常亮枚举到一个头文件BaseType.h中,比如一些牌型,
牌值,要播放的音乐路径,动画路径等等都专门写到一个文件中.当然了这个枚举的头文件最后也要写到SourceInclude中,从而,一个头文件搞定一切.
因此我想我以后不会再给tag直接写上一个常量,比如:99, 100, 250等值.而会把这些值全部都弄到一个枚举的文件中.
总结:一切文件的包含都只用SourceInclude和BasicInclude两个头文件即可。