- 博客(0)
- 资源 (7)
- 收藏
- 关注
ACM经典代码库
包含几乎所有算法
ACM常用代码.数学问题:
1.精度计算——大数阶乘
2.精度计算——乘法(大数乘小数) 3.精度计算——乘法(大数乘大数)
4.精度计算——加法
5.精度计算——减法
6.任意进制转换
7.最大公约数、最小公倍数
8.组合序列
9.快速傅立叶变换(FFT)
10.Ronberg算法计算积分
11.行列式计算
12.求排列组合数
字符串处理:
1.字符串替换
2.字符串查找
3.字符串截取
计算几何:
1.叉乘法求任意多边形面积
2.求三角形面积
3.两矢量间角度
4.两点距离(2D、3D)
5.射向法判断点是否在多边形内部
6.判断点是否在线段上
7.判断两线段是否相交
8.判断线段与直线是否相交
9.点到线段最短距离
10.求两直线的交点
11.判断一个封闭图形是凹集还是凸集
12.Graham扫描法寻找凸包
数论:
1.x的二进制长度
2.返回x的二进制表示中从低到高的第i位
3.模取幂运算
4.求解模线性方程
5.求解模线性方程组(中国余数定理)
6.筛法素数产生器
7.判断一个数是否素数
图论:
1.Prim算法求最小生成树
2.Dijkstra算法求单源最短路径
3.Bellman-ford算法求单源最短路径
4.Floyd算法求每对节点间最短路径
排序/查找:
1.快速排序
2.希尔排序
3.选择法排序
4.二分查找
数据结构:
1.顺序队列
2.顺序栈
3.链表
4.链栈
5.二叉树
2013-10-22
DIRECTX9 开发的扑克牌游戏
非常好的扑克牌游戏的源码,可以编译运行
例如其中的卡通类
void Sprite::Draw(SpriteInfo & aSpriteInfo)
{
D3DXMatrixIdentity(&spriteMat);
D3DXMatrixIdentity(&spriteScale);
D3DXMatrixIdentity(&spriteRotate);
D3DXMatrixIdentity(&spriteTranslate);
//Begin drawing the sprite
sprite->Begin(D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_DEPTH_FRONTTOBACK);
D3DXMatrixTranslation(&spriteTranslate, (float)aSpriteInfo.posOfCenter.X, (float)aSpriteInfo.posOfCenter.Y, 0.0f);
//D3DXMatrixRotationZ(&spriteRotate, D3DXToRadian(aSpriteInfo.mOrientation));
D3DXMatrixScaling(&spriteScale, aSpriteInfo.scale, aSpriteInfo.scaleButton, aSpriteInfo.scale);
spriteMat = spriteRotate * spriteScale * spriteTranslate;//this i feel works the best but still not perfect
//spriteMat = spriteScale * spriteRotate * spriteTranslate;
//spriteMat = spriteRotate * spriteTranslate * spriteScale;
//spriteMat = spriteTranslate * spriteRotate * spriteScale;
//Set the transform
sprite->SetTransform(&spriteMat);
//Draw the sprite object with the texture
sprite->Draw(aSpriteInfo.texture,
0, &D3DXVECTOR3( (float)aSpriteInfo.center.X, (float)aSpriteInfo.center.Y, 0.0f),
0, D3DCOLOR_ARGB(255, 255, 255, 255));
//End drawing the sprite
sprite->End();
}
2013-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人