游戏编程
wrq147
通用深度学习模型的优化方法就是将大目标转小目标,大目标与小目标做对抗
展开
-
2D两点最短距离
Distance(int x1-x2,int y1-y2){int x,y,min;x=abs(x1-x2);y=abs(y1-y2);min=xreturn (x+y-(min>>1)-(min>>2)+(min>>4));}原创 2009-06-29 10:23:00 · 636 阅读 · 0 评论 -
两个小球碰撞速度计算方法
一 . 碰撞的特点和简化处理 : ①碰撞时间短,相互作用强,可不考虑外界的影响; ②碰撞前后状态变化突然且明显,可以认为:速度发生变化,但位置不发生变化。 二 . 对心碰撞 : 1. 对心碰撞 :碰撞前后的速度都沿两球的连心线,也叫 一维碰撞 。2. 碰撞过程 : ① 压缩过程 :从两小球开始接触到两小球达到共同速度。( b )和( c )图,特点: ② 恢转载 2014-01-23 17:43:45 · 26260 阅读 · 2 评论 -
这里是游戏《万有引力苹果》BUG提交处
有什么BUG或建议可有评论说明,谢谢!原创 2013-02-13 17:54:25 · 813 阅读 · 0 评论 -
游戏里随机概率选择算法
有时候当我们的游戏人物遇敌时,我们需我怪物随机根据概率选择处理方式,如下:1、50%的机会友好的问候 2、25%的几率走开 3、20%的机会立即攻击 4、5%的机会提供金钱作为礼物 下面的这个算法就是跟据概率数组,返回选择的概率索引号。 int Choose(float[] 概率数组){ float total=0; //首先计算出概率的总值,转载 2012-08-30 11:31:45 · 7585 阅读 · 0 评论 -
Irrlicht引擎手册示例(三):CustomSceneNode!
教程 3.CustomSceneNode 本教程的难度将会提高,所以如果你还没有相关的知识的话,请先阅读前面的教程。本教程将演示如何创建一个自定义的场景节点,以及如何在引擎中使用它。如果你想实现Irrlicht引擎目前不支持的渲染技术的话,自定义场景节点是必要的。例如,你可以自己写一个基于室内的的渲染器或一个先进的地形场景节点。创建自定义场景节点,你可以很容易翻译 2012-01-14 11:58:09 · 4280 阅读 · 3 评论 -
Irrlicht引擎手册示例(一):Hello,World!
本例讲述如何为Irrlicht引擎设置您的IDE、如何用它写一个简单的HelloWorld程序。程序代码将展示如何使用引擎里的最基本的东西:VideoDriver(视频驱动),GUIEnviroment(GUI环境)和SceneManager(场景管理器)。示例程序运行结果如下: 配置IDE 要使用引擎,得包含头文件(见引擎SDK中的include目录)。为了让编译器找到我们转载 2012-01-12 09:58:06 · 2850 阅读 · 0 评论 -
Irrlicht引擎手册示例(二):Quake3Map!
本教程演示了如何把一个引擎加载雷神之锤3地图进引擎,创建一个用来优化渲染速度的SceneNode和如何创建一个用户控制的摄像机。请注意,在开始本教程之前你应该先了解该引擎的基础知识,如果你还没有了解的话,请先查看第一个教程,1.HelloWorld。这个例子的结果会是这样的: 让我们开始吧 首先让我们像helloworld的例翻译 2012-01-12 15:04:12 · 3926 阅读 · 3 评论 -
圆运动和椭圆运动公式
<br />圆运动公式:<br />x = centerX +sin(angle) * R;<br />y = centerY + cos(angle) * R;<br />椭圆运动公式:<br />x = centerX + sin(angle) * RX;<br />y = centerY + cos(angle) * RY;原创 2010-07-04 23:53:00 · 5370 阅读 · 0 评论 -
关于vector
我们在编程的时候经常要使用到一种数据结构,它的特点是(1) 可以像数组一样使用索引来进行存取;(2) 但是它不像数组一样受大小的限制;这种数据结构就是vector(容器),具体它的实现,实际上它是一种可变大小的数组。我们看下它的流程图:一种简单的实现方法就是当容器的大小超过数组的容量时就删除这个数组,重新建一个更大的数组。复杂的方法(个人想的原创 2009-12-13 18:53:00 · 604 阅读 · 0 评论 -
3D平面的通用公式
n(a,b,c)为法向量;p0(x0,y0,z0)为平面上的一点;p(x,y,z)为平面上的任意一点;则:n*(p0->p)=0;(a,b,c)*(x-x0,y-y0,z-z0)=0;a(x-x0)+b(y-y0)+c(z-z0)=0;ax+by+cz+(-ax0-by0-cz0)=0;设d=-ax0-by0-cz0;ax+by+cz+d=0;原创 2009-06-29 10:25:00 · 1726 阅读 · 0 评论 -
3D两点最短距离
SWAP(a,b,t) {t=a;a=b;b=t;} Distance(int x1-x2,int y1-y2,int z1-z2){ int x,y,z;x=abs(x1-x2)*1024;//转换成整数y=abs(y1-y2)*1024;//转换成整数z=abs(z1-z2)*1024;//转换成整数if(yif(zif(yreturn ((z+11*(y>>5)+(x>>2))>>10);}原创 2009-06-29 10:24:00 · 740 阅读 · 0 评论 -
3DMax导出插件的制作
3Dmax导出插件制作(译文)前言:本教材将建立一个3dMax导出插件。目的是帮助使你掌握建立MAX插件的基础知识和学习怎样从3ds max中导出场景数据。本教材一共五个部分,每一部分都带有相应源码,相应的目录如下:第一节:开始第二节:几何体第三节:灯光和纹理第四节:动画和修正第五节:定制数据 注:MaxSDK 类 ,用Iderivedobject 格式转载 2009-06-29 10:24:00 · 3754 阅读 · 0 评论 -
BSP(二元空间化分)树
1、BST树节点结构:BSTNODE{BSTNODE* link;//多边形链表 BSTNODE* front;BSTNODE* back;VECTOR3D 多边形; }2、创建BST树:void BST_Create(BSTNODE_PTR root){if(root==NULL)return ; while(root->link!=NULL)原创 2009-06-29 10:27:00 · 709 阅读 · 0 评论 -
A*算法
A*算法:A*(A-Star)算法是一种静态路网中求解最短路最有效的方法。 公式表示为: f(n)=g(n)+h(n), 其中f(n) 是节点n从初始点到目标点的估价函数, g(n) 是在状态空间中从初始节点到n节点的实际代价, h(n)是从n到目标节点最佳路径的估计代价。 保证找到最短路径(最优解的)条件,关键在于估价函数h(n)的选取: 估价值h(n)如果 估价原创 2009-06-29 10:26:00 · 1060 阅读 · 0 评论 -
Hermite曲线公式
该曲线的具体求法也是通过四个控制点,不过通过前面两个控制点确定了起点切线,通过后面两个控制点确定了终点切线,最终通过起点、起点切线、终点切线、终点四个量来确定一条三次Hermite曲线。转化到三次Hermite曲线的转化过程如下:t的值是介于0与1之间转载 2013-05-28 23:22:51 · 4390 阅读 · 0 评论