文档章节

XYGame-AI设计1-普通ifelse

梦想游戏人
 梦想游戏人
发布于 2017/05/04 16:24
字数 186
阅读 22
收藏 0

最普通的if else  简单的不能再简单了

  public override void AI_UpdateMSWithAI()
    {
        cd_atk--;

        //如果目标非法,那么寻找另外一个目标
        if (target == null || target.IsInValid())
        {
            this.AI_SearchNewTarget();
            return;
        }
        if (isHurt) return;

        // 有目标 ,先判断是否在攻击范围内
        float dis = target.ClaculateDistance(x, y);
        if (dis < 2)
        {
            //攻击范围内
            this.AI_AttackTarget();
        }
        else
        {
            //不在攻击范围内 移动向目标
            this.AI_MoveToTarget();
        }
    }
    public virtual void AI_SearchNewTarget()
    {
        ArrayList heros = EnemyMgr.ins.GetEnemys();// HeroMgr.ins.GetHeros();
        float minDis = 9999.0f;

        foreach (Entity h in heros)
        {//找出一个最近的玩家 作为锁定目标
            if (h == this) continue;
            float dis = h.ClaculateDistance(x, y);
            if (dis < minDis)
            {
                target = h;
                minDis = dis;
            }
        }
    }

    public virtual void AI_MoveToTarget()
    { 
        dir = (int)Utils.GetAngle(this.pos, target.pos);
    }
    public virtual void AI_AttackTarget()
    {
        if (target.isDie)
        {
            target = null;
            stand = true;
            return;
        }
        if (cd_atk <= 0)
        {
            cd_atk = 80;// 2S
            atk = true;
        }
        else
        {
            stand = true;
        }
    }

下一篇 重构为 FSM 

源代码:https://git.oschina.net/dreamyouxi/XYGame

© 著作权归作者所有

共有 人打赏支持
梦想游戏人
粉丝 36
博文 438
码字总数 124281
作品 0
成都
私信 提问
R语言模拟:Bias Variance Decomposition

作者:量化小白一枚,上财研究生在读,偏向数据分析与量化投资 个人公众号:量化小白上分记 接上一篇《R语言模拟:Bias-Variance trade-off》,本文通过模拟分析算法的泛化误差、偏差、方差和噪...

R语言中文社区
2018/12/04
0
0
教育部:AI、算法、开源硬件等进入全国高中新课标

1月16日上午,教育部新闻发布会上,介绍了《普通高中课程方案和语文等学科课程标准(2017年版)》的有关情况。在此次“新课标”改革中,正式将人工智能、物联网、大数据处理、算法、开源硬件...

周其
2018/01/22
7.6K
53
【Visual C++】游戏开发笔记十六 讲解一个完整的回合制游戏demo

本系列文章由zhmxy555编写,转载请注明出处。 文章链接 http://blog.csdn.net/zhmxy555/article/details/7447864 作者:毛星云 邮箱: happylifemxy@qq.com 这节笔记的主要内容是介绍一个完整...

长平狐
2012/11/12
220
0
安装lame-3.99.5,autoreconf时报错

我的环境是centos 6.5,编译报错‘configure.in:396: error: possibly undefined macro: AM_PATH_GTK’,完整信息见最后。 我已经安装了gtk了,安装方法见下 yum install libgnomeui-devel y...

Season_HZ
2017/04/14
63
0
一天一种设计模式之十-----职责链模式

一.职责链模式简介 职责链模式属于行为型模式。 使多个对象都有机会处理请求,从而避免了请求的发送者与接收者之间的耦合关系。将这些对象连城一条链,并沿着这条链传递该请求,直到有对象处...

tongqu
2016/03/17
112
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据处理也要安全--关于MaxCompute的安全科普

摘要: 企业从未像今天这样可以轻易地存储和使用大数据。然而,当您在使用大数据产品时,是否考虑过其中的安全问题呢?庆幸的是,阿里云产品专家和安全专家早就想你所想急你所急,先行一步将...

阿里云云栖社区
20分钟前
1
0
vue如何编写组件可以通过Vue.use()使用

一般平时用别人的组件时都是通过import引入然后Vue.use()来使用,那么如何让我们写的组件也可以用这种方式使用呢? 1.首先新建一个文件夹例如:Home,然后在该文件中新建两个文件Home.vue和i...

北辰丨丶
20分钟前
2
0
SpringBoot自动配置原理

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾前面Spring的文章(以学习的顺序排好): Spring入门这一篇就够了 Spring【依赖注...

Java3y
25分钟前
1
0
如何伪装成一个服务端开发(十) -- Spring MVC 源码

前言 在第七篇我们已经聊过了一些Spring MVC的运行原理,当然大多数人应该还是和我一样迷迷糊糊,只知道一个大概的运行过程,这一篇,我想要从源码的角度更加进一步去了解Spring MVC的整个运...

街角的小丑
29分钟前
1
0
应用前台耗电怎么破?功耗避雷指南已“佩奇”

使用应用时被用户吐槽手机掉电快、卡顿、过度发热,导致用户体验差,以上情况的产生,应用的功耗设计不足是直接症结。 当前,人们对性能体验的追求前所未有,应用设计功能越来越强大,界面也...

安卓绿色联盟
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部