Discord数字猜谜机器人如何存储猜错数字实现动态数字行展示逻辑
Discord猜数字机器人错误猜测记录修复方案
核心思路
为每局活跃的猜谜游戏单独维护一个去重的错误猜测存储结构,所有历史猜错的数字都会被持久化保存在该结构中,生成提示行时遍历比对所有历史记录即可。
具体实现步骤
- 游戏初始化时,在游戏实例的存储字段中新增
wrongGuesses = new Set(),Set结构会自动对重复输入的错误数字去重,避免冗余记录。 - 收到用户猜测的数字后,如果判断为猜错,直接将该数字添加到
wrongGuesses中:wrongGuesses.add(用户猜测的数字) - 生成数字提示行时,遍历1-10的所有数字,逐一判断是否存在于
wrongGuesses中:存在则展示数字本身,不存在则展示占位符_,最终拼接为完整提示行。
提示行生成代码示例
function buildGuessHint(wrongGuesses) { const hintArr = [] for (let num = 1; num <= 10; num++) { hintArr.push(wrongGuesses.has(num) ? num : '_') } return hintArr.join(' ') } // 示例效果:wrongGuesses包含1、4、5、7时,输出为 "1 _ _ 4 5 _ 7 _ _ _"
注意事项
如果你的机器人同时支持多局并行猜谜,需要保证每局游戏的wrongGuesses是独立存储的,不要出现跨游戏的数据串用问题。
内容的提问来源于stack exchange,提问作者kasprg
相关产品推荐
相关产品推荐

