zoukankan      html  css  js  c++  java
  • HearthBuddy 召唤随从的问题

    代码如下,在SilverFishSilverFishaiPlayfield.cs文件中

    public void callKid(CardDB.Card c, int zonepos, bool own, bool spawnKid = true, bool oneMoreIsAllowed = false)
            {
                
                int allowed = 7;
                allowed += (oneMoreIsAllowed) ? 1 : 0;
    
                if (own)
                {
                    if (this.ownMinions.Count >= allowed)
                    {
                        if (spawnKid) this.evaluatePenality += 10;
                        else this.evaluatePenality += 20;
                        return;
                    }
                }
                else
                {
                    if (this.enemyMinions.Count >= allowed)
                    {
                        if (spawnKid) this.evaluatePenality -= 10;
                        else this.evaluatePenality -= 20;
                        return;
                    }
                }
                int mobplace = zonepos + 1;
    
                //create minion (+triggers)
                Handmanager.Handcard hc = new Handmanager.Handcard(c) { entity = this.getNextEntity() };
                Minion m = createNewMinion(hc, mobplace, own);
                //put it on battle field (+triggers)
                addMinionToBattlefield(m);
    
            }

    虚空领主为例子

    Voidlord
    虚空领主
    {
    "Entity": {
    "CardId": "LOOT_368",

         "LocStringZhCn": "<b>嘲讽,亡语:</b> 召唤三个1/3并具有<b>嘲讽</b>的恶魔。",

        "LocStringEnUs": "[x]<b>Taunt</b> <b>Deathrattle:</b> Summon three 1/3 Demons with <b>Taunt</b>.",

    情况分析,

    假如场上已经有7个随从了,那么虚空领主死亡,只能召唤1个随从。

    假如场上已经有6个随从了,那么虚空领主死亡,只能召唤2个随从。

    假如场上已经有5个或者更少的随从,那么虚空领主死亡,可以召唤3个随从。

    虚空领主的simulation实现在github上

    https://github.com/ChuckHearthBuddy/SilverFish/blob/master/SilverFish/cards/LOOT/Sim_LOOT_368.cs

    另外,CallKid函数需要加上注释

    /// <summary>
            /// 
            /// </summary>
            /// <param name="card"></param>
            /// <param name="zonePosition"></param>
            /// <param name="own"></param>
            /// <param name="spawnKid">call kid triggered by another minion</param>
            /// <param name="oneMoreIsAllowed">for deathrattle minion to call kid(such as Voidlord)</param>
            public void CallKid(CardDB.Card card, int zonePosition, bool own, bool spawnKid = true, bool oneMoreIsAllowed = false)
            {
                
                int allowed = 7;
                allowed += (oneMoreIsAllowed) ? 1 : 0;
    
                if (own)
                {
                    if (this.ownMinions.Count >= allowed)
                    {
                        if (spawnKid) this.evaluatePenality += 10;
                        else this.evaluatePenality += 20;
                        return;
                    }
                }
                else
                {
                    if (this.enemyMinions.Count >= allowed)
                    {
                        if (spawnKid) this.evaluatePenality -= 10;
                        else this.evaluatePenality -= 20;
                        return;
                    }
                }
                int mobplace = zonePosition + 1;
    
                //create minion (+triggers)
                Handmanager.Handcard hc = new Handmanager.Handcard(card)
                {
                    entity = this.getNextEntity()
                };
                Minion m = createNewMinion(hc, mobplace, own);
                //put it on battle field (+triggers)
                addMinionToBattlefield(m);
    
            }
  • 相关阅读:
    [转]window.location方法获取URL及window.location.assign(url)和replace(url)区别
    [转]JQuery实现图片轮播效果
    [转]MVC Checkbox
    [转]VS2010类模板更改,增加版权等等信息
    [转]【译】详解Asp.net MVC DropDownLists
    [转]JQuery.Ajax之错误调试帮助信息
    设置Html.TextBoxFor的Value值 及 去除数字无效的零及小数点
    [转]使用RDLC报表(1) (4)
    [转]ASP.NET MVC 2 模板化辅助方法
    [转]jquery实现图片延时加载
  • 原文地址:https://www.cnblogs.com/chucklu/p/11440291.html
Copyright © 2011-2022 走看看