Yicheng Deng's Programming Portfolio

Class of 2028 | Python • JavaScript • C++

About Me

Contact: 9710594@graniteschools.org

Certifications: Computer Programming 1

Certificate
Space Game Gameplay
Object-Oriented Programming

1. Space Game: Galactic Defender

This space shooter leverages advanced OOP concepts to manage a dynamic environment. I utilized ArrayLists to handle a varying number of active laser and enemy objects on screen. Each enemy is an instance of a class with its own instance variables for health and speed. The game uses a constructor to initialize player stats and implements collision detection logic to trigger methods that handle damage and power-up collection.

View Source Code
LOTR Tower Defense
Collaborative Logic

2. Lord of the Rings Tower Defense

A circular tower defense game focusing on program logic and state management. I contributed the spawning logic using timers and arrays to track enemy waves. The project demonstrates encapsulation by keeping tower stats private and using public methods for upgrades. We implemented complex user interaction for object placement and used polymorphism to handle different types of tower projectiles through a shared base class.

View Repository
Geometry Dash Clone
Game Physics & Logic

3. Geometry Dash Clone

This project focuses on game logic and physics simulation. I created a robust player class that handles gravity and jump methods. The level data is processed through arrays, allowing for custom icon rendering and obstacle placement. It features strict collision detection; when the player object intersects with an obstacle object, a "game over" state is triggered, demonstrating effective boolean logic and event handling.

View Source Code
Calculator UI
UI/UX & Logic

4. Modular Calculator

An interactive UI project that uses a grid of Button objects. Each button is an instance of a class that encapsulates its own label, color, and coordinate instance variables. I implemented constructor overloading to create different button types (operators vs. numbers) and used a central logic method to process string inputs into mathematical calculations, showcasing clean user interaction design.

View Source Code