宠物AI(个人觉得有问题)
//宠物AI流程
.刚开始添加宠物
Monster被动State:EnumMonster被NULL
MonsterStat:EnumPet跟随
.附近有怪物就改成攻击模式(相关的收尾工作)
void PetObj::cancle_follow()
{
m_trace_line.clear();
is_move = false;
MonsterStat = EnumMonsterStat::EnumMonster追击;//将怪物的状态改成EnumMonster追击
}
//如果线路没有走完他会向客户端发送移动包和附近玩家通知包
.当把怪度打死并且目标列表中为空时就把气状态置为跟随
void PetObj::cancle_attached()
{
m_is_attached = false;//玩家已死,取消攻击记录
m_attach_objs.clear();//取消攻击记录
m_trace_line.clear();
is_move = false;
MonsterStat = EnumMonsterStat::EnumPet跟随;
}
.如果宠物在追击或者跟随的过程中和主人的距离超过20格子则会传送
void PetObj::传送()//这个函数写的有问题
{
MonsterStat = EnumMonsterStat::EnumPet跟随;//将状态置为跟随,传送之后其状态回到原始状态就是跟随 auto owner_map_pos = m_map->m_spBase->getMapPos(owner->tgtPos);
int mx = owner_map_pos.x;
int my = owner_map_pos.y; pos2d mPos = {mx, my};
int dir = ;
for(dir = ; dir < ; dir ++)
{
switch(dir)
{
case DIR_UP:
case DIR_LEFT:
case DIR_LEFTUP:
mPos.y++;
break;
case DIR_RIGHTUP:
mPos.x++;
break;
case DIR_RIGHT:
case DIR_RIGHTDOWN:
mPos.y--;
break;
case DIR_DOWN:
case DIR_LEFTDOWN:
mPos.x--;
break;
}
if(m_map->is_out_of_range(mPos.x, mPos.y) || !is_pet_stand(mPos))
continue;
if(m_map->m_vec_collsion[mPos.x][mPos.y] != )
break;
}
if(dir >= )
{
return;
} //给附近玩家 和 角色发送消息信息
for(auto it : map_nearby_player)
{
it.second->nearby_monsters.erase(objId.id);
std::vector<ObjecInfo> 远离的;
远离的.push_back(*this);
it.second->send_obj_leave(远离的);
}
for(auto it : map_nearby_objs)
{
it.second->map_nearby_objs.erase(objId.id);
}
//m_map->m_move_objs.erase(objId.id);//移除对象
m_map->m_move_mgr.del_mask(objId); pos2d bpos = _getBlockPos();
m_map->m_map_blocks[bpos.x][bpos.y].del(objId); map_nearby_objs.clear();
map_nearby_player.clear(); curPos = tgtPos = m_map->m_spBase->getPos(mx, my); auto cur_block_pos = m_map->m_spBase->getBlockPos(curPos);
block_x = cur_block_pos.x;
block_y = cur_block_pos.y; base_mpos.x = mx;
base_mpos.y = my; //加载到Map::的blockobj容器中
m_map->m_vec_collsion[mx][my] = ;//当前点设置为1 //加入到容器中
m_map->m_map_objs[objId.id] = this;
m_map->m_map_blocks[block_x][block_y].add(this);
init();
return;
}
宠物AI(个人觉得有问题)的更多相关文章
- Lua Behavior Tree For Unity3D(Lua描述行为树For Unity3D)
行为树(BTTree)笔记 为什么是Lua版本的行为树 目前国内的手机游戏都标配热更新功能,而游戏AI自然也是MMO游戏的一个标配,比如说挂机的AI,宠物的AI等等. 说起如何用更简单的方式开发AI功 ...
- MMORPG战斗系统随笔(三)、AI系统简介
在设计一款游戏的时候,如果我们是玩家,是希望自己能够操作角色畅玩游戏的.在一款MMORPG游戏中,大部分的实际游戏角色,是需要玩家来操作的,通过在游戏大世界相互完成游戏中的任务等等来体验游戏.在大世界 ...
- AI产品经理成长路
AI产品经理成长路 https://www.jianshu.com/p/4b98314ad3c0 以下都是自己平时知识的一些总结,只是一些个人的愚见,下面出现的公司.书籍.视频.网站都是自己看过体验过 ...
- AI超越人类大脑,或许是场“别有用心者”的骗局
谷歌.微软.苹果.特斯拉.百度.腾讯.阿里等互联网巨头企业,以及纳德拉.马斯克.扎克伯格.马云等互联网大佬,近年来一直都对人工智能--AI非常上心.在众多场合对AI给予了或肯定,或恐惧的评价.但无 ...
- Fetch.AI 首席技术官Toby Simpson参与AMA活动
感谢7月11日在YouTube上参与 Fetch.AI AMA的所有人.我们收到了大量的问题,遗憾的是我们没有时间回答其中的多数问题.如果你错过了现场AMA,你可以在下面观看全部内容: 在本文中,我们 ...
- 马里奥AI实现方式探索 ——神经网络+增强学习
[TOC] 马里奥AI实现方式探索 --神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典 ...
- 普通程序员如何转向AI方向
眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 本文的目的是给出一个简单的,平 ...
- AI人工智能系列随笔
初探 AI人工智能系列随笔:syntaxnet 初探(1)
- 游戏AI系列内容 咋样才能做个有意思的AI呢
游戏AI系列内容 咋样才能做个有意思的AI呢 写在前面的话 怪物AI怎么才能做的比较有意思.其实这个命题有点大,我作为一个仅仅进入游戏行业两年接触怪物AI还不到一年的程序员来说,来谈这个话题,我想我是 ...
随机推荐
- PHP学习之路 (2)
我们如果坚持用windows做PHP开发,就会错误不断,所以,无论如何都要学习Linux的使用和安装.说实话<鸟哥的linux私房菜>是一本非常不错的书,但是如果你想照着书上面一步一步安装 ...
- C# 基础 计算平均值的方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Redux介绍及基本应用
一.Redux介绍 Redux的设计思想很简单,就两句话: Web应用是一个状态机,神力与状态是一一对应的 所有的状态,保存在一个对象里面 二.Redux基本概念和API Store Store就是 ...
- STM32F4_TIM输出PWM波形(可调频率、占空比)
Ⅰ.概述 上一篇文章关于STM32基本的计数原理明白之后,该文章是在其基础上进行拓展,讲述关于STM32比较输出的功能,以输出PWM波形为实例来讲述. 提供实例工程中比较实用的函数:只需要调用该函数, ...
- STM32F4_TIM基本延时(计数原理)
Ⅰ.概述 STM32的TIM定时器分为三类:基本定时器.通用定时器和高级定时器.从分类来看就知道STM32的定时器功能是非常强大的,但是,功能强大了,软件配置定时器就相对复杂多了.很多初学者甚至工作了 ...
- EMVTag系列3《持卡人基本信息数据》
Ø 9F61 持卡人证件号 L:2–26 R(需求):数据应存在,在读应用数据过程中,终端不检查: (PBOC2.0第五部分中规定)芯片中持卡人姓名 5F20与持卡人姓名扩展9F0B只能使用一 ...
- hdu 1250 Hat's Fibonacci
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1250 Hat's Fibonacci Description A Fibonacci sequence ...
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统 :1.技术简介之Mina连接
欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 Apache MINA(Multipurpose Infrastructure for Network Applic ...
- netlink+netfilter
http://blog.chinaunix.net/uid-21768364-id-3618377.html
- [转]Gridview中实现RadioButton单选效果
HTML <asp:TemplateField ItemStyle-Width="22px"> <ItemTemplate> <asp:RadioBu ...