码迷,mamicode.com
首页 > 其他好文 > 详细

闲来无视写的关于炉石的测试小程序

时间:2014-07-16 18:52:45      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:winform   blog   http   数据   2014   for   

最近半年都在忙项目,基本无时间研究技术了,而且不断发现,项目中遇到的问题大多都是业务层面的,技术很多时候不是瓶颈,所以很少研究技术了。

这个是一个测试炉石传说中25仔的轰炸效果界面,我设计的情景是对面的脸还有2血,自己也是2血,对面一个3/2精灵龙,一个0/1的鲜血小鬼;此时派上25仔随机3点伤害,测试人品如何。。。

 

bubuko.com,布布扣

 

核心思路:ui(winform)端,向helper类传入定义好的类,BoomRequest,其中包含了一个字典,key代表每个元素(自己的脸,对手的脸,场上的生物等),value是int类型,代表当前各个元素的血量。helper根据当前还存活的生物数量来随机一个索引,然后把对应索引的生物血量减少,返回计算好的response,最后ui端进行展示;

这里的总体概况就是,每次轰炸实际上是单独计算的,也就是说,每随机一次,炸一次;炉石中25仔的技能是随机3点,因此ui端就是调用三次helper中的相关方法;

public static BoomResponse Boom(BoomRequest request)
        {
            Random random = new Random(System.DateTime.Now.Millisecond);
            StringBuilder sb = new StringBuilder();
            int boomIndex = 0;
            string boomObject = string.Empty;
            BoomResponse response = new BoomResponse();
            Dictionary<int, string> dic = new Dictionary<int, string>();
            int i = 1;
            foreach (KeyValuePair<string, int> key in request.RequsetData)
            {
                if (key.Value > 0)
                {
                    dic.Add(i, key.Key);

                    i++;
                }
            }
            boomIndex = random.Next(1, dic.Count+1);
            boomObject = dic[boomIndex];
            request.RequsetData[boomObject] = request.RequsetData[boomObject] - 1;
            sb.Append(string.Format("{0} 的炸弹击中了 {1},造成了一点伤害", "25仔", boomObject));

            response.BattleLog = sb;
            response.ResponseData = request.RequsetData;
            return response;
        }

  我最后在前端循环了大量数据进行测试,结果和之前预想的差不多:

情况1:把对面生物都炸死的情况非常少,1w次中只有大概不到60次左右;

情况2:把对手打死,2000次左右

情况3:自己炸死,2000次左右

情况4:分别打中了对手生物且都没打死的可能也不大,只出现了不到300次左右,但是比情况1要多

情况5:剩余情况,出现的最多,5000多次,自己和对手都没死,且生物没死光(可能存活其中一个)

不知道暴雪是怎么算的呢?

闲来无视写的关于炉石的测试小程序,布布扣,bubuko.com

闲来无视写的关于炉石的测试小程序

标签:winform   blog   http   数据   2014   for   

原文地址:http://www.cnblogs.com/mixls1234/p/3845109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!