代码如下,在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. spring-security配置和原理简介

    SpringSecurity3的核心类有三种 1.URL过滤器或方法拦截器:用来拦截URL或者方法资源对其进行验证,其抽象基类为AbstractSecurityInterceptor 2.资源权限获取 ...

  2. .Net IOC 框架

    CastleWindsor 参见:CastleWindsor | .Net IOC 框架 AutoFace 参见:AutoFace | .Net IOC 框架 Unity 参见:Unity | .Ne ...

  3. synchronized 和 Lock 有什么区别?(未完成)

    synchronized 和 Lock 有什么区别?(未完成)

  4. Spotlights【思维+前缀和优化】

    https://blog.csdn.net/mengxiang000000/article/details/53291883   原博客地址 http://codeforces.com/group/1 ...

  5. Sonya and Exhibition

    http://codeforces.com/group/1EzrFFyOc0/contest/1004/problem/B #include<iostream> #include<c ...

  6. TensorFlow utils

    1. def model_stats(): print("============================================================" ...

  7. 【转】go里面字符串转成 字节slice, 字节slice转成字符串

    原文: https://yourbasic.org/golang/convert-string-to-byte-slice/#convert-string-to-bytes ------------- ...

  8. 使用 EasyExcel 读取Excel(两种方式)

    引入 jar 包 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel&l ...

  9. 02_已解决 [salt.minion :1758][ERROR ][52886] Returner mysql.returner could not be loaded: 'mysql' __virtual__ returned False: Could not import mysql returner; mysql python client is not installed.

    总结:python2.7下的salt,要把 mysql-python也安装,并不是python3环境,看清,看清 Returners组件,master自动把值写入mysql数据库中,出现的问题 1.本 ...

  10. ArrayBuffer、TypedArray、DataView二进制数组

    三个是处理二进制数据的接口.都是类数组. 1.ArrayBuffer是什么? ArrayBuffer是一个二进制对象(文件,图片等).它指向固定长度的,连续的内存区域. const buffer = ...