X

2048 JavaScript Game

For my final project in CIS120: Intro to Programming Languages and Techniques, I recreated the classic 2048 puzzle game. In this project, players slide numbered tiles on a grid to combine them and reach the number 2048. Rebuilding the game logic from scratch challenged me to think systematically about how data is stored, updated, and displayed on screen.

Through this project, I practiced key programming skills such as working with arrays, DOM manipulation, implementing game mechanics step by step, and debugging logic errors. It also gave me experience translating design and interaction ideas into functional code. This project helped me build confidence in problem-solving, persistence, and my ability to connect coding to the kind of interactive, front-end experiences I love to create. I'm not able to include a playable version of the game in the broswer, but you can download the project files here and run the Game.java file to check it out!


Paint Program

This Paint Program is an interactive drawing tool I built to practice event-driven programming and working with graphical interfaces in JavaScript. Tasked with recreating an early 2000s versions of MacPaint, the interface creates the simple but versatile experience of drawing with points, lines, and ellipses, while offering options to adjust color, line thickness, and shape styles. Developing this project taught me how to implement GUI components like buttons, sliders, and color selectors, while also working with graphics rendering to draw shapes on a canvas. I learned how to manage user input events such as clicks, drags, and selections, and how to build functionality like undo by storing and re-rendering previous states. What I found especially cool about this project was understanding how the backend of a drawing interface works, since I regularly use tools like Photoshop and Illustrator. While simple in appearance, this project deepened my understanding of how drawing applications are structured and gave me confidence in combining code logic with a visual interface. Click below to try out the project, and you can view the project files here.