I'm an aspiring software developer studying at Stanford University. I love using code to bring ideas to life.
My published projects have [loading...] downloads between them.
A puzzle game based on the Windows classic, Minesweeper. Left-clicking on a tile reveals it, while right-clicking flags it. The goal is to flag every tile containing a "mine" without revealing any. Revealing a tile that does not hide a mine will instead show the number of mines adjacent to that tile. If no mines are adjacent, all adjacent tiles will be revealed in a simple implementation of the flood fill algorithm.
A basic browser-based Tetris clone written in vanilla JavaScript. The player can move the falling pieces with the arrow keys, rotate them with the up arrow, and drop them with the spacebar. The most interesting challenge I faced in building this project was projecting "ghost" verions of the tetrominoes to show where the pieces would fall without causing weird collision issues or duplicating large chunks of code.
An interactive maze that can be explored using the A* pathfinding algorithm, procedurally generated using a minimum spanning tree made with Prim's algorithm. When the user clicks on a location in the maze, the A* algorithm will find and animate a path to that location. Clicking on a location outside of the maze will generate new chunks, making the maze theoretically infinite. The display is made up of a grid of HTML elements that are dynamically resized and recolored based on the user's panning and zooming using the mouse wheel and arrow keys.