Projects

Wolves and Sheep Simulator

I built a Wolves and Sheep ecosystem simulator in Java that models the natural balance between grass, sheep, and wolves. The environment is represented using 2D arrays, and I applied object-oriented programming principles to capture the hierarchy and interactions between each part of the ecosystem. In the simulation, sheep eat grass and grow in number until the grass is depleted. With fewer resources, the sheep population starts to decline, allowing wolves to increase as they feed on the remaining sheep. Over time, the cycle repeats, demonstrating the interdependence of species in an ecosystem. This project not only strengthened my skills in Java, OOP design, and problem-solving, but also gave me hands-on experience in simulating real-world ecological systems through code.

Worlds-Hardest-Game

I recreated the World’s Hardest Game using Java Swing’s 2D rendering capabilities, implementing custom drawing methods for the game environment and player movement. The project features responsive keyboard and mouse input, precise hitbox detection for collisions, and strict boundary control to keep the character within the playable area. By leveraging Swing’s painting system, I built the game loop and visual elements from the ground up, demonstrating strong problem-solving skills in event handling, collision mechanics, and low-level game design.

Maze

I designed and implemented a fully interactive maze game in the Java console, featuring multiple difficulty levels and dynamic gameplay elements such as trap doors and level progression. The game uses a 2D array to represent the maze structure and employs precise input handling to navigate the player through walls, traps, and open paths. By leveraging console-based rendering with extended ASCII characters, I created a visually clear and engaging maze environment without a graphical interface. This project demonstrates my skills in array manipulation, control flow, user input handling, and algorithmic problem-solving.

Masterminds

I developed a console-based Masterminds game in Java that challenges players to guess a secret four-digit code within a limited number of attempts. The game includes multiple difficulty levels, with each level adjusting the range of possible numbers to increase complexity and replayability. I implemented dynamic code generation, robust input validation, and error handling to ensure a smooth user experience and prevent runtime errors. The console interface provides clear, formatted feedback, showing player guesses, the number of correct digits, and which digits are in the correct position. Additional features allow players to access instructions or return to the main menu at any time, and a replay option encourages repeated gameplay. This project demonstrates my skills in Java programming, including array manipulation, input/output handling, control flow, and algorithmic problem solving, while emphasizing structured, maintainable code and attention to user interaction.