同步操作将从 Eiden/hearthstone 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
这是用Java语言实现的游戏--炉石传说
模块 | 介绍 | 功能描述 |
---|---|---|
hearth-core | 核心模块 | 整个游戏的架构,接口 |
hearth-card | 卡牌模块 | 游戏的卡牌各种具体实现 |
hearth-control | 控制器模块 | 游戏的测试启动和控制器,目前只能以文字的交互形式启动 |
card-generator | 卡牌生成器 | 从暴雪的卡牌数据库中生成对应的java类 |
下载完后解压到你想安装的目录下
首次启动请运行 cqa.exe
或 cqp.exe
, 并登陆机器人的 QQ 号
然后退出 酷Q (右键悬浮窗点退出)
把 .cpk
文件下载下来, 放进 酷Q安装目录\app
文件夹里
启动 酷Q
右键悬浮窗, 然后点击 应用 -> 应用管理
列表里现在应该有 [未启用] HTTP API
, 点击它, 点击启用
启用的时候会提示需要一些敏感权限, 选择继续
启用之后在 酷Q安装目录\app
文件夹里会出现 io.github.richardchien.coolqhttpapi
文件夹
退出 酷Q
在 io.github.richardchien.coolqhttpapi
文件夹里创建一个文件名为 config.cfg
的配置文件
并在其中写入以下代码
[general]
host=0.0.0.0
port=接收端口
post_url=http://127.0.0.1:发送端口
enable_backward_compatibility=false
把发送端口和接收端口改成你的机器人程序里用的端口 (测试机器人的接收为31091
, 发送31092
)
注意: 酷Q 配置里的发送端口
要和传进 Picq 的接收端口
一样, 然后 Picq 的发送端口
也要和 酷Q 的接收端口
一样!
( 这是因为 酷Q 需要发送到 Picq 的接收端口去, 而不是发送到对方的发送端口ww )
如果 酷Q 要和你的机器人程序分开运行的话, 请把127.0.0.1
改成你的机器人部署的服务器的地址
保存配置文件
在【hearth-card】模块中使用搜索功能找到你要实现的卡牌 (例如,我想实现卡牌【阿莱克丝塔萨】)
如果存在多个结果,则选择对应拓展包内的卡牌类(【阿莱克丝塔萨】在经典包,经典包的包名为【expert1】)
复制这个类,在cn/eiden/hsm/game/card目录中找到对应的扩展包和职业(【阿莱克丝塔萨】是经典包的中立随从对应的包名为【classic.neutral】)
在这个包中创建一个新类继承自上一步的类,新的类名一般在前面得类后面加Card
public class AlexstraszaCard extends Alexstrasza {
}
如果这张卡牌在打出时需要选择目标(炉石传说中的卡牌只有选择一个目标和不需要选择目标两种)则需要在类头加入注解@TargetScope
需要注意的是,有些卡牌可以选择全部目标(敌/我)(随从/英雄) 如火球术
有些卡牌则只能选择敌方目标,如横扫
示例中只能以双方英雄为目标则给注解添加以下属性
灵活使用TargetScope注解
@TargetScope(classScope = HeroMinion.class)
public class AlexstraszaCard extends Alexstrasza {
}
战吼随从重写selfBattleCry方法,返回一个战吼接口的实现
@TargetScope(classScope = HeroMinion.class)
public class AlexstraszaCard extends Alexstrasza {
/**
* "<b>战吼:</b>\n"
* + "将一方英雄的剩余生命值变为15。"
*/
@Override
protected Battle selfBattleCry() {
return (e,t) -> t.setHealth(15);
}
}
完成!一张新的卡牌特效成功实现
其他卡牌则参考项目中已经实现的其他卡牌
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。