This GUI was programmed in Java using jGrasp and was the final project for my Introduction to Computer Science II (ICS 211) class. Many of the assignments in the ICS 211 class I attended used Pokémon as a basis to explain programming concepts, such as objects, interfaces, and inheritance. The second assignment of the course was to create objects representing nine Pokémon, three starters (i.e. Bulbasaur, Charmander, and Squirtle) and two of their respective evolutions. The GUI loosely imitates the catching system in the Pokémon series by randomly generating one of the nine Pokémon and allowing the user to attempt to catch it. When the Pokémon is caught, it is added to a binary search tree, which represents the Pokedex, and an ArrayList, which represents the user’s backpack. When the user clicks the “Pokedex” button, the number of each Pokémon caught and their information is listed. The backpack can be sorted by most recent caught, Pokedex number, hit points, or combat power using a dropdown menu.

This was an individual project that required files we had made throughout the semester, such as the Pokémon objects and binary search tree. The project allowed me to be more creative than previous assignments and strengthened my understanding of user-friendliness. This experience offered a glimpse into app development and the steps necessary to explain what is happening to the user while still keeping their attention. Additionally, I learned how dynamic data structures store and sort information, which offered the user more options on how they wanted to view their inventory. Now, app development feels more accessible and a possible pathway if I collaborate with others on larger projects.

Click here to view the source code.