找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 166|回复: 0

中A project:Finger

[复制链接]

26

主题

78

回帖

3059

积分

超级版主

积分
3059
发表于 7 天前 | 显示全部楼层 |阅读模式


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函数

count_finger函数实际就是“数手指、判断胜负”,输入参数为pNum和cNum。要求用课堂讲解的石头剪子布的“同余模型”来判断胜负。
pNum, cNum变量一样,数学模型也一样,因此if语句写出来应该基本差不多。
注意判断胜负后不需要print,而是按照注释所写retrun不同内容

首先请把finger.zip解压缩在本地硬盘,然后一定注意自己的Python程序文件也要在\\finger文件夹里,这一点请严格注意!
因为如果finger.py文件不在\\finger文件夹内,运行后就找不到资源文件会报错,比如图片和font文件。
finger.zip里包含以下文件:
  background.jpg     游戏底图
  simkay.ttf             楷体字font文件
  LFinger0~4.bmp   左手手指图片
  RFinger0~4.bmp   右手手指图片

这是V1.0的代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RealDevClub ( 沪ICP备2024093864号-1 )

GMT+8, 10-4-2025 05:23 , Processed in 0.063173 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表