Finger游戏可以看作是“石头剪子布”的升级版。
石头剪子布是绕圈胜负模型:石头 KO 剪刀,剪刀 KO 布,布 KO 石头。
Finger也是绕圈胜负数学模型:大拇指压食指...无名指压小指头,小指又压大拇指。按照规则,相邻的手指才有胜负,出招一样,或不相邻,都算平局。
在程序代码里,按数字键12345代表从大拇指、食指到小指的5个指头,然后产生的pNum = event.key - ord('1'),实际就是1~5的ASCII码减去1的ASCII码,那么就得到0~4这5个数字。
参考上图
左边是石头剪子布的“绕圈胜负”的pNum VS cNum示意图,3个出招cycle=3
右边是Finger的“绕圈胜负”的pNum VS cNum示意图,5个出招cycle=5
作业首先要求输入并调试代码(在本贴最后),然后补全count_finger函数