当前位置: 首页 > wzjs >正文

专业网页制作与网站设计把自己做的网站上传到服务器

专业网页制作与网站设计,把自己做的网站上传到服务器,中铁建设企业门户,给周杰伦做网站进阶教程之生物AI 生物AIGoalSelector类一、核心架构二、核心方法解析三、标志冲突管理机制四、性能优化特性五、典型应用场景FleeSunGoal一、代码作用解析1. **触发条件**(`canUse()` 方法)2. **遮蔽位置搜索**(`getHidePos()` 方法)3. **行为执行**二、与 `GoalSelector`…

进阶教程之生物AI

  • 生物AI
    • GoalSelector类
      • 一、核心架构
      • 二、核心方法解析
      • 三、标志冲突管理机制
      • 四、性能优化特性
      • 五、典型应用场景
    • FleeSunGoal
      • 一、代码作用解析
        • 1. **触发条件**(`canUse()` 方法)
        • 2. **遮蔽位置搜索**(`getHidePos()` 方法)
        • 3. **行为执行**
      • 二、与 `GoalSelector` 的联系
        • 1. **注册到生物 AI 系统**
        • 2. **标志冲突管理**
        • 3. **调度流程**
      • 三、实际应用场景
      • 四、总结
    • FollowParentGoal类介绍
      • 代码原理剖析
        • 1. 继承体系
        • 2. 距离优化策略
        • 3. 实体搜索机制
        • 4. 导航系统集成
        • 5. 生命周期管理
      • 语法特点分析
        • 1. 类型强制转换
        • 2. 原始类型使用
        • 3. 数值比较方式
        • 4. 位运算优化
        • 5. 方法命名规范
      • 设计模式应用
        • 1. 模板方法模式
        • 2. 观察者模式
        • 3. 策略模式
      • 性能优化点
      • 典型应用场景
  • Minecraft的导航系统
    • `PathNavigation` 类详解
        • 一、核心职责
        • 二、核心成员变量解析
        • 三、关键方法解析
          • 1. 路径创建与更新
          • 2. 每刻更新逻辑(`tick()`)
          • 3. 路径跟随(`followThePath()`)
          • 4. 卡顿检测(`doStuckDetection()`)
        • 四、关键算法与设计模式
          • 1. 路径搜索算法
          • 2. 状态模式应用
          • 3. 性能优化策略
        • 五、子类化与扩展
          • 1. 抽象方法说明
          • 2. 典型子类
        • 六、与Minecraft其他系统的交互
      • 总结
    • PathFinder
      • 一、代码作用与原理
        • 1. **核心功能**
        • 2. **关键算法逻辑**
      • 二、与 `PathNavigation` 的区别与联系
        • 1. **分工关系**
        • 2. **协作流程**
      • 三、代码实现特点
        • 1. **数据结构优化**
        • 2. **多目标处理**
        • 3. **地形适应性**
      • 四、性能关键设计
      • 五、与同类系统的对比
      • 六、应用场景
    • GroundPathNavigation类
      • **代码作用**
      • **代码逐段解析**
        • **1. 初始化与依赖**
        • **2. 路径查找器初始化**
        • **3. 路径更新条件**
        • **4. 处理目标位置**
        • **5. 水中路径修正**
        • **6. 避开阳光的逻辑**
        • **7. 路径类型验证**
        • **8. 可配置方法**
      • **设计优势分析**
      • **潜在改进点**
      • **总结**
  • Mob类
      • `Mob` 类详解
        • 一、核心功能与原理
          • 1. **AI 系统控制**
          • 2. **路径导航集成**
          • 3. **装备与交互**
          • 4. **环境适应**
        • 二、与 `PathNavigation` 和 `PathFinder` 的协作
          • 1. **层级调用关系**
          • 2. **关键交互点**
          • 3. **区别对比**
        • 三、核心代码解析
          • 1. **导航初始化**
          • 2. **AI 与导航协同**
          • 3. **路径惩罚应用**
        • 四、典型应用场景
          • 1. **僵尸追击玩家**
          • 2. **村民工作路径**
          • 3. **跨地形移动**
        • 五、性能与优化策略
      • 总结
  • MoveControl类
      • **代码作用**
      • **核心原理**
      • **代码架构优势**
      • **关键方法解析**
      • **使用场景示例**
      • **总结**
  • NearestAttackableTargetGoal类
      • **代码作用**
      • **代码原理**
      • **代码架构分析**
      • **类在 Minecraft 中的作用**
      • **代码示例与场景**
        • **自定义过滤条件**
        • **生物类型扩展**
      • **架构优势**
      • **潜在改进点**
      • **总结**
  • 作业:

