猜数字 智能提示版Q10 E03
概要
相对 E02,这版本会在用户猜错的时候,给出更多的提示
程序输出 2A2B 代表有 两个数字在这个位置上是对的,有两个数是对的,但是位置错了
解释
比如 如果谜底是 1234,用户猜 3634,那么计算机应该提示 2A1B
我们需要使用用户的猜测 跟 谜底做比对。
3 相比 1234,有 3,但位置不对,贡献一个 1B 6 相比 1234,没有匹配的 3 相比 1234,有 3,且位置正确,贡献一个 1A 4 相比 1234,有 4,且位置正确,贡献一个 1A 所以最后是 2A1B
流程
程序 生成谜底
用户 猜测值
程序 匹配 猜测值 和 谜底
如果一样就说成功,
否则 给用户提示精准度,然后让用户继续猜
样例
假设谜底是 3456
< 开始猜吧 > 1234 < 0A2B > 3434 < 2A1B > 3456 < 对了
额外挑战
节能显示
显示 几A 几B 时,如果某部分为 0,则不显示该部分
< 开始猜吧 > 1234 < 2B > 3434 < 2A1B > 3456 < 对了
谜底数字单一
生成的谜底必须没有重复的数字
0572 是合法的
0057 就需要重新生成谜底