This program was written in Java 11 by Sarah Jane Gregory and Saachi Bhatia, completed on March 31, 2025. It implements the Tester library and Javalib library for images from Khoury College of Computer Sciences.
This is a class project from CS2510 Fundamentals of Computer Science II, designed to imitate the game "Connections" by the New York Times. This project was completed near the end of the semester, encompassing all of the concepts and Java features we had learned. This program primarily serves as practice with loops and mutation in Java.
How to play the game:
The objective of the game is to find the 4 groups of words that share a common theme. There are 16 words, and each group contains 4 words. Click on a word to select it. Select 4 words that you think belong to the same group, and click the "Submit" button to see if you are correct. You can select more than 4 words, but you can only submit once you have selected exactly 4. If your selection is correct, the words will leave the grid and form a group. The group will display the common theme between the words and a color based on the difficulty of figuring out the connection between the words. From easiest to hardest, the colors are yellow, green, blue, and purple. If your selection is incorrect, you lose a life. If you lose all 4 of your lives, you lose the game and can hit the 'r' key to restart with the same set of words. You win the game once you reveal all 4 groups of words. Once you win, you can hit the 'r' key to play another game with a new set of words. You can also click the "Shuffle" button to rearrange the words in the grid, and the "Deselect" button to clear you current selection of words. The game supports 5 different sets of 16 words.
How to run the program:
Download the ZIP file and the attached JAR files. Open the project folder from the ZIP file in your IDE and add the two external JAR files to the Classpath. When choosing the run configurations, select "tester.Main" as the main class and "ExamplesConnections" as the program arguments. Once you run the project with these configurations, the game should start in a new window.
Video demo of gameplay: