推荐-魔兽争霸3人工智能脚本AI JASS初级教程 精品

更新时间:2023-05-25 21:30:17 阅读: 评论:0

个人借款协议范本魔兽争霸3人工智能脚本(AI JASS)初级教程
JASS与其他的面向流程性质的编程语言很类似,所以在阅读以下内容之前,首先应该对流程性质的编程以及TRIGGER JASS有着一定的了解。了解JASS语言并有一定的基础之后,你将很快的了解AI JASS。
AI JASS的概念
最主要的是理解AI线程(Threads)的概念。
线程是什么?
线程就象TRIGGER的一个循环判断语句,线程会不停的判断在线程程序列表内所缺少的元素,并去按照线程的指令排放顺序去完成它。就象碗中的饭,有即吃,有即吃,有即吃,
为什么不用TRIGGER去完成电脑的人工智能呢?
由于使用TRIGGER相比之下可能会消耗大量的内存,所以,最好用AI线程来完成电脑的人工
智能。
注意: 线程只针对单个玩家进行运作。

AI的类型(Melee AI 和 Campaign AI )
Melee AI 对战AI基本上完全可以利用WORLDEDITOR自带的AI编辑器(AI Edior)完成
Campaign AI 战役AI(即“非对战AI”),可以详细了解以下内容即可制作一般常用的战役AI
注:战役AI的用途十分广泛,完全可以利用其制作生存,3C,TD等类型的地图,并且免除了不停使用TRIGGER创造单位所带来的内存泄露。

胡大亮线程(Threads)和触发器(Trigger)的区别AI脚本只能使用JASS函数库mon.j和mon.ai中的函数和量Trigger脚本只能使用mon.j和Blizzard.j中的函数和量线程只应用于AI脚本(AI JASS), 不能用于触发器脚本(Trigger Jass)触发器只应用用于触发器脚本(Trigger Jass),不能用于AI脚本(AI JASS)
通常, 当AI脚本开始运行时只创建一个线程, 创建更多的线程可以用man.j的本地函数:
native StartThread takes code func returns nothing
运行方式的区别在于线程一旦开启即可自动运转,触发器必须调用或者借助事件的发生才可以运行。调用 call StartThread(function myfunc) 将创建一个从函数myfunc开始执行的线程。
调用 call SleepForever() 使线程永久性的关闭
名字的英文怎么写每个玩家最多可以拥有6个线程(包括一开始执行的主线程在内,当一个玩家有6个线程数时,调用StartThread()的语句将被忽略. ) *线程不能回收, 当你为某玩家创建了5个自定义线程,将无法为该玩家创建更多的线程。
局域性的全局状态,在同一玩家中的所有线程都共享全局状态(包括变量). 即是修改某个全局变量, 修改后的值在此玩家的所有线程中都是可见的。
当新线程创建时, 线程立即生效。
卤豆腐当线程让步执行时, 创建此线程的父线程将继续执行.
线程在以下的情况让步执行, 返回父线程
结肠炎吃什么药当线程中的操作码(opcode)超出限制, 线程会自动休眠 1 秒
当线程中用使用 Sleep(n), 线程将休眠 n 秒, 然后继续执行.
线程在以下情况会中止, 返回父线程
1如果 call StartThread(null)中, 线程中止
2当线程的主函数返回, 线程中止.
(StartThread()中之间调用的函数就是主函数.)
3当线程中使用没有声明的变量, 线程中止. 在使用之前, 变量必须声明.
4当线程中出现零为被除数时, 线程中止
5线程主函数出现语法错误.
注意: 虽然AI脚本可以使用大部分mon.j的库函数, 但有些类型的函数在AI不能正常工作, 如:
佶屈聱牙的意思返回字符串类型(string)的本地函数, 如I2S(), SubString()等需要以code, trigger, boolexpr 等类型数据为参数的本地函数, 如触发器函数, 队列函数(ForGroup, 等)

注意: AI中不可以使用Blizzard.j的函数, 触发器中也不可以使用mon.ai的函数, AI和触发器都可以使用mon.j的函数(当然, 对于AI, 还受上面所说的限制)

mon.ai和mon.j是写AI时可以调用和参考库文件, 要研究AI, 先去读这2个文件.******************************************************************

本文发布于:2023-05-25 21:30:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/930309.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:线程   函数   使用   脚本   触发器
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图