搜索
查看: 5622|回复: 24
打印 上一主题 下一主题

[技术攻略] 麻烦大家秀一下你们的知识储备,模拟战斗,业余**~   [复制链接]

Rank: 2

贡献
0
金钱
73
性别
保密
威望
0
最后登录
2020-12-25
精华
0
帖子
19
积分
92
阅读权限
20
注册时间
2019-6-25
UID
135285120
跳转到指定楼层
楼主
发表于 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_04.jpg (318.88 KB, 下载次数: 60)

wlyx_0625_04.jpg

wlyx_0625_03.jpg (236.08 KB, 下载次数: 57)

55级BOSS

55级BOSS

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏0

使用道具 举报

论坛元老

灵符剑匣

Rank: 8Rank: 8

贡献
0
金钱
13696
性别
保密
威望
0
最后登录
2024-9-9
精华
0
帖子
1952
积分
15648
阅读权限
90
注册时间
2012-2-2
UID
121274187
沙发
发表于 2019-6-26 00:04:04 |只看该作者
谢琬凝  

使用道具 举报

Rank: 2

贡献
0
金钱
73
性别
保密
威望
0
最后登录
2020-12-25
精华
0
帖子
19
积分
92
阅读权限
20
注册时间
2019-6-25
UID
135285120
板凳
发表于 2019-6-26 00:12:35 |只看该作者
雨笑雨含忧 发表于 2019-6-26 00:04
谢琬凝

这么6的吗~

使用道具 举报

Rank: 6Rank: 6

贡献
0
金钱
1549
性别
保密
威望
0
最后登录
2024-10-19
精华
0
帖子
369
积分
1918
阅读权限
70
注册时间
2011-6-21
UID
70010242
地板
发表于 2019-6-26 00:27:17 |只看该作者
360截图1625112275130124.png 你这马赛克,打的跟没有一样

使用道具 举报

Rank: 2

贡献
0
金钱
73
性别
保密
威望
0
最后登录
2020-12-25
精华
0
帖子
19
积分
92
阅读权限
20
注册时间
2019-6-25
UID
135285120
5#
发表于 2019-6-26 00:42:06 |只看该作者
蓝色旋风. 发表于 2019-6-26 00:27
你这马赛克,打的跟没有一样

那可真棒

使用道具 举报

Rank: 8Rank: 8

贡献
0
金钱
2799
性别
星座
双鱼座
QQ
806585841
威望
0
最后登录
2020-10-7
精华
0
帖子
1196
积分
3995
阅读权限
90
注册时间
2011-7-1
UID
117342060
6#
发表于 2019-6-26 00:56:28 |只看该作者
求方法。。。求软件

使用道具 举报

论坛元老

色房是

Rank: 8Rank: 8

贡献
0
金钱
5730
性别
星座
射手座
自我介绍
阿瑟
QQ
63518098
威望
0
最后登录
2024-11-11
精华
0
帖子
2498
积分
8228
阅读权限
90
注册时间
2011-6-21
UID
42271231
7#
发表于 2019-6-26 08:55:02 |只看该作者
哇,,楼主好厉害,麻烦把软件共享一下,一直在找战斗模拟器,以前的早过时了

使用道具 举报

Rank: 2

贡献
0
金钱
73
性别
保密
威望
0
最后登录
2020-12-25
精华
0
帖子
19
积分
92
阅读权限
20
注册时间
2019-6-25
UID
135285120
8#
发表于 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,会有很多小细节的问题

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

使用道具 举报

Rank: 2

贡献
0
金钱
73
性别
保密
威望
0
最后登录
2020-12-25
精华
0
帖子
19
积分
92
阅读权限
20
注册时间
2019-6-25
UID
135285120
9#
发表于 2019-6-26 09:08:21 |只看该作者
【天上00人间】 发表于 2019-6-26 08:55
哇,,楼主好厉害,麻烦把软件共享一下,一直在找战斗模拟器,以前的早过时了 ...

你说的是**软件还是直接就是战斗模拟软件啊,如果是战斗模拟软件的话还没做完,现在的功能太鸡肋了

使用道具 举报

论坛元老

色房是

Rank: 8Rank: 8

贡献
0
金钱
5730
性别
星座
射手座
自我介绍
阿瑟
QQ
63518098
威望
0
最后登录
2024-11-11
精华
0
帖子
2498
积分
8228
阅读权限
90
注册时间
2011-6-21
UID
42271231
10#
发表于 2019-6-26 09:19:37 |只看该作者
Raymond公子 发表于 2019-6-26 09:08
你说的是**软件还是直接就是战斗模拟软件啊,如果是战斗模拟软件的话还没做完,现在的功能太鸡肋了 ...

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

使用道具 举报

论坛元老

色房是

Rank: 8Rank: 8

贡献
0
金钱
5730
性别
星座
射手座
自我介绍
阿瑟
QQ
63518098
威望
0
最后登录
2024-11-11
精华
0
帖子
2498
积分
8228
阅读权限
90
注册时间
2011-6-21
UID
42271231
11#
发表于 2019-6-26 09:20:13 |只看该作者
现在的都是10年前的了,早都过时了,要把新的模块都加进去才行

