设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: a000b1745
打印 上一主题 下一主题

[已经解决] 請問敵人使用的補血技能、對象可否更改為HP最低者?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
11
发表于 2014-6-13 22:20:58 | 只看该作者
我也来凑热闹了
想给敌人增加AI的话,建议你写一个构架,敌方AI管理器。
而不是想出一个就添加一个,到时候很难维护,越多越乱,会导致坑掉的。

奉献思路一枚,我想照此写出来,以前狂按确定的几个小B配合就让玩家抓狂了。
首先,是一个可调AI强度,0-10。
写一个战斗力评估算法,这个根据自己的游戏设置来具体评估的。
比如   战斗力 = (攻击力*20+防御力*10+敏捷*10……)*HP百分比+MP等等等等……技能,这是很复杂的算法,但是你可以自己想出来,并且写出来。

战斗开始时,将所有敌人加入队友集。(以下敌人,主角均面向玩家而言。)
等到敌人行动时,遍历该敌人所有的行动。比如攻击→主角1234,技能1→主角1234,回复→敌人12345
复制对象,并且模拟使用后的结果,记录下评分。全部遍历完后对比所有的结果评分。所谓的评分,就是我方战斗力-敌方战斗力。
如果AI强度是1的话,选择评分最高的行动。
如果 AI强度是2的话,选择评分前30%的行动。再次迭代下一个行动的角色的行动获得全部评分。
如果下一个行动是主角,遍历所有的行动,并对结果进行分析,将评分最低的30%的行动进行统计。如此递归
总的来说,AI强度每强1级,电脑就会想一步,如果AI强度为10,它会计算接下来10次行动可能造成的结果,来决定这次行动。
当然那计算量相当大。

以上要多看几遍,并且有人讨论才能完成。
简单地说,就是遍历所有的行动,所造成的结果进行评分统计。
也支持对以后的行动进行预测评分。

点评

AI 10的话 以ruby的效率 极有可能卡顿从而造成不好的游戏体验……  发表于 2014-6-14 11:26
這可是要非常強大的邏輯腦力阿...  发表于 2014-6-14 10:23
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 09:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表