编程思想
六毛饭
这个作者很懒,什么都没留下…
展开
-
一句话重构
1Duplicated Code重复的代码Extract Method2Long Method过长的函数Extract Method, Replace Temp with Query3Large Class过大类,可能违反SRP,DIP,ISPExtract Class,Extract Interface4Long Parameter List过长的参数列表Introduce Parameter原创 2013-07-12 11:06:10 · 525 阅读 · 0 评论 -
A星
这篇blog是由iOS Tutorial Team的成员 Johann Fradj发表的,他目前是一位全职的资深iOS开发工程师。他是Hot Apps Factory的创始人,该公司开发了App Cooker。 学习A星寻路算法是如何工作的! 你是否在做一款游戏的时候想创造一些怪兽或者游戏主角,让它们移动到特定的位置,避开墙壁和障碍物呢? 如果是的话,请看这原创 2013-07-12 11:06:55 · 770 阅读 · 0 评论 -
寻路 Waypoint 与 NavMesh 比较
1. WayPoint寻路 下图是一个典型的路点寻路 另一种方法是使用多边形来记录路径信息,它可以提供更多的信息给ai角色使用。下图就是一个navigation mesh。 以下列出几个WayPoint的不足之处: 一些复杂的游戏地图需要的WayPoint数量过于庞大 有时会使角色走"Z"型路径 如下图A点和B点之间的路径原创 2013-07-12 11:07:06 · 1698 阅读 · 0 评论 -
防外挂
0即使加密放在服务器端,客户端也得有解密方法,只要破解了客户端照样能做外挂 – 至尊宝 2011-09-190放服务器端可以不定期改算法。不要有规律。不过显然这不是好办法 – 程序员1999 2011-09-190在易被外挂操控的任务的关键步骤,如接受任务、提交任务时添加类似验证码的机制,可用性如何。。 – 杨玉廷 2011-10-130如果是webGame,可以有这样一种方式,原则上不相信任何客原创 2013-07-12 11:06:43 · 914 阅读 · 0 评论 -
Navigation Mesh与Line-of-Sight Test
上图是一个由任意凸多边形构成的导航网格,白线包围区域代表着不可进入的障碍区域,红线包围区域则可以进入或穿越。网格中所有多边形的顶点存储次序均为顺时钟序。在下面的讨论中,我们的运算一概采用左手系进行。假设当前所处的位置为p0,视线方向矢量为n0,p0位于多边形A中,我们知道每一条边的两侧的多边形的编号,现在的问题是:如果求得该视线途经了哪些多边形?与这些多边形的哪些边相交于何处(即Way point原创 2013-07-12 11:07:04 · 780 阅读 · 0 评论 -
算法学习之排序学习之堆排序和如何建堆
堆是一种特殊的数据结构,是一种完全二叉树,分为大根堆(根节点的值大于孩子节点)和小根堆(根节点小于孩子节点),好了,不废话了,怎么建堆和堆排序直接贴代码如下(其中调整堆,建堆,堆排序的具体步骤均有注释,还是代码详细,这样看了一目了然。。呵呵。。):(这个是java实现的大根堆。。)package test; public class StackSort { public static voi原创 2013-07-12 11:06:22 · 503 阅读 · 0 评论 -
实用算法
Djisktra A*NAV导航网格寻路Navigation Mesh与Line-of-Sight Test http://www.cnblogs.com/neoragex2002/archive/2007/09/09/887556.htmlWaypoint 寻路四元数Delaunay三角剖分算法如何判断点p0是否处于凸多边形内见上图,这里我们采用叉乘法,虽说只适用于凸多边形,不过计算最简便,不涉原创 2013-07-12 11:07:02 · 726 阅读 · 0 评论 -
用叉乘的判断
折现拐向点在多边形内外两线段相交否射线线段相交否原创 2013-07-12 11:07:09 · 791 阅读 · 0 评论