炉石传说 酒馆战棋 战斗模拟的实现

探讨了炉石传说酒馆战棋的AI对战模拟实现,通过创建沙盒环境进行机器学习,分析不同阵容的胜负概率及英雄伤害量,以评估战棋平衡性。

炉石传说 酒馆战棋 战斗模拟的实现

这几天工作闲余,琢磨着新的AI算法思路,于是想尝试一下和机器对战,遂想到炉石传说的酒馆战棋。想要机器对战,就得先把规则写成一个sandbox,然后再机器学习。那么这个第一步就比较繁琐,不想想太多设计,直接捋起袖子做吧。想代码好看,以后再说。

https://github.com/dna2ai/HSBG/blob/master/deck.js
git clone 后打开 index.html 等待一会就能看到demo结果

这个只是闲余极速之作,已经fix了很多bug了,比如从视频里找一些复杂的实例,然后run个100万遍,尤其是亡语招募各种复杂。原理其实很简单,就是两个循环的队列,1号元素不停进攻另一个队列里的元素,直到没有随从能进攻为止。然后,比如让这2个队列战斗个1000遍,就可以知道大概的胜负概率,和英雄伤害量,从而可以很轻松算出抬走概率。

比如我们来看看这个demo阵容:
在这里插入图片描述
结果就是 下方的SlotA win: 9.61%, 上方的SlotB win: 85.42%, 平局Tie: 4.96%

var slotA = [], slotB = [];
function last(slot) {
   
    return slot[slot.length-1]; }
slotA.push(api.newMinionById(612, false));
slotA.push(api.newMinionById(411, false));
last(slotA).hp = 7; la
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值