← Back to Projects

Programming Project

Plants vs. Zombies Clone

A C++ PvZ clone built using a custom game engine, focused on UI integration, grid interaction, and clean gameplay feedback.

Role: UI Lead

Used: C++, JSON

Duration: 3 weeks

Plants vs. Zombies clone image

Overview

Project Description

I collaborated on a team of five to implement a Plants vs. Zombies-style clone using a custom engine using C++ and JSON. My main focus was the UI layer and making it communicate cleanly with gameplay systems.

Technical Block

Technical Focus

  • Integrated the UI system with the graphics service and gameplay grid
  • Built interaction between the Plant Selection Toolbar and grid system using two-way binding
  • Created shovel UI and interaction logic so players could remove plants from slots
  • Worked in a short production timeline with clear feature ownership

Picture Block

Screenshot

Plants vs. Zombies clone image

An image with a lot of active Plants during a higher difficulty wave in action.

Snippet Block

Code Snippet

// Example two-way binding idea
OnPlantSelected(plantType)
    toolbar.SetSelectedPlant(plantType)
    grid.SetPlacementPreview(plantType)

OnGridSlotClicked(slot)
    if toolbar.HasSelectedPlant():
        grid.PlacePlant(slot, toolbar.SelectedPlant)

Description Block

What This Block Explains

This is a good page to add UI screenshots, toolbar states, grid interaction diagrams, and code snippets that show how UI events drive gameplay behavior.

Gallery

Images