使用道具 举报

Rank: 2

贡献
0
金钱
73
性别
保密
威望
0
最后登录
2020-12-25
精华
0
帖子
19
积分
92
阅读权限
20
注册时间
2019-6-25
UID
135285120
12#
发表于 2019-6-26 09:46:34 |只看该作者
【天上00人间】 发表于 2019-6-26 09:20
现在的都是10年前的了,早都过时了,要把新的模块都加进去才行

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

使用道具 举报

论坛元老

色房是

Rank: 8Rank: 8

贡献
0
金钱
5730
性别
星座
射手座
自我介绍
阿瑟
QQ
63518098
威望
0
最后登录
2024-11-11
精华
0
帖子
2498
积分
8228
阅读权限
90
注册时间
2011-6-21
UID
42271231
13#
发表于 2019-6-26 10:00:08 |只看该作者
Raymond公子 发表于 2019-6-26 09:46
嗯嗯,十年前那个是不是open不开了?我想借鉴下,发现open(打中文会屏蔽)不开,另外想了解下你觉得可以 ...

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

使用道具 举报

Rank: 8Rank: 8

贡献
0
金钱
2799
性别
星座
双鱼座
QQ
806585841
威望
0
最后登录
2020-10-7
精华
0
帖子
1196
积分
3995
阅读权限
90
注册时间
2011-7-1
UID
117342060
14#
发表于 2019-6-26 11:45:18 |只看该作者
Raymond公子 发表于 2019-6-26 09:00
软件是Python,
方法:
1、引用python里面random的标准库来生成随机数表示概率方面的问题;

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

使用道具 举报

Rank: 6Rank: 6

贡献
0
金钱
2353
性别
保密
威望
0
最后登录
2022-10-18
精华
0
帖子
248
积分
2601
阅读权限
70
注册时间
2018-4-10
UID
51466051
15#
发表于 2019-6-26 12:31:29 |只看该作者
这专业人士的热情必须顶一个

使用道具 举报

Rank: 6Rank: 6

贡献
0
金钱
2355
性别
星座
天蝎座
QQ
571944543
威望
0
最后登录
2023-10-31
精华
0
帖子
373
积分
2728
阅读权限
70
注册时间
2013-12-3
UID
127326154
16#
发表于 2019-6-26 13:06:15 |只看该作者
技术流

使用道具 举报

Rank: 8Rank: 8

贡献
0
金钱
11357
性别
保密
威望
0
最后登录
2024-11-14
精华
0
帖子
3178
积分
14535
阅读权限
90
注册时间
2011-11-9
UID
119228148
17#
发表于 2019-6-26 13:28:14 |只看该作者
对我来说简直是天人啊!

使用道具 举报

Rank: 8Rank: 8

贡献
0
金钱
5032
性别
保密
威望
0
最后登录
2024-11-3
精华
0
帖子
3500
积分
8532
阅读权限
90
注册时间
2012-2-7
UID
121596154
18#
发表于 2019-6-26 18:00:38 |只看该作者
技术流NB

使用道具 举报

Rank: 4

贡献
0
金钱
533
性别
保密
威望
0
最后登录
2020-8-22
精华
0
帖子
89
积分
622
阅读权限
50
注册时间
2011-11-4
UID
56653120
19#
发表于 2019-6-27 12:55:10 |只看该作者
本帖最后由 aab 于 2019-6-27 12:55 编辑

lz强啊,战斗模拟器找不到源代码,就很烦...

使用道具 举报

Rank: 2

贡献
0
金钱
73
性别
保密
威望
0
最后登录
2020-12-25
精华
0
帖子
19
积分
92
阅读权限
20
注册时间
2019-6-25
UID
135285120
20#
发表于 2019-7-7 19:18:50 |只看该作者
今天抽空把之前的代码完善了,因为实在没时间收集技能数据,而且本人的号才90多级(没有96,也学不到96级技能),所以对更高级的技能或者其他人物附加状态什么的不太懂,因此做了个很粗糙的模拟器。
下面是一些测试的数据:

1、自己开的两个小号的测试,因为没有技能原因,所以把技能加的状态直接附加到人物属性上面,
以下是结果:
低级号测试1.png
低级号测试2.png
可以看到的是,在低等级时候,预测的准度较高,用两个号进行切磋,数值跟测试的数值是差不多的。
2、在联盟争霸里面,我选取了最新的联盟对阵第一个比试进行测试,这是还原他们第一局的结果:

联盟争霸第一局测试.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破击没有触发,因此伤害一直都是低于实际值,
在第二局第三局可以看到,触发破击的数值是回归到了实际值附近。)。

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


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



使用道具 举报

您需要登录后才可以回帖

手机版|九维网

GMT+8, 2024-11-15 00:55

沪ICP备07016242号-1 BBS Based on Discuz! © 2006-2024 9wee.com

回顶部