WORDLE, Unlimited

Coded a fully functioning clone of the popular New York Times web browser game in Java (integrated within Eclipse IDE). To create the game, advanced object-oriented programming concepts like abstraction, polymorphism, and inheritance were used to save coding time. 

The main menu (left) allows navigation to a normal mode (right) and a hard mode. Upon starting a new round, a 5-letter word out of a 5000-word list is chosen. The user has 6 tries to guess the word through interaction with the keyboard. If the user inputs something that is not a valid word, the guess will not be taken.

Additional features like music, external links for help, and the aforementioned timed hard mode were added that were not included in the original Wordle.

Bubble Sort Graphical Demonstration

Coded a graphical representation of how bubble sort works in Java. This program serves as a visual teaching aid to demonstrate the bubble sort algorithm. 

On the main menu (left), music is played, instructions are given, and upon pressing the bubble sort button, users can then enter 9 desired integers (right). The order of the array before sorting is simply the order the numbers are entered. During the sorting (below), the numbers are moved around, and the largest number is “bubbled” to the top, hence the name bubble sort. 

To help with understanding the algorithm, a message is displayed which says that the Boolean variable sorted must be false for 8 comparisons in a row for everything to be sorted.

Important Dates

Coded a date checker in Java which takes a day as a number and a month as a string (left). The program then checks a text file to see if anything important happened on that day. If there's a match, then the program will display the date (right), along with a description.

At the bottom, after a date is displayed or not, there are buttons which the user can use to change the format of the date (switch between MMDDYY, YYMMDD, DDMMYY), and the format of the era and whether it is a secular format or not (CE and BCE vs AD and BC). Lastly, at the bottom, the user can press a button to go back and check another date.

Labyrinth

Coded a computer maze game based on the titular 1986 board game in Java. The goal of the game is for the user to get their character to cross the finish line by moving it around with the arrow keys or the WASD keys. 

After the user-controlled character traverses the finish line, located at the end of the maze, they win the game. However, there are deadly walls in the maze that the user cannot pass or touch. Furthermore, there is a move counter, which incrementally decreases after each key press. Incidentally, the user must be closely attentive to make sure they do not make an erroneous blunder. 

When the user hits any of the obstructing walls or runs out of moves — whichever comes first — the game is subsequently lost. There are also three separate and distinct levels, each with an added amount of difficulty. Level 1 (left) is trivial since there are not many walls, and there are 750 moves available for the user. Contrastingly, Level 2 (right) has many more walls while also only having 700 key presses available. Lastly, Level 3 (below) has the most number of walls and the least number of moves accessible by the user. For more information, the instructions button on the main screen can be pressed.