lost temple 3c ai(魔兽争霸3里,自己和一个发狂电脑联合能不能打赢像moon、三蛋这样的顶尖高手)
本文目录
魔兽争霸3里,自己和一个发狂电脑联合能不能打赢像moon、三蛋这样的顶尖高手
很遗憾 打不过
楼主是一个比新手强一点,经常看视频。经过一百局的磨练。
可是以小编的经验来看,一百局的对战实在是弟中弟,这游戏不是一两百局就能打的好的。
同样这游戏也不是看视频就学得会的,这游戏需要的是天赋,纯粹意义上的天赋。
War3的对战地图中:天赋》经验(就像说唱届王语嫣:道理我说的比你好,但我做不到)
只有通过不停的磨练才会使自己慢慢变强,但没有天赋再多的训练效果也微乎其微。
而像Moon、SKY这样既有天赋又努力的人,真的不是一个普通玩家和疯狂电脑打得过的。
还是有一种方法 但是很吃运气
玩War3的都知道,疯狂的电脑有时候还没有简单的电脑厉害。
有时候疯狂的电脑会发呆,或者说老游戏使得AI没有发育完全,经常会有指令才会行动。
玩过War3对战的应该都玩过Lost Temple这张地图吧?四角有河流挡住,电脑经常会出现清除四角的指令却因无法越过河流而卡住不动,只要小岛上的怪物还在,指令就不会改变。所以他会一直发呆下去。
但也有过电脑的第二个指令就是摧毁玩家基地,如果你幸运的和你的电脑队友早期达成一致。
一起攻击对方,还是有几率赢的,疯狂电脑的前期出兵速度还是很快的,只要你也在前期疯狂爆兵,即使对方微操再强也打不过数量优势。
这就是小编的理解。各位觉得呢?如果是你和一个疯狂电脑会打得过Moon、SKY么?有什么野路子让对方防不胜防么?
PS:为什么不提我SKY,人皇最强不接受反驳!他是我们的骄傲~大家说小编说的对么!
lost temple dota 3c ai怎么选英雄啊
我是地图的作者,有什么疑问,可以问我。-RD模式就不用多作介绍了吧-AP/-AS/-AA/-AI 模式就跟dota的选择一样咯-random:随机选择一个英雄(只生效一次,rd模式下该命令是没效的)-reoick:重新选择一个英雄(只生效一次,rd模式下该命令也是没效的,游戏开始前12秒该命令也是没效的)-AP/-AS/-AA/-AI /-RD:以上这些命令需要由主机(第一个非电脑控制的玩家)键入,而且互不兼容,也就是只能选择一个模式。双方队长玩家:嗯,是不能选择dota里面的任何一个英雄。队长双方玩家的功能正在开发中。目前正在更新中
lost temple 3c ai 怎么用
我是从这 call CreateCaptains() // 创建队长(好像是英雄带领小兵) call StartThread(function attack_loop) // 开始线程,运行 (function attack_loop) call StartThread(function check_hp) // 开始线程,运行(function check_hp) endfunction★2★全局变量 + Shingo Jass Highlighter 0.41 globals unit array aihero //设置英雄单位 integer hero_num=0 //用于计算英雄数量 group udg_g=CreateGroup() //用于记录AI玩家所有单位 boolean flee=false //设置是否逃跑 boolean finishMF=false //设置是否MF boolean attack_enemy=false //设置是否攻击敌人 boolean ally=false //设置是否攻击盟友 real ratio=1 //radio是用于判断生命比的整数 integer count=0 //记录游戏开始秒数 location start_loc //玩家开始的地方 endglobals★3★功能程序 + Shingo Jass Highlighter 0.41 function setup_force takes nothing returns nothing //AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 local unit u=null local integer i=1 call RemoveInjuries() call InitAssault() //初始化攻击队伍 if (GetPlayerState(ai_player,PLAYER_STATE_RESOURCE_FOOD_CAP)-80)!=hero_num then call GroupEnumUnitsOfPlayer(udg_g,ai_player,null) //选取AI玩家的所有单位 loop exitwhen i》hero_num call GroupRemoveUnit(udg_g,aihero《i》) set i=i+1 endloop loop set u=FirstOfGroup(udg_g) exitwhen u==null if IsUnitType(u,UNIT_TYPE_HERO)==true then set hero_num=hero_num+1 set aihero=u endif call GroupRemoveUnit(udg_g,u) //移除单位u endloop call GroupClear(udg_g) //清楚单位组 endif set i=1 loop exitwhen i》hero_num if GetUnitState(aihero《i》,UNIT_STATE_LIFE)/GetUnitState(aihero《i》,UNIT_STATE_MAX_LIFE)》0.15 then //选取英雄生命百分比大于15%的(radio是用于判断生命比的整数) call AddAssault(1,GetUnitTypeId(aihero《i》)) //英雄加入攻击组 endif set i=i+1 endloop endfunction function start_attack takes unit target returns nothing //开始攻击 local integer index=0 loop exitwhen CaptainRetreating() and flee //(如果队长逃跑 and 逃跑 是真的)就退出 exitwhen ratio==0 exitwhen not UnitAlive(target) //(如果target不是存活的)就退出 exitwhen UnitInvis(target) and not IsUnitDetected(target,ai_player) //(如果单位隐形 and 单位侦查)就退出 call AttackMoveKill(target) // 攻 击 移 动 直 到 杀 死 target call Sleep(3) //停止3秒 if index》=5 then set index=0 call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 endif set index=index+1 endloop //实际上此loop的功能是每3秒选取英雄去攻击,逃跑的话就停止 set index=0 loop exitwhen not CaptainInCombat(true) //当队长不在战斗时就退出 call Sleep(2) //停止3秒 if index》=8 then set index=0 call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 endif set index=index+1 endloop //实际上此loop的功能是每2秒队长在战斗时选取英雄进入攻击组 endfunction function attack_sequence takes nothing returns nothing //战斗顺序(此函数实际是寻找敌人,先寻找敌人的分基地,没有就主基地,找不到就去MF) local unit target=null local unit u=null if ally then //如果ally是真的 ,就做下面动作 set target=GetAllianceTarget() //设置target是同盟的主基地 if target!=null then //如果同盟的主基地存在 ,就做下面动作 set attack_enemy=true //设置攻击敌人开始 call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 call start_attack(target) //调用开始攻击target的函数 call SetAllianceTarget(null) // set attack_enemy=false //设置攻击敌人关闭 return //跳过下列动作 endif endif if count》100 and GetRandomInt(0,200+count)》300 then //如果count大于100 and 随机整数0或200+count大于300 就做下列动作 set u=CreateUnitAtLoc(ai_player,’h000’,start_loc,270) //设置u是新建的单位在开始点 set target=GetEnemyExpansion() //设置target是敌人的分基地 if target!=null then //*如果target存在就做下面动作 call KillUnit(u) //杀死u call SetAllianceTarget(target) // call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 call start_attack(target) //调用开始攻击target的函数 return //跳过下列动作 else //*如果target不存在就做下面动作 call StartGetEnemyBase() //开始寻找敌人基地 loop exitwhen not WaitGetEnemyBase() //当不寻找敌人的时候就退出循环 call Sleep(1) endloop //实际上是每一秒都判断是否寻找的英雄 set target=GetEnemyBase() //设置target时敌人的主基地 call KillUnit(u) //杀死u endif set u=null if target != null then //如果target不等于没有,就做下列动作 set attack_enemy=true //设置攻击敌人开始 call SetAllianceTarget(target) // call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 call start_attack(target) //调用开始攻击target的函数 set attack_enemy=false //设置攻击敌人关闭 return //跳过下列动作 endif endif set target=GetCreepCamp(0,R2I(5*hero_num*ratio),false) //设置target是中立敌对单位的营地(中立单位最小的等级为 0,最大为5*英雄总数量*ratio,没有飞行单位) if target!=null then //如果target存在,就做下列动作 call SetAllianceTarget(target) // call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 call start_attack(target) //调用开始攻击target的函数 set finishMF=true //设置正在MF 为 真(MF是指打中立怪升级) return //跳过下列动作 endif if GetRandomInt(1,2)==1 then //随机整数1或2等于1就做下列动作 set target=GetCreepCamp(0,R2I(8*hero_num*ratio),false) //设置target是中立敌对单位的营地 if target!=null then //如果target存在,就做下列动作 call SetAllianceTarget(target) // call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 call start_attack(target) //调用开始攻击target的函数 set finishMF=true //设置正在MF 为 真(MF是指打中立怪升级) endif endif call Sleep(10) //停止10秒 endfunction function attack_loop takes nothing returns nothing local integer index=0 call SetCaptainHome(0,GetLocationX(start_loc),GetLocationY(start_loc)) //设置组在家的点《组,x坐标,y坐标》 call SetCaptainHome(1,GetLocationX(start_loc),GetLocationY(start_loc)) //设置组在家的点《组,x坐标,y坐标》, 组的参数: ATTACK_CAPTAIN = 1; 攻击组 DEFENSE_CAPTAIN = 2; 防御组 BOTH_CAPTAINS = 3 攻击和防御组; loop call Sleep(3) //停止3秒(实际上是进入循环每3秒做下列动作一次) exitwhen GetPlayerState(ai_player,PLAYER_STATE_RESOURCE_FOOD_CAP)》80 //当AI玩家食物多于80就退出循环 endloop call Sleep(2) //停止2秒 call setup_force() //命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组 loop set index=1 loop call Sleep(1) //停止1秒 exitwhen finishMF and not flee //当正在MF的时候 and 不逃跑为真的时候 退出 循环 call Sleep(1) //停止1秒 exitwhen not CaptainRetreating() and ratio》0 //当队长不逃跑的时候 and ratio大于0的时候退出循环 exitwhen index》=10 set index=index+1 endloop if finishMF then //如果正在MF,就做下列动作 set finishMF=false //设置不MF endif if flee then //如果正在逃跑,就做下列动作 call Sleep(25-ratio*20) //停止25-ratio*20秒 (radio是用于判断生命比的整数) endif call attack_sequence() //调用攻击函数 endloop endfunction function check_hp takes nothing returns nothing //检测Hp local integer i=0 local real x=0 local real y=0 local real z=0 local real r1=0 local real r2=0 local unit u=null loop call Sleep(3) //停止3秒(实际上是进入循环每3秒做下列动作一次) set u=GetCreepCamp(0,0,false) //设置u是中立敌对的目标 set i=1 set x=0 set y=0 set z=0 loop exitwhen i》hero_num //当i大于总英雄人数是就退出循环 set r1=GetUnitState(aihero《i》,UNIT_STATE_LIFE) //设置r1是英雄i号的现在生命值 (i=1,2.3,......) set r2=GetUnitState(aihero《i》,UNIT_STATE_MAX_LIFE) //设置r2是英雄i号的最大生命值 (i=1,2.3,......) set x=x+r1 //设置x等于x+r1,即循环后所有英雄总的生命值 set y=y+r2 //设置y等于x+r2,即循环后所有英雄总的最大生命值 if r1》0 then //如果英雄的生命值大于0,就做下列动作 set z=z+r2 //设置z等于z+r2,即循环后所有活着的英雄总的最大生命值 endif set i=i+1 endloop if z》0 then //如果Z大于0做下列动作 set ratio=x/y //设置ratio等于x/y,即所有英雄现在生命值和最大生命值的比 if x/z《0.5 then //如果所有英雄现在生命值和最大生命值的比 小于 0.5,就做下列动作 call SetGroupsFlee(true) //设置队伍可以逃跑 set flee=true //设置队伍可以逃跑 else call SetGroupsFlee(false) //如果不是的话,就 设置队伍不能逃跑 set flee=false //设置队伍现在不逃跑 endif else //如果Z小于0做下列动作 set ratio=0 //设置radio为0 call SetGroupsFlee(true) //设置队伍可以逃跑 set flee=true //设置队伍现在正在逃跑 endif //实际上每三秒就判断生命值 if attack_enemy then call SetGroupsFlee(true) //如果攻击敌人的话 set flee=true //设置队伍可以逃跑 endif if count《200 then set count=count+1 endif //实际上每三秒就设置count+1 endloop endfunction 收藏 分享 11 0 鱼妹 莫鱼
本文相关文章:
华硕官方清灰(我的电脑过了保修期,请问我去华硕官方维修点清灰的话要多少钱)
2024年10月22日 18:35
联想的商用电脑(有人了解联想的商用电脑吗怎么样麻烦推荐一款)
2024年10月22日 04:25
dell电脑怎么调节屏幕亮度(戴尔笔记本电脑怎么调节屏幕亮度)
2024年10月21日 19:25
公司商务台式机(6000元以内的商务办公台式机电脑,请教高手什么牌子好一点,能买到什么配置的)
2024年10月21日 19:15
上海哪里买电脑好(买电脑,怎么才能买到一台好电脑呢在上海要买电脑一般会到哪里去买)
2024年10月21日 19:00
thinkpad s2配置(ThinkPad New S2 2017笔记本电脑怎么样)
2024年10月21日 14:35
戴尔xps139350价格(戴尔笔记本电脑xps13-9350卖出去能卖多少钱,I7 8G内存,256固定,用了七个月)
2024年10月21日 14:00
联想t410刚上市价格(thinkpad T系列笔记本电脑多少钱)
2024年10月21日 11:35
笔记本电脑找不到wlan怎么办(联想笔记本电脑找不到WLAN)
2024年10月21日 10:05
华硕电脑最新(华硕笔记本电脑中的ASUS Live Update如何更新至最新版本)
2024年10月21日 04:35
华硕x450jf(我电脑华硕X450JF,可以加固态硬盘吗)
2024年10月21日 02:25
电脑配置推荐5000左右(5000左右的电脑玩游戏什么配置好)
2024年10月20日 15:30
更多文章:
x200电池(联想x200笔记本电池显示正在充电,但一点电也没充进去,一直显示在0%正在充电,这是怎么回事,如何解决)
2023年5月18日 02:00
联想g470是什么显卡(联想g470笔记本电脑显卡是多少的)
2024年6月6日 04:30
联想z5s续航(联想z5s和红米note7pro那个更好玩游戏考虑充电屏幕等)
2024年8月29日 02:30
戴尔vostro3450电源适配(dell成就3450 开机报警 无法识别的交流电源适配器,F1可以开机,但电池不充电,)
2024年6月16日 07:32
y470p联想笔记本(联想y470p电脑第一次用电池充电充多长时间)
2023年7月26日 21:00
联想e431驱动官网(联想tinkpade431sm总线控制器驱动)
2023年10月15日 00:45
i3 2310m跑分(i3 的2310鲁大师跑分只得五百来分这正常吗)
2024年5月7日 06:51
七彩虹gtx650显卡(七彩虹GTX650烈焰战神U显卡怎么使用一键超频)
2024年6月29日 12:43
华为笔记本matebook14s(华为matebook14和14s的区别)
2023年9月2日 15:00
微软平板电脑surface pro6(surfacepro6系统重装对充电器有什么影响)
2024年5月28日 16:46
戴尔1420cpu升级最新款(戴尔笔记本1420cpu升级问题)
2024年5月20日 00:28