Lines of Action
This Java project completed for a class features a cool use of theories we learned in class.
Namely, in this project I implemented the Minimax algorithm with Alpha-Beta pruning. This complex-sounding algorithm is shown in the video on this page of the two AI playing against each other. I assumed this would be a mathematically complicated algorithm, but in practice, it’s no more complicated than predicting a younger brother won’t sacrifice a queen in chess for no reason. To be fair, the computer is making thousands of computations a second, but the general idea is the same.
In addition to implementing this algorithm, this project features implementations of various data structures and abstraction, along with a little hands on experience with Java’s graphics library.
For a link to the project spec: http://www-inst.eecs.berkeley.edu/~cs61b/sp20/materials/proj/proj2/index.html
Wiki on the game: https://en.wikipedia.org/wiki/Lines_of_Action
For other School Projects: https://ksharpe.org/category/school/