想尝试Java版《植物大战僵尸》的编译和运行吗

《植物大战僵尸》是由美国宝开游戏公司(PopCap Games)开发的一款单机游戏,自2009年发布以来,风靡全球。有些城市里面的小朋友,就是通过了这款游戏,认识了向日葵、核桃、卷心菜、豌豆、蘑菇,现在我们还能买到《植物大战僵尸》的玩具公仔。
当你玩这款游戏而兴奋时,有没有想过游戏是怎么开发的,有没有幻想过阅读它的源代码,甚至修改源代码?
我一直有这个想法,并且在网上找到了一个Java简易版的《植物大战僵尸》,代码写得非常简单、清晰,并且用IDEA开发工具,实现了编译和运行。
如果你也有这个想法,跟随这篇文章,一起过把瘾吧!
2、源代码下载我们进入github网站,搜索PlantsVSZombies:

搜索后,可以找到一个Java版本的《植物大战僵尸》游戏项目arminkz/PlantsVsZombies:

下载该项目的源代码:

下载该项目后,得到压缩文件PlantsVsZombies-master.zip,解压后得到PlantsVsZombies-master目录,该目录的结构如下:

目录中有nbproject目录,表示该项目使用NetBeans工具开发,考虑到大多数人的习惯,我们使用IDEA开发工具吧。
下面描述编译和运行的详细过程。
3、建立工程启动,新建工程:

新建Maven工程:

设置工程名为plants:

这是工程建立后的视图:

将下载的PlantsVsZombies-master\src目录中的内容,拷贝到plants工程的src\main\java目录,这是添加后的IDEA工程视图:

将PlantsVsZombies-master\src目录中的images子目录,整体拷贝到plants工程的src\main\resources目录,这是添加后的IDEA工程视图:

我们可以发现这款《植物大战僵尸》游戏的代码写得非常好。例如,这是太阳功能对应类Sun.java的代码,总共才77行,代码可以直接看懂,特别简练清晰:
7、编译代码我们使用Maven命令,对工程进行编译,编译后得到plants.jar文件:

软件编译完成后,我们在命令行下执行java -jar plants.jar,即可启动游戏:

程序启动后,显示这个熟悉的主界面:

点击“ADVENTURE”(冒险),启动游戏,界面如下:

当然,我们还可以继续玩:

一个不到2000行的程序,不可能完整地实现功能强悍的《植物大战僵尸》游戏,但是这个版本,对于游戏开发入门者和感兴趣者,非常有用。
相关资讯
-
植物大战僵尸2国际版 电脑版 v9.5
植物大战僵尸2国际PC版是一款非常流行的策略游戏。 在植物大战僵尸2国际版PC版中,战术非常重要。 形成的植物阵地需要更好的布置,以阻挡僵尸的攻击。 在《植物大战僵尸2国际版》PC...
-
植物大战僵尸怎么扔石头 植物大战僵尸投石车僵尸攻略
植物大战僵尸是一款风靡全球的塔防游戏,玩家需要运用各种植物的特殊能力来抵御来袭的僵尸,在游戏中植物不仅可以发射子弹、放置陷阱,还可以通过投掷石头来对抗敌人。其中投石车僵尸是一种...
-
植物大战僵尸day1
开局目标:积累阳光。植物装备布局。本轮僵尸数量少,战斗力较弱。可以在本轮初步进行战力布局。一轮结果第一轮结束。最右排坚果墙可以对第二轮僵尸进行阻挡,同时保护后方植物。火桩种植完成。...
-
植物大战僵尸怎么快速获得金币 植物大战僵尸如何快速获得金币
在游戏植物大战僵尸中,金币是非常重要的游戏货币,可以用来购买各种植物和道具来帮助玩家顺利通关,想要快速获得金币的方法有很多,比如在游戏中不断进行战斗,通过击败僵尸获得金币奖励;...
-
steam植物大战僵尸怎么中文 《植物大战僵尸》Steam版中文语言设置教程
植物大战僵尸是一款备受欢迎的游戏,而Steam版的中文语言设置教程能够帮助玩家更好地享受游戏乐趣,这款经典的塔防游戏让玩家扮演植物的角色,抵御不断涌来的僵尸攻击。对于一些不熟悉...
-
植物大战僵尸2内部攻略,速来看!
[植物大战僵尸2]手游内部 特权 名额有限 托号都2023年了 还没有玩过游戏的内部号???你以为游戏里面的氮金大佬 就真的是氛金大佬吗?实际上 市面上这些手游都是有内部号名额发放...
-
安卓15市场份额首次达到10%以上
5 月 1 日消息,市场跟踪网站 Statcounter 报告称,截至 2025 年 4 月,Android 15 的市场份额达 10.06%,这是 Android 15 自 20...
-
克州“五一”优惠大礼包已准备就绪,期待您的光临
来源:克州零距离 有网友给我们留言: “劳动节快到了,我要提前计划‘五一’幸福假期”“有没有省钱旅游攻略啊~” ……“五一”假期即将到来,克州文旅放大招✔ 以下A级旅游景区免门票、...
-
DNF手游:75万氪金神豪破防,装备分解退游事件再次引发关注
奥兹玛无限打团竞拍事件,依然还在持续发酵,并没有因为策划的-冷处理-被大家淡忘。而今更是有氪佬怒发冲冠,实在看不下去,甚至不惜以-毁号-的方式回应策划。从-累充界面-来看,对方氪了...
-
杨戬再度登场!全新大型化身,无敌韧性,自动锁定目标
最近看到很多英雄不是调整,就是重做,而之前已经官宣相关重做方案的杨戬,却迟迟没有上架。而就在29号的时候,王者荣耀悄无声息地公布了杨戬重做上线体验服。重做之后的牢戬,看到相关技能介...