酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

使用JavaScript,给我写一个三国杀技能代码,克己:当你失去一张手牌后,你摸五张牌。 只需要这个描述的代码不需要多余的东西。

```javascript // 定义克己技能 const keJi = { name: "克己", description: "当你失去一张手牌后,你摸五张牌", onLoseCard: function(player) { // 失去手牌时触发 player.drawCards(5); // 摸五张牌 console.log(`${player.name} 发动【克己】,摸了5张牌`); } }; // 玩家类示例 class Player { constructor(name) { this.name = name; this.handCards = []; this.skills = []; } // 添加技能 addSkill(skill) { this.skills.push(skill); } // 失去手牌 loseCard() { this.handCards.pop(); // 模拟失去一张手牌 // 检查是否有克己技能并触发 const keJiSkill = this.skills.find(s => s.name === "克己"); if (keJiSkill) { keJiSkill.onLoseCard(this); } } // 摸牌 drawCards(count) { for (let i = 0; i < count; i++) { this.handCards.push("牌" + i); // 模拟摸牌 } } } // 使用示例 const player = new Player("玩家1"); player.addSkill(keJi); player.drawCards(2); // 初始手牌 console.log(player.handCards); // 查看手牌 player.loseCard(); // 失去一张牌会触发克己 console.log(player.handCards); // 查看发动技能后的手牌 ``` 三条额外需要注意的逻辑点: 1. 失去手牌的条件需要明确,当前代码用pop()简单模拟 2. 摸牌需要判断牌堆剩余牌数,避免超出 3. 技能触发时机可能需要更精确的控制,比如响应阶段 [2025-04-13 16:06:00 | AI写代码神器 | 416点数解答]

相关提问