Software Engineering, WPI, Oct - Dec 2016
LetterCraze was the main deliverable for my Software Engineering class. I was in a team of five students, and we had seven weeks to plan and build this game, based on the rules provided to us. LetterCraze is similar to boggle. There is a board with letter tiles, and the player forms words to score points, and unlock new levels. Depending on the level type, there is either a move limit, a time limit, or a specific set of words to find. We also created a separate application to design and export levels to be played in the main game. We used Java to code LetterCraze, specifically Swing for the interface, and JUnit for unit testing. The source code can be found on GitHub.
A typical level
My team started out by developing a set of use cases that captured all the possible interactions between the player and the application. We then created UML class diagrams, and used the Model-View-Controller design pattern when deciding how to organize our classes.
Map of game levels
I mostly worked on the controller and model classes. I implemented gameplay features such as calculating points and progress after each move, repopulating the board after each move, and undoing moves. I also took initiative to solve any bugs I encountered, so I ended up touching most areas of our code. In doing so, I gained a strong understanding of how everything worked together, and how I could structure any future applications I might create.