HearthBuddy 召唤随从的问题
代码如下,在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 召唤随从的问题的更多相关文章
- ccf-20160903--炉石传说
本题思路如下图: 题目和代码如下: 问题描述 试题编号: 201609-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 <炉石传说:魔兽英雄传& ...
- CCF2016093炉石传说(C语言版)
问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示).游戏在一个战斗棋盘上进行 ...
- 山东省第七届ACM竞赛 J题 Execution of Paladin (题意啊)
题意:鱼人是炉石里的一支强大种族,在探险者协会里,圣骑士有了一张新牌,叫亡者归来,效果是召唤本轮游戏中7个已死鱼人.如果死掉的不足7个,那么召唤的数量就会不足7. 鱼人有很多,下面的4个是: 寒光智者 ...
- CCF CSP 201609-3 炉石传说
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...
- CCF 炉石传说(模拟)
试题编号: 201612-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Wa ...
- ccf-201609-3 炉石传说
问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示).游戏在一个战斗棋盘上进行 ...
- [bzoj4832][Lydsy1704月赛]抵制克苏恩
题目大意:有一个英雄和若干个所从,克苏恩会攻击$K$次,每次回随机攻击对方的一个人,造成$1$的伤害.现在对方有一名克苏恩,你有一些随从.如果克苏恩攻击了你的一名随从,若这名随从不死且你的随从数量不到 ...
- 趣味ACM题——圣骑士的斩杀
题目来源于山东省第七届ACM大学生程序设计竞赛(Execution of Paladin) 题目描述 鱼人是炉石里的一支强大种族,在探险者协会里,圣骑士有了一张新牌,叫亡者归来,效果是召唤本轮游戏中7 ...
- CSP-201609-3 炉石传说
问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示).游戏在一个战斗棋盘上进行 ...
随机推荐
- javascript经常用到的函数
trim函数: trim() lTrim() rTrim()校验字符串是否为空: checkIsNotEmpty(str ...
- 【Hibernate】检索方式
一.概述 二.HQL 2.1 简介 2.2 查询所有记录 2.3 查询使用别名 2.4 排序 2.5 分页查询 2.6 单个对象查询 2.7 参数绑定 2.8 投影操作 2.9 模糊查询 2.10 S ...
- C#中两个List<TModel>中根据指定条件--判断并获取不同数据的数据集合2
方式一:Linq List<Test> list = new List<Test>(); list.Add(new Test { score = 10, name = &quo ...
- Subordinates(贪心)
题目大意: 一共有N个员工,其中最高领导人是编号s的人,每个人都只有一个直接领导,每个人都说出了自己领导的个数,问最少有几个人撒谎了. 思路: 合理的贪心是该把排最后的数变成缺少的数字,然后继续判断. ...
- conda create 报错解决
1. 输入命令: conda create -n query-scorer-serving python=2.7 报错: Solving environment: failed CondaError: ...
- Java并发包--LinkedBlockQueue
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3503458.html LinkedBlockingQueue介绍 LinkedBlockingQueue ...
- 25-SQLServer中的DMV和DMF的使用
一.总结 1.什么事DMV和DMFDMV(Dynamic Management View):动态管理视图DMF(Dynamic Management Function):动态管理函数 二.操作步骤 1 ...
- 使用selenium实现站长素材图片采集
from selenium import webdriver import requests,os from lxml import etree from selenium.webdriver.chr ...
- 001_FreeRTOS中断配置
(一)优先级看:022_STM32中断优先级分组解析 (二)FreeRTOS的中断配置中没有处理亚优先级(响应优先级)的情况,所以只能配置成组4,16个都为抢占优先级 (三)此宏用来设置 MCU 使用 ...
- Proxy详解
一.Proxy基础 1. 什么是Proxy? Proxy是一个构造函数,可以通过它生成一个Proxy实例. const proxy = new Proxy(target, handler); // t ...