Skip to content
a simple PlantsVsZombies game
Branch: master
Clone or download
Latest commit 8fe5074 Dec 17, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
demo add chomper plant Sep 17, 2019
resources/graphics add level type: wallnut bowling Dec 16, 2019
source Update level_3.json Dec 17, 2019 Update Dec 17, 2019 first version Aug 28, 2019


A simple PlantsVsZombies game.
It's only for personal learning and noncommercial use. If this game infringes the copyright, please let me know.

  • implement plants: sunflower, peashooter, wallnut, snowpeashooter, cherrybomb, threepeashooter, chomper, puffshroom, potatomine, spikeweed, scaredyshroom, squash, scaredyshroom, jalapeno, sunShroom, iceShroom, hypnoShroom.
  • implement zombies: zombie, flagzombie, coneheadzombie, bucketheadzombie, newspaperzombie.
  • use json file to store level data (e.g.position and time of zombies, background info)
  • support to select plant cards at the beginning of the level
  • support day level, night level, moving card select level and wallnut bowling level


  • Python 3.7
  • Notice: python version 3.7 is advisable, but not required. For LINUX: if your Linux system has a preinstalled python 3+, it's ok to run this game. Updating to python 3.7 directly may break LINUX Mint.
  • Python-Pygame 1.9

How To Start Game

$ python

How to Play

  • use mouse to collect sun, select the plant cards and seed the plant
  • you can set the start level by changing START_LEVEL_NUM value in source/
    • level 1 and 2:day level
    • level 3: night level
    • level 4: moving card select level
    • level 5: wallnut bowling level


demo1 demo2

You can’t perform that action at this time.