Create an initial menu for the farmer to create his


Create a C# Application using Visual studio

Introduction

The Project designated to this subject will stretch across the entire timeframe of the subject. It will be split into three milestones to effectively spread the workload needed to complete the desired outcome. The topics that will be tested in these milestones will cover a wide range of outcomes including, but not limited to the following:

-  DataAccess (DB management)
-  Business Logic
-  Windows forms
-  FileHandling
-  Threads Async
-  LINQ
-  Lambda
-  Serialization
-  Sockets
-  Custom exceptions
-  Interfaces with partial classes

Outline

You have been contracted by a local farmer to create an application which will be responsible for managing a farm and its animals. The end application must be able to create a profile of the farmer and the farm itself, including a visual representation of the farm and where the different animal cages are located on the farm. It must also be able to manage the size and capacity of the farm along with creating feeding schedules for the animals, taking into consideration the routes these different animals will have to travel to get there.

Requirements from client

You need to create an initial menu for the farmer to create his character and farm. These need to be accompanied by visual representations of the character and the farm that the user is designing. The farm creation part of the application should let the user choose which animals they want on their farm and how many of each. The user needs to have at least 3 different types and minimum of 5 of each of those types of animals on his/her farm initially and at least one of those animals should be a natural predator to one of the other animals (eg. Lions vs. sheep).

Each animal selected should be placed in an appropriate cage. Each cage should initially only be big enough to fit the amount of a specific animal type inside it, if the amount of that animal increases, the size of the cage also needs to increase, keep in mind that each cage can only contain a maximum amount of 10 animals. If maximum capacity of the cage is reached, a new cage should be created to fit in the extra animals that did not fit into the cage initially. All cages on the farm may not exceed the size of the farm, taking into consideration the feeding area and the paths the animals need to take to get to the feeding area.

Once initial design is complete, the user should be able to see a simulation of the feeding routine. The feeding routine can be seen as all animals eating at the same location, but only animals that can eat together can eat at the same time without being prey to another animal that also eats there. In this case you can assume that all animals will be eating the exact same food as one another for the sake of simplicity.

When designing the algorithm there are a few constraints to keep in mind:
- Different cages may be further or closer to the feeding point.
- Different animal types might move quicker than others, consider this when calculating how long each animal will walk to the feeding point.
- Animal age also plays a role in the speed at which they can walk, for example animals who were born recently might still struggle to walk and older animals might walk slower than the rest because of their age. This also implies that your application needs to keep track of how these animals age as the days and months go by.
- Some animals might eat longer than others.
- All animal feeding times start at the same time, your algorithm needs to work out the best paths for animals to walk to avoid predators and make sure feeding is done in the minimum amount of time. This means that your feeding schedule can never be static.

Final Milestone

Final Milestone will comprise of the final project being delivered to the corresponding lecturer on the due date given below.

The full working application must be submitted with the relevant documentation. The application must now be changed to work as a centralized server with multiple clients. Ensure that the correct dataflow and location of files are implemented to ensure maximum effectiveness. The marking of this milestone will take into account all the elements taken up to this point.

To achieve this take into account the following concepts:
- Business Logic
- Threads Async
- LINQ
- Lambda
- Serialization
- Sockets
- Interfaces with partial classes
- DataAccess (DB management)
- Business Logic
- Windows forms
- FileHandling
- Custom exceptions
- Interfaces with partial classes
- Recursion

Remember that all relevant documentation must be updated to reflect what have been done in the application.

Request for Solution File

Ask an Expert for Answer!!
Software Engineering: Create an initial menu for the farmer to create his
Reference No:- TGS02794558

Expected delivery within 24 Hours