博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前女友让我撸个植物大战僵尸,我一怒之下把代码开源了...
阅读量:4094 次
发布时间:2019-05-25

本文共 1075 字,大约阅读时间需要 3 分钟。

今天给大家分享的开源项目可以说非常适合入门,还比较好玩,更是一个有故事的项目。既能满足想学习的读者,又能满足那些喜欢八卦的读者。

提到植物大战僵尸相信大部分读者都不陌生,可以说是塔防类游戏的鼻祖。就鸟哥来说,我很少玩游戏的,但这款植物大战僵尸游戏却陪伴了我半个大二下学期啊,可以说是我人生中坚持玩的最长时间的游戏,最后放弃的原因是后面太难玩了,老是不过关。

故事中主角的前女友,也曾一度痴迷于玩这款游戏,但到后面的时候和我一样就卡住了,怎么都不能闯关,在强迫症的迫害下几近崩溃,无奈之下,联系了她的程序员前男友,让其帮忙破解。前男友意识到翻身的机会来了,也是费了很多功夫寻求破解之道,但哪有这么容易呢,于是,干脆自己亲手撸了一款一模一样的植物大战僵尸,而且偷偷留了暗门,通过配置参数,控制游戏的难易程度。最牛批的地方是把僵尸替换成了自己的模样,哈哈。最终,翻身舔狗把歌唱呀。当然,这是一个我从某乎上看到的 —— 一个无从考证却又觉的很真实的程序员和女友的故事。

顺着故事的线索,还真找到了一款类似的项目。应该不是本尊,鸟哥编译尝试了一下还是非常不错的,否则我也不会分享啦。

简单介绍一下这款 Python 语言开发的植物大战僵尸的游戏。

项目的编译环境

Python3.7 及以上版本,直接去 python 官网下载安装即可;还需要依赖 pygame 模块,执行 pip3 install pygame 即可安装。环境搭建还是非常简单的,连鸟哥这种从来没写过 Python 的菜鸟分分钟也就搞定了。

项目运行

将源码下载到本地(强烈推荐大家使用 Downloade 模式,git clone 就很蛋疼了),在项目根目录下执行 python main.py 命令,即可运行。

功能方面

目前支持的植物类型:太阳花、豌豆射手、寒冰射手、坚果、樱桃炸弹、双重豌豆射手等;支持的僵尸类型:普通僵尸、棋子僵尸、路障僵尸、铁桶僵尸、毒爆僵尸项目使用 Json 文件保存关卡信息,可独立设置僵尸出现的时间和位置。

可惜是,竟然没有熟悉的背景音乐!简直是丢失了灵魂呀,有能力的读者还请加上。

总之,非常适合新手学习了!另外呢,鸟哥还给大家整理了一份 Java 版本的,在功能方面和上面的版本差不多。值得关注的是,作者将整个游戏的设计思路、游戏对象、功能原理介绍的非常详细,相关文章链接我也已经整理好。鸟哥我就是独宠 java 呀!其它就不多介绍了,感兴趣的可以研究一下。

两个版本的源码已整理上传到后台

识别下面的二维码关注公众号

回复关键词:植物大战僵尸

即可获取

转载地址:http://fkvii.baihongyu.com/

你可能感兴趣的文章
Immutable.js 以及在 react+redux 项目中的实践
查看>>
Vue2.0全家桶仿腾讯课堂(移动端)
查看>>
React+Redux系列教程
查看>>
19 个 JavaScript 常用的简写技术
查看>>
微信小程序:支付系列专辑(开发指南+精品Demo)
查看>>
iOS应用间相互跳转
查看>>
iOS开发之支付宝集成
查看>>
iOS开发 支付之银联支付集成
查看>>
iOS开发支付集成之微信支付
查看>>
浅谈JavaScript--声明提升
查看>>
React非嵌套组件通信
查看>>
Websocket 使用指南
查看>>
浏览器兼容性问题解决方案 · 总结
查看>>
一个很棒的Flutter学习资源列表
查看>>
为什么你应该放弃React老的Context API用新的Context API
查看>>
Koa2初体验
查看>>
Koa 2 初体验(二)
查看>>
Koa2框架原理解析和实现
查看>>
vue源码系列文章good
查看>>
你不知道的Virtual DOM
查看>>