Projects

Hometown Website

Bank Heist Simulator

Rush Hour Game
Hometown Website
This site was a project I did for my class Web and Mobile II.
It is a personal tour of some of my favorite places from my hometown.
I had to do lots of research into the history of these places and represented
them to the best of my ability. Using PHP and MySQL,
the site is dynamically created every time.
All the information is pulled from a database, leaving minimal hardcoded HTML.
This project uses PHP and SQL to provide an informative website that can
be quickly edited anywhere with database access.
My biggest challenge with this project was the scale.
I was under a massive time crunch to do the research, plan, and create this site.
Luckily, I was able to work quickly, and I ended up finishing this large project ahead of schedule.
Because of this, I was able to spend the extra time I had on bonus features, like the map on the landing page.
If I could do this project again, I would change a few things.
The main one is the map. While it works just fine, the pins are not able to be in the
correct spots. They are unable to be placed properly due to multiple being too close
to each other. To fix this, I would make a movable map that you can zoom in and out of,
giving that extra space to place the pins. I would also spend more time on the navbar, as
the dropdowns don’t always line up with the headers.
Bank Heist Simulator
I created the Bank Heist simulator to test just how effective a strategy is in the board game "Bank Heist."
Using Java, I simulated every facet of the game using Object Oriented Programming techniques.
There were two Decks, 5-8 players, a hand per player, and the van. For this test, there are two teams you can be on.
The Crew is trying to get 5 cash bags into the van, based on drawing cards, and the Agents are trying to prevent that from happening for 4 turns.
Each player can also gain an attribute that may affect the gameplay. I programmed all relevant cards into a shuffled deck,
randomized the players’ seating, and scripted each round so every player made the perfect decisions for their role.
Some cards only affected the game in specific situations, affecting less than 2% of games, but I made sure to account for them.
I decided to create this program since a friend of mine was trying to calculate the odds of victory for both teams
and ended up completing it faster than his calculations. The program runs 10,000,000 trials for 5, 6, 7, or 8 player games,
and gives statistical output for each type.
If I were to redo this program, I would make it threaded. Even though each trial takes less than half of a second,
it takes about a minute to run 10,000,000 trials. If I threaded this program, I would make it simulate games with different amounts
of players at the same time, quartering the runtime.
Rush Hour
For my Software Development and Problem Solving II class, my team had to create a working version of the game “Rush Hour” in Java.
Rush Hour is a puzzle game where you need to move a car out of the box by moving all the other cars out of the way.
We started with a command-line version, then made a full version with visuals created using JavaFX.
This project helped us learn to work as a team and how to use GitHub effectively to avoid merge conflicts.
In the command line portion, I was in charge of the functionality. While my groupmates made the board and created the cars,
I made them move by inputting commands like “O U,” which would move the “O” car up. I had a similar job when it came to the
JavaFX version, where I made the cars move when you clicked the front or back of them.
If I redid this project I would choose a different language. JavaFX is very tricky to deal with and I could
make a much better product in JavaScript. If I just wanted to make a better command line version I would choose python.