最新要闻
- 女子称网购八喜冰淇淋发现少10g:客服赔付了500元
- 腾讯视频VIP年卡+京东PLUS年卡 双会员仅138元
- 17万买纯电7座 2024款AION V Plus上市:更有AI的家庭SUV 每日资讯
- 环球速看:百公里油耗仅需6.1L !全新问界m5曝光:或售价25万起
- 天天日报丨决战暑期档!国产航空大片《长空之王》密钥再次延期:王一博主演
- 超越姚明!16岁女篮小将身高已达2米27 山东女篮主力 单场曾砍62分
- 国产显卡第一次!摩尔线程发布DX11社区版驱动 能玩5款游戏_世界聚焦
- 全球观焦点:价格跌倒iPhone吃饱!被群嘲的苹果竟成为618销冠
- 不再依赖进口锂矿 两款钠离子电池电动车来了:成本便宜30%
- 精彩看点:中消协出手:反对扫码强制关注公众号 全国范围可举报
- 学生自掏30万拍作品:因获三等奖嫌低拒绝领奖_热文
- 号称性能最强轻薄掌机:AYANEO预热新AMD 7840U处理器掌机_天天即时看
- 210元大额券:礼盒装红蜻蜓男士真皮自动皮带49元大促_环球新资讯
- 还买啥RTX 3060 英特尔A770 16GB显卡1779元
- 科学家警告:用AI生成内容训练AI 几代内将产生“垃圾”
- 《暗黑破坏神4》官方晒自定义RTX4080显卡 莉莉丝雕塑逼真吗?
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
用Python写了一个「拥抱梅西」的小游戏
大家好,欢迎来到 Crossin的编程教室 !
最近有个小伙儿因为在比赛中冲进场地拥抱梅西而出名了。
这种行为当然不可取,他也为此付出了代价。但要说我没有一丁点羡慕和佩服那是不可能的。
(资料图)
于是,我也尬蹭一下这个热点,用Python写了一个「拥抱梅西」的小游戏。
游戏效果是这样的:
游戏规则很简单:
不要被拦截的工作人员追上
抱到梅西(接触一定时长)
定时会增加拦截的工作人员
可以反复拥抱
被追上后游戏结束,显示坚持的时间和拥抱的次数
代码已上传,获取请访问:python666.cn/c/9
运行说明
代码使用了游戏框架pygame-zero进行开发。之前我们也有发过基于这个框架的游戏:
羊了个羊,但是Python简(li)单(pu)版
如果你对于此框架还不熟悉,可以看下这篇介绍:
PONG - 100行代码写一个弹球游戏
因此运行代码前需先安装模块:
pipinstallpgzero
用此框架代码看起来与一般代码稍有不同,它更像一个配置脚本,其中会出现很多未定义的方法和变量,因此在很多编辑器里会提示有错,但其实是可以运行的,无需手动增加 import。这也是为什么你会看到我视频里的代码截图有大量的下划线。
pgzero有两种方式运行,一种是通过命令行的 pgzrun 命令;另一种是直接在编辑器中运行。参见官方文档:
https://pygame-zero.readthedocs.io/zh_CN/latest/ide-mode.html
本代码用的是第二种直接运行的方式(需新版pgzero),可直接在IDE中执行。
有部分读者反馈此代码在spyder等一些编辑器中无法运行,类似情况可以尝试第一种传统方法,即把最后一行代码 pgzrun.go() 去掉,然后直接在命令行该目录下运行:
pgzruniMessi.py
代码简介
如果你对代码的核心逻辑其实比较容易理解。
对于「玩家」来说,就是根据上下左右按键,变换位置坐标;
对于「工作人员」来说,就是根据自身和玩家的相对位置算出移动的方向,不断靠近,如果碰上了就游戏结束
对于「梅西」来说,就是判断是否与玩家碰上,并记录碰上的持续时间
判断是否“碰上”很简单,就是计算一下两个坐标的距离是否小于一定值。
至于角色的移动,粗略的做法是,计算出x轴方向和y轴方向上的速度,然后在update函数中,将原坐标位置加上速度值,得到新的坐标位置。
但在我这次的代码中,为了让跑动更“丝滑”,没有选择直接改变速度,而是根据玩家的按键计算出加速度,然后在update函数中,将原速度值加上加速度值,得到新的速度,再用新的速度去计算新的坐标位置。
# 加速self.speedx += self.fx * self.accself.speedy += self.fy * self.acc# 限制最高速度d = (self.speedx**2 + self.speedy**2)**0.5 / self.speed_maxif d > 1: self.speedx /= d self.speedy /= d# 更新坐标self.x += self.speedxself.y += self.speedy
有了这样的设定之后,还有个好处就是可以增加游戏的可玩性,比如你可以设定一种最高速度比玩家快,但是加速度比较小的「工作人员」,玩家就需要通过不停地变换方向来摆脱。
代码中另一个比较复杂的地方是“转向”的细节处理。同样为了更加丝滑,我没有选择直接根据计算出的方向来改变角色贴图方向,而是将计算出的方向作为“目标方向”,然后根据角色当前实际方向与目标方向的偏差,决定是向顺时针还是逆时针方向旋转,直到两个方向小于一定阈值。
# 跑动方向if keyboard.left: self.fx = -1elif keyboard.right: self.fx = 1else: self.fx = 0if keyboard.up: self.fy = -1elif keyboard.down: self.fy = 1else: self.fy = 0# 计算目标方向角度directs = ((135, 180, -135), (90, None, -90), (45, 0, -45))direct = directs[self.fx + 1][self.fy + 1]if direct is None: self.angle_dest = self.angleelse: self.angle_dest = direct # 贴图旋转if abs(self.angle - self.angle_dest) < 5 or abs(self.angle - self.angle_dest) > 355: self.angle = self.angle_destelse: if (0 < self.angle - self.angle_dest < 180) or ( self.angle - self.angle_dest < -180): self.angle -= 500 * dt else: self.angle += 500 * dt
这段会牵扯一点初中几何的知识,想要理清的话建议在纸上画一画。
最后,是关于这个游戏的一个小视频,给大家图一乐:
欢迎大家关注+三连~
代码已上传,获取请访问:python666.cn/c/9
关键词:
用Python写了一个「拥抱梅西」的小游戏
天天时讯:证监会:券商应规范开立综合账户 加强异常交易监测
女子称网购八喜冰淇淋发现少10g:客服赔付了500元
腾讯视频VIP年卡+京东PLUS年卡 双会员仅138元
17万买纯电7座 2024款AION V Plus上市:更有AI的家庭SUV 每日资讯
环球速看:百公里油耗仅需6.1L !全新问界m5曝光:或售价25万起
期望误差和经验误差的关系——期望误差上界
【焦点热闻】使用python对AWS-CloudTrail-Json-日志文件key字段名称的提取
天天日报丨决战暑期档!国产航空大片《长空之王》密钥再次延期:王一博主演
超越姚明!16岁女篮小将身高已达2米27 山东女篮主力 单场曾砍62分
国产显卡第一次!摩尔线程发布DX11社区版驱动 能玩5款游戏_世界聚焦
全球观焦点:价格跌倒iPhone吃饱!被群嘲的苹果竟成为618销冠
不再依赖进口锂矿 两款钠离子电池电动车来了:成本便宜30%
天天快消息!记录--前端实现文件预览(pdf、excel、word、图片)
InnoDB 内存结构之更改缓冲区 环球新消息
Springboot web,三层架构, IOC&DI 使用总结2023 关注
快讯 | ShowMeBug入选人力资源智享会《TPG红宝书》 观热点
精彩看点:中消协出手:反对扫码强制关注公众号 全国范围可举报
学生自掏30万拍作品:因获三等奖嫌低拒绝领奖_热文
号称性能最强轻薄掌机:AYANEO预热新AMD 7840U处理器掌机_天天即时看
210元大额券:礼盒装红蜻蜓男士真皮自动皮带49元大促_环球新资讯
还买啥RTX 3060 英特尔A770 16GB显卡1779元
热推荐:史上最全Hadoop面试题:尼恩大数据面试宝典专题1
kafka的学习之一_带SASL鉴权的集群安装与启动
全球今日讯!债市日报:6月20日
科学家警告:用AI生成内容训练AI 几代内将产生“垃圾”
《暗黑破坏神4》官方晒自定义RTX4080显卡 莉莉丝雕塑逼真吗?
微头条丨毕业典礼上学生帽穗丢了:老师无实物拨穗
环球热门:高考后考生特种兵式出游有多拼?准大学生凌晨2点坐飞机五天游五城
采用模块化可拆卸设计:Fairphone 5手机承诺提供5年保修
Python工具箱系列(三十六) 全球资讯
华为云GaussDB为MetaERP“成本核算”产品“保驾护航” 天天观热点
【经验贴】多项目并行,如何解决资源管理这个难点? 热闻
这里的工业为何跑出“加速度”?——福建宁德工业企业一线观察|每日焦点
世界观焦点:被曝脏乱粽子厂曾中标学校配餐项目 卫生脏乱粽子厂抽检曾发现问题
环球今日讯!高考生们看过来!“2023年高考网上咨询周”时间安排公布
当前视点!高速停车致三车追尾自己却溜了 驾驶员称跟自己没关系 被判全责
无毒无污染、更完美!长征六号火箭第11次成功发射|焦点速读
今日热文:手机为何不再使用可拆卸电池?原因揭开
天涯社区苦等“救命钱”!重启天涯宣布再开直播:筹款还是300万|快消息
LPR利率下调10个基点,如何影响你的房贷利率? 播报
世界速讯:以梦为码 自主创新 | 华为云开发者日成都站圆满举行!
ElasticSearch安装与使用-每日视点
天天信息:全国铁路7月1日起实行新的列车运行图 客、货列车分别增加46列和394列
每日消息!中方在世贸组织提交贸易与环境政策相关提案
家居巨头宜家引入AI:下一代沙发将由人工智能设计
华硕Zenfone 10外观首曝:二代骁龙8小屏旗舰
地表最强RTX 4090!索泰RTX 4090 PGF显卡图赏 世界简讯
广州新规:快递入柜需收件人同意 虚假签收最高可罚三万!
天天信息:长虹发布全球首款多模态交互电视:不管说什么都能听懂
天天速读:南方强降雨频繁有致灾风险 北方高温明起再登场
微动态丨标准IO使用复习
视讯!ABAQUS 模拟过盈配合解决材料选择及公差带设计等问题
全球观察:maven 使用总结2023
人民银行合肥中心支行联合交易商协会举办债务融资工具业务培训|环球滚动
货币宽松抬升经济复苏放缓预期 日债收益率曲线延续趋陡-快讯
每日热闻!英亿万富翁探索泰坦尼克号残骸 现已失联超24小时!
售价超20万元 AMD最贵显卡MI300X诞生:192GB显存史无前例
今日聚焦!雷军武汉大学演讲:36年前教授这句话打通我任督二脉
一天两瓶喝不够:认养一头牛酸/纯奶30盒79.9元抄底(50元立减券)_今日热文
原装进口!雀巢黑咖啡官旗大促:券后每杯仅需0.6元|天天热点
最新快讯!新干县气象台发布雷电黄色预警信号【III级/较重】【2023-06-20】
Apache Superset 身份认证绕过漏洞(CVE-2023-27524)
关于IEnumerable和IQuerable之间的区别 全球通讯
java~二进制补码的用途|世界新消息
中国广电5G悲催的第一年:信号差 销户难
智能驾驶将进入大模型时代!理想发布通勤NOA内测视频 可自主学习
第一款ITX A620终于出现!最便宜的AMD迷你小板 热门
鸡蛋壳难剥是鸡蛋放的久了吗 为什么鸡蛋的壳很难剥 天天新动态
统信UOS系统开发笔记(五):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
强化学习从基础到进阶-常见问题和面试必知必答[2]:马尔科夫决策、贝尔曼方程、动态规划、策略价值迭代
Linux安装MongoDB 4.0.3
当前观点:C#12“实用”的新功能:类型的别名
聚焦廊坊经洽会 | 务实高效办会 彰显河北高水平开放新形象
天天快消息!带宽翻倍更能超!影驰HOF Classic D5-7000内存评测:超至7800MHz仍有余力
年轻人第一款奢侈品?《王者荣耀》联名宝格丽:首款数字珠宝皮肤来了
环球今日讯!比亚迪宋PLUS冠军版一惊喜变化:日系SUV崩溃倒计时开始!
i5/i7该选谁?差距大不大?i5-13490F、i7-13790F深度测试
6月19日老酒价格|飞天次新酒上涨 生肖节气下跌 十七大老酒市场价 当前视点
ChatGPT 初探 - 冰蓝老师 天天微头条
天天新资讯:线性结构中的栈、队列和串是怎么回事?
当前看点!如何将PCM格式的原始音频采样数据编码为MP3格式或AAC格式的音频文件?
全球头条:maven构建报错:Unable to load the mojo 'install' (or one of its required compone
每日聚焦:“降息”靴子落地!
环球观察:《庆余年2》又新增七位女角色,金晨出演叶灵儿
赛力斯SERES 5出海欧洲市场:德国不限速高速飙到225Km/h
颜值超高碾压一众国产!长安启源A07路试:上市就打比亚迪汉
宝马5系首获半自动驾驶认证:变道只需看眼后视镜|世界短讯
100元记3分!杭州对“加塞”司机开罚 网友:请全国推广 消息
广东荔枝价格跌至5年来最低:仅需3、4元一斤
街拍,游走在法律和道德边缘
CSS3有哪些新特性_全球最资讯
全球即时看!数据库三大范式(考试必备)
世界要闻:使用 JMX-Exporter 监控 Kafka 和 Zookeeper
A Practical Methodology, HSM, Handler,Service,Model, for Golang Backend Developm
【环球聚看点】直播源码搭建技术弹幕消息功能的实现
世界观热点:6月20日 11:03分 迈普医学(301033)股价快速拉升
日系还香吗?新一代本田皓影混动/插混上市:19.99万起要打比亚迪_世界报资讯
16.5亿打造!《封神三部曲》第一部7月20上映:预告片发布
全脂/低脂可选:特仑苏纯牛奶2.7元/盒大促(商超6元)