代码如下,在SilverFish\SilverFish\ai\Playfield.cs文件中

public void callKid(CardDB.Card c, int zonepos, bool own, bool spawnKid = true, bool oneMoreIsAllowed = false)
{ int allowed = ;
allowed += (oneMoreIsAllowed) ? : ; if (own)
{
if (this.ownMinions.Count >= allowed)
{
if (spawnKid) this.evaluatePenality += ;
else this.evaluatePenality += ;
return;
}
}
else
{
if (this.enemyMinions.Count >= allowed)
{
if (spawnKid) this.evaluatePenality -= ;
else this.evaluatePenality -= ;
return;
}
}
int mobplace = zonepos + ; //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>\n召唤三个1/3并具有<b>嘲讽</b>的恶魔。",

"LocStringEnUs": "[x]<b>Taunt</b>\n <b>Deathrattle:</b> Summon three\n1/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 = ;
allowed += (oneMoreIsAllowed) ? : ; if (own)
{
if (this.ownMinions.Count >= allowed)
{
if (spawnKid) this.evaluatePenality += ;
else this.evaluatePenality += ;
return;
}
}
else
{
if (this.enemyMinions.Count >= allowed)
{
if (spawnKid) this.evaluatePenality -= ;
else this.evaluatePenality -= ;
return;
}
}
int mobplace = zonePosition + ; //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); }

HearthBuddy 召唤随从的问题的更多相关文章

  1. ccf-20160903--炉石传说

    本题思路如下图: 题目和代码如下: 问题描述 试题编号: 201609-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 <炉石传说:魔兽英雄传& ...

  2. CCF2016093炉石传说(C语言版)

    问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示).游戏在一个战斗棋盘上进行 ...

  3. 山东省第七届ACM竞赛 J题 Execution of Paladin (题意啊)

    题意:鱼人是炉石里的一支强大种族,在探险者协会里,圣骑士有了一张新牌,叫亡者归来,效果是召唤本轮游戏中7个已死鱼人.如果死掉的不足7个,那么召唤的数量就会不足7. 鱼人有很多,下面的4个是: 寒光智者 ...

  4. CCF CSP 201609-3 炉石传说

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...

  5. CCF 炉石传说(模拟)

    试题编号: 201612-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Wa ...

  6. ccf-201609-3 炉石传说

    问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示).游戏在一个战斗棋盘上进行 ...

  7. [bzoj4832][Lydsy1704月赛]抵制克苏恩

    题目大意:有一个英雄和若干个所从,克苏恩会攻击$K$次,每次回随机攻击对方的一个人,造成$1$的伤害.现在对方有一名克苏恩,你有一些随从.如果克苏恩攻击了你的一名随从,若这名随从不死且你的随从数量不到 ...

  8. 趣味ACM题——圣骑士的斩杀

    题目来源于山东省第七届ACM大学生程序设计竞赛(Execution of Paladin) 题目描述 鱼人是炉石里的一支强大种族,在探险者协会里,圣骑士有了一张新牌,叫亡者归来,效果是召唤本轮游戏中7 ...

  9. CSP-201609-3 炉石传说

    问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示).游戏在一个战斗棋盘上进行 ...

随机推荐

  1. Microsoft Internet Explorer v11 XML External Entity Injection 0day

    [+] Credits: John Page (aka hyp3rlinx) [+] Website: hyp3rlinx.altervista.org[+] Source:  http://hyp3 ...

  2. 从graphql endpoint获取schema文件

    graphql server端有更新,client端需要重新获取schema文件用于创建新的api request,下面简要记录如何从graphql endpoint获取schema文件 You ca ...

  3. SAP Kyma(Extension Factory on SAP Cloud Platform)的架构简介

    SAP kyma主要分三大块组成: (1) Application connector simplify and securely connect external systems to Kyma a ...

  4. ORA-3136 问题处理

    Alert 日志报错: Wed May :: *********************************************************************** Fatal ...

  5. nginx环境依赖

    安装nginx所必需的的依赖环境 yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install zlib z ...

  6. 网络编程基础之TCP编程学习(一)

    网络编程基础了解 socket套接字 socket是一种通讯机制,它包含一整套的调用接口和数据结构的定义,他给应用程序提供了使用如TCP/UDP等网络通讯的手段. linux中的网络编程通过socke ...

  7. 向量的一种特殊乘法 element wise multiplication

    向量的一种特殊乘法 element wise multiplication 物体反射颜色的计算采用这样的模型: vec3 reflectionColor = objColor * lightColor ...

  8. 测试某网站的SMS验证码

    to=18911121211&sms_type=sms_registration&captcha_num=9JCMw4yN5EjI6ISYoNGdwF2YiwiIw5WNwlmb3xm ...

  9. Service Broker 消息队列的方式实现数据同步

    SQL Server 2008中SQL应用系列--目录索引 导读:本文主要涉及Service Broker的基本概念及建立一个Service Broker应用程序的基本步骤. 一.前言: Servic ...

  10. django考点

    django考点 1 列举Http请求中常见的请求方式2 谈谈你对HTTP协议的认识.1.1 长连接3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈 ...