unity 人工智能AI,装备解锁临时笔记
A*算法的一种改进设想:
1.如何让角色到达目标点的过程中更加平滑:获取一串到达目标点的网格串之后,就实时用带形状的物理射线检测能否直接到达下一个目标点的再下一个目标点,如果能到达,那么直接朝该方向运动,如果射线检测到有物体阻挡,那么就重新获取当前路径的下一个点
Unity解锁功能
解锁条件为分数和关卡数
一.初始数据存储与读取
0配置bool标识,表示是否第一次进入游戏
1在GameManager中建立配置链表,表中的每个元子保存的是装备的名字(作为键)和是否解锁,以及解锁需要的条件,将所有的设置成否
2如果是第一次进入游戏,那么将配置链表中的数据以键值对保存。读取数据到配置链表,将配置链表的数据重新以键值对形式保存为字典从而提高查找速度。
二.装备栏选择装备和显示
1首先读取装备在字典中的是否解锁功能,如果没有解锁,那么装备标识只显示为问号,否则显示为正确的图标,并且选择该装备生效。
三.解锁装备
1在消灭敌人获得分数或者进入下一关的时候对链表中的每个装备进行判断,如果某个装备满足解锁条件,并且还未解锁,那么对该装备进行解锁,并将解锁数据进行存储和再次读取
疑问:如果每个装备解锁的条件不一样,有的只有一个条件,有的需要多个条件同时达成,有的是时间(时长达到多久)条件(这里应该需要每帧都判断),那么这种配置程序该如何编写,才能对每个装备自由设置条件的同时对性能损耗不是太高
我想换种思路,将装备下面的触发状态换成类链表,类中有个继承方法,用于返回真假,如果链表中的每个类都返回真,那么这个装备就解锁了,这样就可以为链表下的每个类都设置不同的条件了
确实有这个问题,一旦每个装备下的每个链表的每个元素类都运行一遍判真函数,时间复杂度真心有点高,条件相同的还判断重复了
这种我说过方法的吧,用状态位整合条件最好。
每一种条件保存一个容器,当此条件满足,遍历容器中的,将相应的位置为1。
装备的类应该这么写。
class Equipment
{
int currentState;
int triggerState;
}
每次状态位改变,就比较小,相等就激活。
一个int32位,各表示32种不同的条件。
比如一件装备的激活条件组合是01001101,你每次修改当前条件变量的位,比较下是不是等于就可以了
unity 人工智能AI,装备解锁临时笔记的更多相关文章
- 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics)之间有什么关系?
本来我以为不需要解释这个问题的,到底数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)有什么区别,但是前几天因为有个学弟问我,我想了想发现我竟然也回答 ...
- 【转】人工智能(AI)资料大全
这里收集的是关于人工智能(AI)的教程.书籍.视频演讲和论文. 欢迎提供更多的信息. 在线教程 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程 人工智能入门 – 人工智能基础学习.Peter ...
- 人工智能--AI篇
AI背景 在当今互联网信息高速发展的大背景下,人工智能(AI)已经开始走进了千家万户,逐渐和我们的生活接轨,那具体什么是AI呢? 什么是人工智能(AI)? 人工智能:简单理解就是由人制造出来的,有一定 ...
- 解读 --- 基于微软企业商务应用平台 (Microsoft Dynamics 365) 之上的人工智能 (AI) 解决方案
9月25日微软今年一年一度的Ignite 2017在佛罗里达州奥兰多市还是如期开幕了.为啥这么说?因为9月初五级飓风厄玛(Hurricane Irma) 在佛罗里达州登陆,在当地造成了挺大的麻烦.在这 ...
- 人工智能AI芯片与Maker创意接轨(下)
继「人工智能AI芯片与Maker创意接轨」的(上)篇中,认识了人工智能.深度学习,以及深度学习技术的应用,以及(中)篇对市面上AI芯片的类型及解决方案现况做了完整剖析后,系列文到了最后一篇,将带领各位 ...
- 人工智能AI芯片与Maker创意接轨 (中)
在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...
- 国家制定人工智能(AI)发展战略的决策根据
在今年两会上,李彦宏的提案有何道理?提案的依据是什么?这个问题必须说清楚,对社会公众有个交代. 回想过去,早在上世纪九十年代,用"电子网络"模拟人脑的想法已经出现.这样的" ...
- python实现人工智能Ai抠图功能
这篇文章主要介绍了python实现人工智能Ai抠图功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 自己是个PS小白,没办法只能通过技术来证明自己. 话不多说, ...
- 【AI测试】也许这有你想知道的人工智能 (AI) 测试--第二篇
概述此为人工智能 (AI) 测试第二篇 第一篇主要介绍了 人工智能测试.测试什么.测试数据等.第二篇主要介绍测试用例和测试报告.之后的文章可能具体介绍如何开展各项测试,以及具体项目举例如何测试.测试用 ...
随机推荐
- windows下忘记mysql的root密码
1.停止mysql 2.命令行启动mysqlmysqld --defaults-file="c:\mysql\mysql server 5.1\my.ini" --console ...
- 很漂亮的IP头格式
IP数据包格式 TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram).这是一个与硬件无关的虚拟包,由首部和数据两部分组成.首部的前一部分是固定长度,共 20 字节,是 ...
- Windows8 App Store 开发者会关心的文档
在远程计算机上从 Visual Studio 调试和测试 Windows 应用商店应用程序 http://msdn.microsoft.com/zh-cn/library/windows/apps/h ...
- iOS中堆和栈的区别
管理方式: 对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来讲,释放工作有程序员控制,容易产生memory Leak. 申请大小: 栈:在Windows下,栈是向低地址扩展的数据结构,是一块 ...
- ServiceDesk Plus 服务管理自动指派工单功能
- mysql里几个超时配置参数wait_timeout,net_read_timeout等
以下这些配置项单位都是秒,在mysql命令行中可以使用show global variables like '变量名';可查询配置值. connect_timeout:连接响应超时时间.服务器端在这个 ...
- 20 模块之 re subprocess
re: 什么是正则: 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 ...
- 再读c++primer plus 005
对象和类: 1.类和结构的唯一区别是结构的默认访问类型是public,而类为private: 2.其定义位于类声明中的函数都将自动成为内联函数,也可以在类声明外定义成员函数,并使其成为内联函数,为此只 ...
- ORA-38301:can not perform DDL/DML over objects in Recycle Bin
一个智障操作,drop一个用户,下面的东西比较多,删得比较慢,然后shell突然关了. 就导致了,删不掉,又不能创建新的用户.出版本要得比较急,就先创建新的用户测试去了. 今天要弄个东西,又想起这个事 ...
- ThinkPHP 二维码生成
请求获取并展示二维码 <img src="<?php echo U('createCode?zsnumber='.$time.$kcname['id'].$stuInfo['id ...