尝试把拍手游戏的电脑算法调成了AI算法,虽然能用不过感觉训练效率有点低
主程序是用python写的,算法的核心是用数组存储个变量以及在该情况下出的技能,然后赢的一方计数。之后使用技能时一半随机一半通过之前存下的数据加权
if(player[i].Ep < 18 and player[a].last_Ep < 18):
# print(player[i].HP,player[i].last_skill,player[i].Ep,player[a].HP,player[a].last_skill,player[a].last_Ep)
ta = ai[player[i].HP-1][player[i].last_skill][player[i].Ep][player[a].HP-1][player[a].last_skill][player[a].last_Ep]
s = sum(ta)
ss = 0
for x in range(17):
ss += ta[x]
if ss >= s * player[i].skill / 17:
player[i].skill = x
break
处理程序见Deal.cpp
不过七位数组有亿点大(30mb)中间浪费了不少空间,而且预处理读入还得十多秒
所以请教一下有没有什么高效的算法,大伙玩玩也给些体验意见