Skip to content

Consolidation of the two largest projects in CS32, one involving a 2D bullet hell game and the other focused on redesigning Google Maps using A* and Simulated Annealing.

Notifications You must be signed in to change notification settings

2brandonh/Winter-CS32-2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Winter-CS32-2020

Data structures and algorithms course at UCLA using C++. Several of these projects have frameworks created by David A. Smallberg and Carey Nachenberg, the CS32 professors at UCLA for this quarter, while the implementations were designed by students. In comparison to the previous course, CS31, the projects offered in this course offer much more creative flexibility in coding style and structure. This repository features the two most important projects in the class.

Score Distribution

Project Score
3 100/100
4 99/100

Project 3

Imgur

Kontagion focuses on the role of Socrates, a bacteriologist shrunk down into a petri dish to fight off swarms of bacteria. (Sounds unbelievable but this was our actual project) The project focuses on implementing polymorphism to derive each of the game's characters, enemies, and sprites.

Project 4

Imgur

Easily the most interesting project, Goober Eats tackles a commonly asked Computer Science problem. What is the least distance route that can be made given a set of points? Known as the traveling salesman problem, there have been multiple papers written on the subject. In my implementation, the A* algorithm finds the most efficient route between two points while simulated annealing finds a relative minimum for the most efficient route from a set of points. Data was read from a text file of geocoordinates and streetnames associated with the Westwood in Los Angeles. Through tests with Google Maps, my results always mirrored the expected distance +/- 5%, showing that these two sets of algorithms fit.

During my research into these algorithms, the following resources were helpful:
https://www.youtube.com/watch?v=-L-WgKMFuhE - Thorough explanation and visualization of A*
https://www.youtube.com/watch?v=SC5CX8drAtU - Visualization of TSP and the effectiveness of simulated annealing
https://pdfs.semanticscholar.org/6178/2873250a6096c098729ed3bda2a5e1a3a31a.pdf - Dense read of temperature in simulated annealing, but entirely worth it for understanding the hyperparameters of simulated annealing and optimizing your set up

About

Consolidation of the two largest projects in CS32, one involving a 2D bullet hell game and the other focused on redesigning Google Maps using A* and Simulated Annealing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages