羊了个羊,但是Python简(li)单(pu)版

大家好,欢迎来到 Crossin的编程教室 !

羊了个羊,但是Python简(li)单(pu)版
要说最近最热门的游戏,那肯定是《羊了个羊》没跑了。
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
羊了个羊,但是Python简(li)单(pu)版
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
连续上了好几天热搜,火到连央视都来提醒谨防有人利用游戏之名诈骗。
羊了个羊,但是Python简(li)单(pu)版
但游戏爆火的另一面,也是无数玩家对于第二关难度的吐槽和不满。
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
羊了个羊,但是Python简(li)单(pu)版
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
如果你也像我一样,因为过不了关而不爽,不如自己用 Python 来写一个简单版,想过几关过几关
羊了个羊,但是Python简(li)单(pu)版
甚至还可以调个无解关卡去霍霍其他人
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
羊了个羊,但是Python简(li)单(pu)版
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
我这个版本不仅难度简单,代码也很简单,一共不到100行。代码已开源:
羊了个羊,但是Python简(li)单(pu)版
python666.cn/c/8
羊了个羊,但是Python简(li)单(pu)版
可下载,可修改,可商用,但公开发布需署名来源:Crossin的编程教室
羊了个羊,但是Python简(li)单(pu)版
做了一个同样简单的整活视频,供大家一乐:
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
https://www.bilibili.com/video/BV1Ze411K7WF/
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
稍微解释一下思路和代码:
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
1.
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
游戏用了 pygame-zero 这个库(所以才能这么少的代码实现),运行前需要安装 pgzero 库:
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
![羊了个羊,但是Python简(li)单(pu)版](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230619/624203-20220927003515846-1650506654.png)
pip install pgzero
![羊了个羊,但是Python简(li)单(pu)版](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230619/624203-20220927003515846-1650506654.png)

羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
(或者通过 IDE 安装)
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
2.
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
运行时需要带上项目里的 images 和 music 文件夹(你可以替换里面的图片和音乐)
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
3.
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
每一张牌是一个 Actor 对象(相当于一般游戏开发中的精灵类),具有种类(12种各12张)、层级、状态(不可点/可点/已收集)等属性。
羊了个羊,但是Python简(li)单(pu)版
开局时随机打乱后摆放,根据种类显示不同图片。
羊了个羊,但是Python简(li)单(pu)版
除了最上层的牌可点,其余均不可点。
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
pythonhljspythonundefined
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
4.
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
判断鼠标点击的位置是否处于某张可点的牌内,是的话就从所有牌列表中移除,加到下方牌堆列表里。
羊了个羊,但是Python简(li)单(pu)版
然后遍历与这张牌有重叠的下一层牌,对于每张下层牌,反过来检查是否有其他上层牌覆盖它,如果没有,就把它变成可点。
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
![羊了个羊,但是Python简(li)单(pu)版](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230619/624203-20220927003515846-1650506654.png)
for tile in reversed(tiles):
![羊了个羊,但是Python简(li)单(pu)版](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230619/624203-20220927003515846-1650506654.png)

羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
5.
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
下方牌堆达到7张为失败,上方没有剩牌则为胜利
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
pythonhljspythonundefined
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
6.
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
本demo距离《羊了个羊》尚有改进空间,有兴趣的小伙伴可自行尝试扩展,包括但不限于:
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
* 道具功能
羊了个羊,但是Python简(li)单(pu)版
* 增加收牌的动画效果(可以用 pgzero 提供的 animate 方法)
羊了个羊,但是Python简(li)单(pu)版
* 更多的关卡布局
羊了个羊,但是Python简(li)单(pu)版
* 打包成exe
羊了个羊,但是Python简(li)单(pu)版
* 游戏排行榜
羊了个羊,但是Python简(li)单(pu)版
* 当然还有游戏最最核心的部分:观看广告
羊了个羊,但是Python简(li)单(pu)版

羊了个羊,但是Python简(li)单(pu)版
代码已开源:
羊了个羊,但是Python简(li)单(pu)版
python666.cn/c/8
羊了个羊,但是Python简(li)单(pu)版
可下载,可修改,可商用,但公开发布需署名来源:Crossin的编程教室
羊了个羊,但是Python简(li)单(pu)版
如果喜欢的话,感谢帮忙点赞和转发,你的支持是我持续更新的动力!
羊了个羊,但是Python简(li)单(pu)版
我是Crossin,我们下个游戏见~
羊了个羊,但是Python简(li)单(pu)版
对了,哦,对了,如果你想学Python,记得来看下我的《人人都能学Python》系列
羊了个羊,但是Python简(li)单(pu)版
零基础python入门 图文系列教程:python666.cn

Original: https://www.cnblogs.com/crossin/p/16733105.html
Author: Crossin先生
Title: 羊了个羊,但是Python简(li)单(pu)版

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/715261/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球