【课程介绍】
本次课针对已经毕业的大学生或者初次踏入IT游戏行业的人,在面试或者游戏开发中经常会涉及到算法的实现,本次课主要是利用经常使用的数据结构,数组,链表,栈,队列,二叉树以及递归等重要知识点结合算法实现进行讲解,同时告诉大家遇到算法如何去思考问题,解决问题,授人以鱼不如授人以渔,通过本次的学习能达到融汇贯通,相信在你开发设计中能祝你一臂之力。
数据结构和算法在游戏程序中应用得很广,可以说无处不在。而且一般游戏对程序的效率要求很高,因此能否成为出色的游戏程序员很大程度取决于能否编写出高效的算法。以《魔兽世界》为例,在游戏中,猎人的宠物跟敌人一“碰”上,战斗便一触即发。在程序里是利用碰撞算法来判断是否有碰撞发生的。当然,像《魔兽世界》这类游戏不需要精确的碰撞检测,只要很简单的碰撞算法就能应付了,但像一些飞行模拟游戏就需要精确的碰撞检测了;现在换一个场景,你在如画的游戏世界里休闲地散步,很不幸,一只妖怪盯上了你,而且它足够聪明,它会选择一条最短的路径向你杀过去。为什么这只妖怪那么聪明?这就是A*(读A星)算法的魔力,A*算法是一种寻找最短的路径的寻路算法。这类例子在游戏中比比皆是,大家在玩游戏时可以多加留意。
目前为止,被设计出来而又应用广泛的算法有很多,如贪婪算法、遗传算法和一些常用的排序算法等等。下面,向大家介绍游戏中用得最多的算法——排序算法。