SimFarm is a Java-based farming simulator developed as part of an assignment. This project demonstrates core Java concepts including inheritance, polymorphism, arrays, copy constructors, and console input/output. The simulation allows the user to manage a dynamic farm field, plant crops, deal with weeds, and manage finances.
- Implements an ecosystem with various farm items such as Grain, Apple, Weed, Soil, and UntilledSoil.
- Dynamic field management using a 2D array representing the farm grid.
- Object-oriented design with inheritance and polymorphism for different farm items.
- Console-based user interface for actions such as tilling, planting, harvesting, viewing summary, and waiting.
- Age and lifecycle management for farm items including growth, maturation, and death.
- Customizable farm size and starting funds.
- Git-based version control with detailed commit history.
- Java (Eclipse IDE)
- Git & GitHub Desktop for version control
- Master basic Java syntax and programming structures.
- Work with arrays and dynamic data structures.
- Understand inheritance, polymorphism, and abstract classes.
- Implement copy constructors and cloning techniques.
- Manage console input/output effectively.
- Utilize Git for source control and version management.
- Clone this repository.
- Open the project in Eclipse.
- Run the
Marking.javafile to execute the simulation. - Follow on-screen prompts to interact with the farm simulation.