最近一段时间,我感觉自己大脑出现了衰退的症状,说话口误逐渐增多,也常常忘记事情。
前两天在 B 站上看到一个两人玩的小游戏,叫做 “珠玑棋” ,发现这对锻炼大脑有一些好处。无奈找不到人一起玩,于是我决定用 Python 写一个简单的程序来自己玩。
游戏规则
珠玑棋的规则非常简单。它分为两方:攻击方和防守方。具体流程如下:
-
防守方写一个4位数字,每位数字不能重复
-
攻击方有10次猜测的机会,在每次机会里面,攻击方可以说出一个4位数,让防守方检查。
-
定义两个字母 A 和 B
-
攻击方说出的4位数里面,每有任何一位或者多位的数字和位置都对,则 A+1。例如防守方的答案是1234,攻击方的答案是6274,那么就是2A
-
在第4步检查以后,如果攻击方剩下的数字里面,有一位或者多位数字,在防守方剩下的数字里面,但位置不对,则 B+1。例如防守方的数字是1234,攻击方的数字是4190,就是2B。
-
防守方给出 A 和 B 的值,攻击方根据这两个值修正自己的猜测数。如果10次内猜对了,那么攻击方胜利。如果超过10次都猜不对,则防守方胜利。
-
特别说明,在匹配数字的时候,首先检查数字和位置都对的情况。检查完成以后,再检查数字对位置不对的情况。并且这个时候,是攻击方的剩余数字从左至右依次到防守方的剩余数字中检查。每检查一个数字,就把这个数字从攻击方和防守方的数字里面同时剔除。所以对于防守方的数字