九维网交流论坛 - 精品网页游戏交流平台

标题: 麻烦大家秀一下你们的知识储备,模拟战斗,业余**~ [打印本页]

作者: Raymond公子    时间: 2019-6-25 23:57:16     标题: 麻烦大家秀一下你们的知识储备,模拟战斗,业余**~

本帖最后由 Raymond公子 于 2019-6-26 00:41 编辑


很久之前是看到有一个武林英雄的战斗模拟器,叫HeroHelper,我open不开,不知道具体是怎么样的,于是突发奇想想自己做一个,当然,本人只是学人文专业的,
不是程序员,只是学了一会编程(书太贵,还是从电脑上下的PDF电子版),所以可能会有很多BUG,但是会尽力去完善,今天是把基本的代码给写了,
可以实现判断双方战斗的输赢胜率,以下是相关的测试:

幻境

                        幻境的测试(次数为100次)


主线任务

                主线战斗任务测试(次数为100次

wlyx_0625_03.jpg

                    55级BOSS测试(次数为100次


当然,还有相关的一些具体战斗数值的过程可以看上面的测试我把他关了,以下是开了的效果图:(图片在最后面,不得不说这帖子编辑的功能真FIVE)

其中也有很多小问题,之后慢慢完善吧,如果打开可以像游戏里面这样
的战斗也可以实现,不过这次只是想实现预测两者的胜率功能。
不过目前的代码有以下的问题:
一、没有等级压制的代码,所以需要知道等级压制的具体计算公式
二、可能存在1-5内的伤害、血量计算误差,之前看游戏里面的数值计算
是向下取整的,但是目前代码数值的计算方式是四舍五入的;
三、如果怪物有隐藏属性,预测精度会大幅下降,因此目前只能根据怪物的
面板属性进行测试,同时对于玩家的角色也一样,不过这些可以通过测试
去获取;
四、没有添加相关技能,因为对很多技能都不了解,目前只能通过修改代码数值实现,
例如我的技能是加攻击50,那么要自己在属性面板上相应加上,因此跟技能相关的
需要大家**的:
       1、刺杀系-追影式的攻击速度是怎么计算的
       2、防护系-混元式的负面效果有效的是哪些(流血?卸武?)
                       绝对防御减免是什么
还有很多,不列了,有些可以自己去摸索看看,但是希望有人知道有些容易
踩坑的(计算方式比较特殊的
五、目前是想弄成比较智能的,通过用户输入名字,就爬取网页相关需要的的信息,
然后自动计算胜率。如下:
wlyx_0625_05.jpg
      如上图:自动爬取角色的一些技能信息,属性信息等,不用用户自己一个个敲(目前是根据属性一个一个敲)

不知道还有什么想要补充,如果你想到更加好玩的功能也可以回复评论下,看看有没有机会去实现,
这只是纯属业余**,希望大家也不要抱有希望,哈哈,或许可能会继续做成一款类似的客户端游戏
(PC端?手机端?单机?)

以上,轻喷啊!












附件: wlyx_0625_03.jpg (2019-6-26 00:36:08, 236.08 KB) / 下载次数 44
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTczODcwfDVkNzU5MzVmfDE3MjY4NTI4NDN8MHww

附件: wlyx_0625_04.jpg (2019-6-26 00:32:46, 318.88 KB) / 下载次数 54
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTczODYxfGQzNGYxMTMxfDE3MjY4NTI4NDN8MHww

附件: wlyx_0625_05.jpg (2019-6-25 23:42:20, 74 KB) / 下载次数 45
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTczODYyfDk4MjdhMDc1fDE3MjY4NTI4NDN8MHww

附件: [幻境] wlyx_0625_01.jpg (2019-6-26 00:32:46, 426.18 KB) / 下载次数 59
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTczODU1fDlmMWQyNjlmfDE3MjY4NTI4NDN8MHww

附件: [主线任务] wlyx_0625_02.jpg (2019-6-25 22:51:59, 303.79 KB) / 下载次数 54
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTczODU2fDQ1NGFmM2Y3fDE3MjY4NTI4NDN8MHww

附件: [55级BOSS] wlyx_0625_03.jpg (2019-6-26 00:34:44, 236.08 KB) / 下载次数 52
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTczODU3fDQ2YmE2ODlifDE3MjY4NTI4NDN8MHww
作者: 雨笑雨含忧    时间: 2019-6-26 00:04:04

谢琬凝  
作者: Raymond公子    时间: 2019-6-26 00:12:35

雨笑雨含忧 发表于 2019-6-26 00:04
谢琬凝

这么6的吗~
作者: 蓝色旋风.    时间: 2019-6-26 00:27:17

360截图1625112275130124.png 你这马赛克,打的跟没有一样

附件: 360截图1625112275130124.png (2019-6-26 00:27:13, 47.35 KB) / 下载次数 41
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTczODY0fDk1ZWJmOWQwfDE3MjY4NTI4NDN8MHww
作者: Raymond公子    时间: 2019-6-26 00:42:06

蓝色旋风. 发表于 2019-6-26 00:27
你这马赛克,打的跟没有一样

那可真棒

作者: 不死无名    时间: 2019-6-26 00:56:28

求方法。。。求软件
作者: 【天上00人间】    时间: 2019-6-26 08:55:02

哇,,楼主好厉害,麻烦把软件共享一下,一直在找战斗模拟器,以前的早过时了
作者: Raymond公子    时间: 2019-6-26 09:00:27

本帖最后由 Raymond公子 于 2019-6-26 09:03 编辑
不死无名 发表于 2019-6-26 00:56
求方法。。。求软件

软件是Python,
方法:
1、引用python里面random的标准库来生成随机数表示概率方面的问题;
2、秒数的实现使用for循环,自己设定360秒还是1800秒等,如果想让视图像游戏里面那样随着时间进行攻击的话,可以引用time库弄一个计时器计时;
3、其他方面主要就是逻辑方面的问题了,梳理一下逻辑,建立需要用到的数函数和一个战斗的主函数,然后连起来就OK,会有很多小细节的问题

你如果需要源码的话我可以把我写的分享给你,不过有点乱,但是可以直接在开头修改数值使用,不过目前仅仅只能是测试很简单的,这几天有空我会完善


作者: Raymond公子    时间: 2019-6-26 09:08:21

【天上00人间】 发表于 2019-6-26 08:55
哇,,楼主好厉害,麻烦把软件共享一下,一直在找战斗模拟器,以前的早过时了 ...

你说的是**软件还是直接就是战斗模拟软件啊,如果是战斗模拟软件的话还没做完,现在的功能太鸡肋了
作者: 【天上00人间】    时间: 2019-6-26 09:19:37

Raymond公子 发表于 2019-6-26 09:08
你说的是**软件还是直接就是战斗模拟软件啊,如果是战斗模拟软件的话还没做完,现在的功能太鸡肋了 ...

就是战斗模拟器,楼主做完麻烦发我一份哈,谢谢,好人

作者: 【天上00人间】    时间: 2019-6-26 09:20:13

现在的都是10年前的了,早都过时了,要把新的模块都加进去才行
作者: Raymond公子    时间: 2019-6-26 09:46:34

【天上00人间】 发表于 2019-6-26 09:20
现在的都是10年前的了,早都过时了,要把新的模块都加进去才行

嗯嗯,十年前那个是不是open不开了?我想借鉴下,发现open(打中文会屏蔽)不开,另外想了解下你觉得可以加哪些东西进去,或者期望可以实现哪些功能?

作者: 【天上00人间】    时间: 2019-6-26 10:00:08

Raymond公子 发表于 2019-6-26 09:46
嗯嗯,十年前那个是不是open不开了?我想借鉴下,发现open(打中文会屏蔽)不开,另外想了解下你觉得可以 ...

我也不动编程,你随便找个比赛的,能模拟出来就可以了吧,

作者: 不死无名    时间: 2019-6-26 11:45:18

Raymond公子 发表于 2019-6-26 09:00
软件是Python,
方法:
1、引用python里面random的标准库来生成随机数表示概率方面的问题;

很棒,等你完善好,希望可以分享给大家。。。功不可没

作者: 文心留芳    时间: 2019-6-26 12:31:29

这专业人士的热情必须顶一个
作者: 岳鸣柯    时间: 2019-6-26 13:06:15

技术流
作者: 寒烟易水    时间: 2019-6-26 13:28:14

对我来说简直是天人啊!
作者: 135465    时间: 2019-6-26 18:00:38

技术流NB
作者: aab    时间: 2019-6-27 12:55:10

本帖最后由 aab 于 2019-6-27 12:55 编辑

lz强啊,战斗模拟器找不到源代码,就很烦...
作者: Raymond公子    时间: 2019-7-7 19:18:50

今天抽空把之前的代码完善了,因为实在没时间收集技能数据,而且本人的号才90多级(没有96,也学不到96级技能),所以对更高级的技能或者其他人物附加状态什么的不太懂,因此做了个很粗糙的模拟器。
下面是一些测试的数据:

1、自己开的两个小号的测试,因为没有技能原因,所以把技能加的状态直接附加到人物属性上面,
以下是结果:
低级号测试1.png
低级号测试2.png
可以看到的是,在低等级时候,预测的准度较高,用两个号进行切磋,数值跟测试的数值是差不多的。
2、在联盟争霸里面,我选取了最新的联盟对阵第一个比试进行测试,这是还原他们第一局的结果:
[attach]174151[/attach]
联盟争霸第一局测试.png
从预测结果看,如果PQ不换技能,将一直无法战胜CB,另外因为我没有在程序中添加技能,
所以CB用的分身我用3秒触发一次取代,最终结果会有些许偏差。
3、第二局和第三局,PQ换了技能,这是他们的第二局第三局测试的结果:
(我在程序设置了5局结果显示,我选了一些有代表性的)
联盟争霸第二三局-1.png
联盟争霸第二三局-2.png
联盟争霸第而三局-3.png
在最后,可以看到,从1000场预测的结果中,可以看到PQ的胜率约为0.69,其中,令我疑惑的是,
在游戏里,CB的破击率几乎是百分之百,但是查看到人物属性时候,CB的破击率-PQ的抗破击率=0.48。
正常情况下,CB应该每两次命中触发一次破击,不知道是因为还有隐藏的技能加成还是比赛的时候有吃药什么的?
有兴趣的可以看下他们的比赛结果:

比赛结果.jpg
PQ第一局输了之后,第二第三局是换了技能战胜了CB
第一局实战:
1562497397(1).jpg
第二局实战:
123.jpg
第三局实战:
23.jpg
在填写他们属性数值的时候,只是粗略计算了攻击力和一些属性,
而属性伤害加成的先后顺序也有可能跟游戏实际计算顺序不一致或者其他因素等,
导致了PQ伤害的较大误差(在第一局中,因为CB破击没有触发,因此伤害一直都是低于实际值,
在第二局第三局可以看到,触发破击的数值是回归到了实际值附近。)。

程序测试的样本很少,另外技能的加成需要自己转化成实际的属性,也没有内息的存在,
所以对一些技能简单的战斗模拟可信度相对会高一点。对于一些副本战斗预测的准度也会比较高,
如果有隐藏属性也可以测试出来。


当时发帖搜集技能信息什么的,结果都没人回复相关的内容,所以目前就只能做到这里了,如果
有**很详细的数据可以继续完善。
[attach]174148[/attach]
[attach]174148[/attach]



附件: 低级号测试2.png (2019-7-7 18:24:33, 8.13 KB) / 下载次数 27
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTQ5fGY4YjRiNzUwfDE3MjY4NTI4NDN8MHww

附件: 低级号测试1.png (2019-7-7 18:24:41, 100.52 KB) / 下载次数 0
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTUwfDMwZTc4OTRjfDE3MjY4NTI4NDN8MHww

附件: 联盟争霸第一局测试.png (2019-7-7 18:37:08, 100.52 KB) / 下载次数 136
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTUyfDE3YWUwN2IxfDE3MjY4NTI4NDN8MHww

附件: 联盟争霸第二三局-1.png (2019-7-7 18:37:26, 73.79 KB) / 下载次数 0
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTUzfDA2ZDU1ZGMyfDE3MjY4NTI4NDN8MHww

附件: 联盟争霸第二三局-2.png (2019-7-7 18:37:33, 73.79 KB) / 下载次数 97
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTU0fDkzMjZiNmZlfDE3MjY4NTI4NDN8MHww

附件: 比赛结果.jpg (2019-7-7 19:01:54, 70 KB) / 下载次数 58
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTU2fGI2ZGZmM2IxfDE3MjY4NTI4NDN8MHww

附件: 联盟争霸第而三局-3.png (2019-7-7 18:37:41, 70 KB) / 下载次数 1
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTU1fDViMmZiY2ZkfDE3MjY4NTI4NDN8MHww

附件: 1562497397(1).jpg (2019-7-7 19:03:57, 38.08 KB) / 下载次数 0
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTU4fGY3YWZlNjQ1fDE3MjY4NTI4NDN8MHww

附件: 23.jpg (2019-7-7 19:07:01, 38.59 KB) / 下载次数 136
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTYwfDhlMDlkZmY2fDE3MjY4NTI4NDN8MHww

附件: 123.jpg (2019-7-7 19:05:54, 38.08 KB) / 下载次数 73
http://bbs.9wee.com/forum.php?mod=attachment&aid=MTc0MTU5fGM1NmM4MDI4fDE3MjY4NTI4NDN8MHww
作者: 【天上00人间】    时间: 2019-7-8 09:17:41

好厉害啊,楼主分享一下
作者: xiaoxiaer    时间: 2019-7-8 19:54:53

技术活儿,没法赏~
作者: Raymond公子    时间: 2019-7-8 20:31:37

【天上00人间】 发表于 2019-7-8 09:17
好厉害啊,楼主分享一下

确定要吗,因为如果只是单纯想看看胜率的话可能并没有那么实用,操作有点麻烦,不过倒想到一个好玩的用法,
就是假设你打不过怪物A,通过调整你输入的自己的属性值,可以看到达到了多少属性值可以打赢。
还是想要的话可以私信我,我把程序打包发给你,做的不太好,就不公开分享了。

作者: 闻太师    时间: 2019-7-8 21:46:35

离2044不远了
作者: 不死无名    时间: 2019-7-9 02:28:12

Raymond公子 发表于 2019-7-8 20:31
确定要吗,因为如果只是单纯想看看胜率的话可能并没有那么实用,操作有点麻烦,不过倒想到一个好玩的用法 ...

这样,,,你全部完善好了,,,可以开个价~谢谢





欢迎光临 九维网交流论坛 - 精品网页游戏交流平台 (http://bbs.9wee.com/) Powered by Discuz! X2