大家好 我的名字叫情人。
7月10日,我阅读了Oli
Ollisteka在Habré上有关
codingame.com平台
的 帖子 ,并决定尝试
从事逻辑任务以及“代码与魔术传奇”竞赛。
鉴于大量的空闲时间,我对此资源中存在的难题和任务很感兴趣。 好的是,每个任务,每个难题都会使您寻找解决方案,尽管有时并不明显。

以下是有关比赛规则的简短信息,以及一些对于初学者来说显而易见的信息。
代码与魔术传奇
比赛于7月25日至8月24日举行。 游戏在某些方面类似于《炉石传说》,但是,为了在玩家之间取得平衡,有些事情已经得到改善。
游戏发生在两个玩家之间,这是一个回合制游戏。 每个玩家都有自己的一副纸牌,可以在征战阶段之前的“草稿”阶段从可用选项中选择。
草稿阶段
在选秀阶段,每个玩家组成自己的30张牌。 因此,前30步,每步为玩家提供3张牌的选择,他可以选择其中的一张。
在撰写本文时,游戏中有4种类型的地图:
- 生物本质上是怪物。 它们是玩家的主要资源,可以让他捍卫和攻击敌人。
- 绿色物品。 用于盟友。 提高攻击/防御的价值。 向生物添加能力。
- 红色物品。 用于敌方生物。 减少攻击/防御。 带走能力。 可以立即杀死敌方生物(-99防御)
- 蓝色物品。 这些卡仅在对手上使用。 他们经常夺走生命和敌人,有时补充其主人的健康。
同样在游戏中,生物有6种异能:
- 突破 如果具有此能力的生物造成的伤害大于对手生物的生命值,则剩余伤害将归于对手。 (有用的功能,但如实践所示,很少有人将这些卡用于预期的目的)
- 冲锋 使您可以在触发的同一回合中进行攻击。
(但是,在快速战斗策略中必不可少,但是,几乎所有具有冲锋能力的卡牌都具有较低的攻击/防御值,如果战斗继续进行,失败的可能性就会增加) - 流失 对敌人生物/敌人的攻击可以恢复与攻击相当的生命值。 (Uber功能。所需数量的卡可以使生命值提高到50-70点(从最初的30点提高到该点,但是大多数具有此功能的卡也具有较低的攻击/防御值)
- 守卫 该功能可防止对玩家的直接攻击。 首先,您需要消灭具有此能力的生物(我认为该牌具有最有用的能力。但是,值得考虑的是,某些具有此能力的牌的攻击为零)
- 致命的 消灭攻击的生物。 (通常,带有传单的卡片具有单一防御,这意味着它们最多只能移除一张卡片)
- 病房。 本质上-免受第一次损坏的保护。 第一次攻击后,防御基本上消失了,卡片变得普通。 (这种能力会造成反击,飞行,突破和消耗。但是这张牌并不能保护拥有者不受伤害,因此在其他玩家的策略中我没有看到很多带有守卫的牌)。
在他的牌组中选择卡片后,“草稿”阶段结束。 战斗阶段开始
战斗阶段
在此阶段,主要目标是击败对手,并将其生命值降低到0。
在这种情况下,玩家具有诸如魔法值的参数。 在战斗阶段的第一回合中,魔法值是1。接下来,指示器每增加1点,直到达到最大值12。在召唤生物和使用物品上会消耗法力点。

在每次移动的开始,玩家都会在自己的手和桌子上以及与对手桌子上的牌有关的信息。 根据这些数据,机器人(程序)应创建一个命令行。
收集到的牌组中的每一步都会获得一张随机卡。 如果生命值降低到25、20、15、10或5点,则下一回合将召唤更多的牌。
下一步,对手从副牌中抽出3张牌。通常,如果对手的力量大致相等,则游戏结束约200步,但是我也有240-250步的游戏。 下限大约为80-85,前提是球员没有因使用不正确的球队而犯错。
可能有用的策略
这次比赛与以前的《库图鲁守则》之间的主要区别在于,它是纸牌游戏,并且其中包含机会和运气。
在比赛中,测试了几种策略:
- 一组带有冲锋,飞行和突破的生物,可快速获胜。
- 一组带有守卫的生物,可以最大程度地提高安全性+充值和抽水的牌。
- 带有守卫+绿色和红色卡牌的生物集。
- 一组具有最大攻击/防御能力的生物,指示物的存在+会影响玩家的生命值,或-会影响对手的生命值,然后才取决于其能力。
按照惯例,策略可以分为两类。
快速胜利-生物仅攻击敌人并守护生物(如果有)。
完全胜利-摧毁敌人的生物,如果没有生物,则敌人本人。
现在简要介绍每种策略:
一组充满电荷,致命和突破的生物,可快速获胜
由于机会因素,该策略失败了。 您可以抽出很多需要1-2法力的牌,但起始牌中根本没有。 如果敌人没有与守卫一起召唤单个生物,则该策略仅应用于快速获胜。 在比赛中,我与其他球员(即使是高层球员)也都采用了这种策略,但是通常,如果比赛超过100-120步,他们很快就会输掉比赛。
一组配备守卫的生物,以提供最大的安全性+充放电的卡
快速游戏的最佳策略之一。 卡守卫叫。 如果没有,则充放电。 此策略使您可以有效地消灭敌人的防御者生物并同时保持保护。 在过渡到长时间比赛的情况下,该策略不会失去其力量,因为有些生物具有守卫并且具有较高的攻击/防御指标。
带有守卫+绿色和红色卡牌的生物集。
该策略比以前的策略差,因为物料卡比基本卡更具辅助性。 因此,决定将优先级转移到生物上。
一组具有最大攻击/防御能力的生物
在制定此策略时,他受到机器人老板以及一些玩家的指导。 该策略仅适用于长时间游戏,因为通常在初始移动中没有足够的法术力来召唤。
缺点 以及解决方法
在为最后一个策略编译机器人时,发现如果呼叫团队针对的是由于缺乏法术力而无法召唤的牌,或者针对无法攻击的牌的攻击,则此命令标记为``操作不合法''。 一方面,这是比赛的一项奇妙功能,很少有参与者考虑到攻击期间生物的健康状况或卡片物品的影响,因此,如果所有生物都攻击已经被销毁的卡片,则所有团队都会自动切换为不合法。
但是,有可能一次只创建大量的团队。

从理论上讲,您可以组建一支队伍,用一张卡牌攻击敌人的每个生物,然后攻击敌人本人。 写下SUMMON和ATTACK的所有可能组合。
将要执行的操作将被执行,其余将执行操作是不合法的。
结果
在撰写本文时,我的机器人在铜牌联赛中排名第120位。
并排在950位。 但是,到比赛结束时,我跻身前1000名。
结果适中。 部分原因是参加比赛的初次体验。 玩家评分是根据True Skill算法计算得出的。 根据此算法,一开始先以该联盟中的最佳战绩进行10到20场战斗,根据结果确定表中的起始位置,然后举行等级为±10的战斗,每次胜利都会提高等级,每次失败都会降低等级。 因此,进行了100多次战斗,并确定了表格中的位置。 然后,该机器人继续与将程序发送给处理程序的玩家进行战斗。 因此,您只需在表格中就可以提高评分。 我一次又一次地将算法发送到处理程序,希望能立即成为高手。
等待和准备在
编码竞赛网下一次比赛。 此外,我正在等待游戏进入多人游戏,这将改善我的代码。