This is a Java implementation of the classic 2048 game I made for my Introduction to Software Development course. The software architecture follows the Model View Controller (MVC) design pattern. The model modules represent the data structures and accessors/mutators of the data which includes BoardT, ScoreT, and DirectionT. The controller modules maintain and control the state of the game and the game logic which includes Controller, and BoardManager. The view modules work to display the state of the game using a Java Swing graphical user interface (GUI) and translate player interactions which includes View, ComponentUI, ScoreUI, TileUI, BoardUI, and MessageUI.
Demo: make demo
Test: make test
Documentation: docs.pdf
Module Interface Specification + Design Critique: spec.pdf