生物AI

生物AI分两部分,一部分是目标选择AI,一部分是行为AI,对应targetSelector和goalSelector。分享点赞过100免费公布我自己的实体代码

GoalSelector类

package net.minecraft.world.entity.ai.goal;import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Sets;
import com.mojang.logging.LogUtils;
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.stream.Stream;
import net.minecraft.util.profiling.ProfilerFiller;
import org.slf4j.Logger;public class GoalSelector {private static final Logger LOGGER = LogUtils.getLogger();private static final WrappedGoal NO_GOAL = new WrappedGoal(Integer.MAX_VALUE, new Goal() {@Overridepublic boolean canUse() {return false;}}) {@Overridepublic boolean isRunning() {return false;}};private final Map<Goal.Flag, WrappedGoal> lockedFlags = new EnumMap(Goal.Flag.class);private final Set<WrappedGoal> availableGoals = Sets.newLinkedHashSet();private final Supplier<ProfilerFiller> profiler;private final EnumSet<Goal.Flag> disabledFlags = EnumSet.noneOf(Goal.Flag.class);private int tickCount;private int newGoalRate = 3;public GoalSelector(Supplier<ProfilerFiller> supplier) {this.profiler = supplier;}public void addGoal(int i, Goal goal) {this.availableGoals.add(new WrappedGoal(i, goal));}@VisibleForTestingpublic void removeAllGoals(Predicate<Goal> predicate) {this.availableGoals.removeIf((wrappedgoal) -> {return predicate.test(wrappedgoal.getGoal());});}public void removeGoal(Goal goal) {this.availableGoals.stream().filter((wrappedgoal) -> {return wrappedgoal.getGoal() == goal;}).filter(WrappedGoal::isRunning).forEach(WrappedGoal::stop);this.availableGoals.removeIf((wrappedgoal) -> {return wrappedgoal.getGoal() == goal;});}private static boolean goalContainsAnyFlags(WrappedGoal wrappedgoal, EnumSet<Goal.Flag> enumset) {Iterator iterator = wrappedgoal.getFlags().iterator();Goal.Flag goal_flag;do {if (!iterator.hasNext()) {return false;}goal_flag = (Goal.Flag) iterator.next();} while (!enumset.contains(goal_flag));return true;}private static boolean goalCanBeReplacedForAllFlags(WrappedGoal wrappedgoal, Map<Goal.Flag, WrappedGoal> map) {Iterator iterator = wrappedgoal.getFlags().iterator();Goal.Flag goal_flag;do {if (!iterator.hasNext()) {return true;}goal_flag = (Goal.Flag) iterator.next();} while (((WrappedGoal) map.getOrDefault(goal_flag, GoalSelector.NO_GOAL)).canBeReplacedBy(wrappedgoal));return false;}public void tick() {ProfilerFiller profilerfiller = (ProfilerFiller) this.profiler.get();profilerfiller.push("goalCleanup");Iterator iterator = this.availableGoals.iterator();WrappedGoal wrappedgoal;while (iterator.hasNext()) {wrappedgoal = (WrappedGoal) iterator.next();if (wrappedgoal.isRunning() && (goalContainsAnyFlags(wrappedgoal, this.disabledFlags) || !wrappedgoal.canContinueToUse())) {wrappedgoal.stop();}}iterator = this.lockedFlags.entrySet().iterator();while (iterator.hasNext()) {Entry entry = (Entry) iterator.next();if (!((WrappedGoal) entry.getValue()).isRunning()) {iterator.remove();}}profilerfiller.pop();profilerfiller.push("goalUpdate");iterator = this.availableGoals.iterator();while (iterator.hasNext()) {wrappedgoal = (WrappedGoal) iterator.next();if (!wrappedgoal.isRunning() && !goalContainsAnyFlags(wrappedgoal, this.disabledFlags) && goalCanBeReplacedForAllFlags(wrappedgoal, this.lockedFlags) && wrappedgoal.canUse()) {Iterator iterator1 = wrappedgoal.getFlags().iterator();while (iterator1.hasNext()) {Goal.Flag goal_flag = (Goal.Flag) iterator1.next();WrappedGoal wrappedgoal1 = (WrappedGoal) this.lockedFlags.getOrDefault(goal_flag, GoalSelector.NO_GOAL);wrappedgoal1.stop();this.lockedFlags.put(goal_flag, wrappedgoal);}wrappedgoal.start();}}profilerfiller.pop();this.tickRunningGoals(true);}public void tickRunningGoals(boolean flag) {ProfilerFiller profilerfiller = (ProfilerFiller) this.profiler.get();profilerfiller.push("goalTick");Iterator iterator = this.availableGoals.ite

文章转载自:

http://UHOjPaTr.gqjqf.cn
http://grUgwW1e.gqjqf.cn
http://KiMdqrVV.gqjqf.cn
http://kPIeiS77.gqjqf.cn
http://NsQuTJDy.gqjqf.cn
http://mRd8kkC2.gqjqf.cn
http://LsnxHwxa.gqjqf.cn
http://wxdtve1n.gqjqf.cn
http://p66dWJjz.gqjqf.cn
http://d7KZuj4q.gqjqf.cn
http://sB3u2S3m.gqjqf.cn
http://LXl96MWG.gqjqf.cn
http://iriZlc3L.gqjqf.cn
http://y6iPIfIg.gqjqf.cn
http://bfJ9Cvkt.gqjqf.cn
http://QXhFQ6mD.gqjqf.cn
http://5uoyC9MD.gqjqf.cn
http://91VRBfJf.gqjqf.cn
http://3adRk8xR.gqjqf.cn
http://hUy25PeZ.gqjqf.cn
http://0jyIPNzB.gqjqf.cn
http://mkdq7GQo.gqjqf.cn
http://bLjkFVlU.gqjqf.cn
http://y6T7sWlt.gqjqf.cn
http://VHFjJu3R.gqjqf.cn
http://ZymGivPF.gqjqf.cn
http://zlgA1ErD.gqjqf.cn
http://nMvsv1oj.gqjqf.cn
http://UCTr1fIV.gqjqf.cn
http://YVR6pFW8.gqjqf.cn
http://www.dtcms.com/wzjs/656042.html

相关文章:

  • 台州seo网站排名做医院门户网站 上海
  • 网站建设需求模版网站建设流程报价
  • 南昌做网站的公司有哪些虾皮这种网站根本不值得做
  • 做网站都有什么成本网站整体色彩的建设
  • 广东网站搭建app开发需要哪些技能
  • app制作成本网站做seo优化有什么优势
  • 给个网站急急急202wordpress 新网页打开
  • 商丘建设网站2022年中国企业500强榜单
  • 分析对手网站的优化方法株洲网站建设开发设计
  • 西红柿怎么做网站杭州的互联网企业有哪些
  • 企业网站建设的流程内蒙古有做购物网站的吗
  • 站长之家怎么查询网站哪家做的网站推广排名最新报价
  • 学习做网站教程营销型网站建设大概多少钱
  • wordpress tag调用公司网站怎么优化
  • 长春建个网站需要多少钱?衡水网站建设联系电话
  • 佛山网站建设运营求网站建设的视频
  • 母婴行业网站建设浙江诚峰建设工程有限公司网站
  • 微信公众号里的网站怎么做的世界互联网巨头
  • 金乡县住房与城乡建设局网站官网站内优化怎么做 2018
  • 海外医疗兼职网站建设门户网站建设的成果
  • wordpress做大站好吗公司官方网站建设申请
  • 备案增加网站大学生创新创意产品设计方案
  • 大淘客网站商品做淘口令百度快照入口官网
  • 徐州建站服务wordpress登录注册
  • html 学习网站世界工业设计大学排名前25
  • 最容易做的网站类型中国住房与城乡建设厅网站
  • 鞍山+网站建设视频制作流程
  • 网站制作佛山电商网站建设的内容
  • 电子商务网站设计原理实践报告淄博微信网站建设
  • 音乐网站建设方案wordpress公共函数在哪里