摘要: 1. 4个数字 24点判断double Calc(double a, double b, string oper){ double result = 0; const char *p = oper.c_str(); if (p != NULL) { switch (*p) { case '+'... 阅读全文
posted @ 2014-09-05 15:39 skiplow的苞米地 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 在写代码之前我们需要现来理解下TCP/IP的三次握手以及TCP/IP的包头信息,由此我们可以了解SYN洪水攻击的原理。1.TCP/IP三次握手及SYN攻击原理 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码) 第一次握手:主机A发送位码为syn 阅读全文
posted @ 2011-07-20 16:06 skiplow的苞米地 阅读(3626) 评论(0) 推荐(0) 编辑
摘要: 第九章 有限向量机是一个包括多种预定义状态的抽象机器。一个有限向量机可以设置状态变化的条件,而实际的状况则决定了状态机的行为。 关于有限状态向量机的起源要追溯到最早的PC游戏程序。比如在Pac Man游戏中的幽灵就是使用了有限状态机这一技术。他们可以自由的游走,追逐或者躲避玩家。在每一个状态下所具有的行为都不一样,而状态的转变则取决于玩家的具体的一些操作。比如当玩家吃了一个增加能量的药丸,鬼魂将从追逐玩家的状态转变成躲避玩家的状态。在接下来的章节我们还将讨论这个例子。9.1状态机的基本模型 图9-1叫你去创建一个简单的有限状态机模型Figure 9-1. Generic finite stat 阅读全文
posted @ 2011-04-16 16:54 skiplow的苞米地 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: 7.4搜寻死路 有可能会出现这种情况,两点之间不存在一条可走的路径,但是我们怎么判断已经是死路了呢?最简单的判定方法就是如果open表中没有节点了我们则说我们找的是一条死路。如图7-18显示了这样的一个场景。Figure 7-18. Dead end 如图7-18所示,A*算法已经发散出所有可能的节点,但是每一个节点都被检查过并放入了closed表中。无法在找到一个新的有效节点放入open表中,由此我们可知我们找的是一条死路,根本不存在一条有效路径连接起点和终点。7.5地形成本 正如前面的例子所示,对路径的得分计算在A*算法中扮演了主要的角色。在最基础的A*算法中,我们只把距离当做其代价。距离 阅读全文
posted @ 2011-04-12 21:57 skiplow的苞米地 阅读(904) 评论(0) 推荐(0) 编辑
摘要: 7.3计分 最终,我们将要根据路径的得分来判断一条路径是否是起点到终点间的最佳路径。为了给每个节点计分,我们引入了两个部分,第一我们将制定并计算从起始节点移动到其他任意节点的代价。接下来我们还要制定并计算从任意节点到终点的代价。第一部分应该是非常简单的,我们从起始位置不断的发散出去,我们只要把该点回溯到起点所要经过的步数来当做其代价就可以了。还记不记得,我们已经对各个节点保存了它的parent节点,所以回溯是非常方便的。这一步解决了,那么我怎么来计算到终点的代价呢?此时我们能做的就只要去猜测了,这个被称为heuristic(探试法)。为了做出最好的猜测,我们将给出我们所有的信息。图7-7给出给 阅读全文
posted @ 2011-04-12 21:44 skiplow的苞米地 阅读(617) 评论(0) 推荐(0) 编辑
摘要: A*路径寻找算法 在这一章中,我们将要讨论A*寻路算法的基本原理。寻路是游戏AI最基本得问题之一。糟糕的寻路会让游戏中的角色看起来非常的不真实而且愚蠢。游戏中的人物无法自然的通过一组障碍物将会非常影响游戏的效果。有效的处理寻路问题将会给玩家愉快和身临其境的感觉。 幸运的是,A*算法为寻路问题提供了很好的解决办法。A*算法是在游戏开发中最常见的寻路算法,因为A*算法能够保证从一个指定的初始点找到一个存在的路径通往指定终点。当然它的高效性也是它被广泛使用的原因。当你不是在处理非常特殊的脚步情节时请尽量使用A*寻路算法。比如,当起点和终点直接没有任何的障碍物并且可以构成一条非常清楚的连线时就无需再用 阅读全文
posted @ 2011-04-12 21:23 skiplow的苞米地 阅读(1205) 评论(0) 推荐(0) 编辑
摘要: 第一章 游戏人工智能的介绍 广义的来说,大部分游戏都包含了一些AI的运用。例如,开发者多年来都运用AI给游戏中无数的角色赋予生命力,从街机游戏Pac Man(吃豆先生)中的幽灵到第一人称设计游戏中的机器人,还有很多其他游戏。各种各样的游戏种类和游戏角色对什么是游戏AI给出了一个相当宽广的解释。而AI也在其他传统的科学领域得到广泛运用。 有的开发者认为路径搜索是游戏AI的一部分。Steven Woodcock在他的”2003 Game Developer's Conference AI Roundtable Moderator's Report。”报告中说到有些开发者认为碰撞检测 阅读全文
posted @ 2011-04-09 23:31 skiplow的苞米地 阅读(2334) 评论(1) 推荐(1) 编辑
摘要: TIOBE 4月份编程语言排行榜已经发布,本月最值得关注的语言是Lua,在过去的几月中,lua的排名一直在上升。而且在iPhone App Store排名前十的应用都使用Lua来定义应用逻辑,包括极为火热的《愤怒的小鸟》。此外,由于TIOBE指数本月使用了7种不同的搜索引擎,一些很有希望的语言排名下降很多,有些甚至跌出了TOP 20,最突出的例子是NXT的- G的(从19跌到54名)和Groovy(从25跌至65名)。以下是前20名编程语言排行:前10名编程语言走势图以下是前50名编程语言排名:必须声明,这个榜单本身采集的是英文世界的数据,虽然在反映趋势上有一些参考意义,但与中国的实际情况不完 阅读全文
posted @ 2011-04-04 15:46 skiplow的苞米地 阅读(817) 评论(0) 推荐(1) 编辑
摘要: 腾讯面试题: 给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下: 【0,1,2,3,4,5,6,7,8,9】在看到题的10分钟里我上了一次厕所,骂了无数次的娘,回顾了下利比亚暴乱,看了条日本地震新闻,思索了下世界和平的问题,还和隔桌的同窗谈论了下关于346何时人多人少的随机概率分布问题。可就是没写出算法来,更悲剧的是在接下来的4个10分钟里我还是没写出来。然后果断去看了下别人写的答案。 在看别人的答案之前,我想先来说说我的一些思路,虽然我怎么都没写通。1.接下来10个数的总和必为10,这个很好理解,所以我设想 阅读全文
posted @ 2011-03-16 19:24 skiplow的苞米地 阅读(582) 评论(1) 推荐(0) 编辑