zoukankan      html  css  js  c++  java
  • 关于自走棋类游戏棋子搜索算法分析

    最近自走棋类游戏非常风靡,从DOTA2的自走棋到LOL的云顶之弈

    玩家在享受游戏快乐的同时,也被搜不来牌所烦恼,当然这也是麻将元素带来乐趣的所在

    分析搜牌算法:

    1、有一个牌库1¥棋子13个比如一共有30个就是13*30;加上2¥棋子3¥4¥5¥棋子,总个数=13*30+14*25+15*20+12*15+6*10=1280(个)

    (以上数据与棋子个数均为猜测估算,目的为分析算法内容,数据来源不真实)

    2、在这个牌库中,每回合从牌库中抽取牌,而抽取牌需要根据当前棋手等级对应一定的搜索概率,例如:6级时----》1¥棋子概率:30%,2¥棋子概率:40%,3¥棋子概率:20%,4¥棋子概率:8%,5¥棋子概率:2%

    此时1¥棋子:13*30*30% =117 ,2¥棋子:14*25*40%=140,3¥棋子:15*20*20%=60,4¥棋子:12*15*8%=14.4,5¥棋子:6*10*8%=4.8,从而得出各个棋子所占权重。

    3、减去玩家手中的牌数,假如一玩家手中有一个三星男枪,那么要从卡牌库所有男枪牌数中减去该玩家场上其他玩家以及待合成区和搜牌区中的男枪数,相当于做了三个减法

    4、从剩余牌数中按照分子除以总数做分母的情况,从而计算出刷新出的牌的各种情况,结果出现五次(五张待选牌)

    5、每回合所有玩家刷新牌是从第一家到最后一家依次刷新,每一次要遍历一下卡牌库和玩家的手中牌以及待选区中牌,并不是所有玩家同时生成,只是遍历时间很短玩家体会不到而已;例如共享英雄阶段,棋子是一个一个刷出而不是一下子全部显示出来,这并不是单纯的为了效果好看

  • 相关阅读:
    IDEA 初次使用,记录心得
    排序算法代码总结-java版
    SpringMVC支持多对象Form Data绑定
    密码安全性检查代码
    PERL/LEX/YACC技术实现文本解析--XML解析
    C代码工具--自动生成enum值和名字映射代码
    再谈CSHELL对C程序员的价值
    怎样设计一个运行日志服务
    Excel里内嵌在线翻译
    EOS -- 一种灵巧的系统运行跟踪模块
  • 原文地址:https://www.cnblogs.com/licongzhuo/p/11498639.html
Copyright © 2011-2022 走看看