Python 3 Pygame Script to Build Plants vs Zombies Game GUI Desktop App Full Project For Beginners



pip install pygame




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


Leave a Reply