This repository contains a turn-based 2D game framework developed as part of a school project. The framework serves as a demonstration of C# programming skills and focuses on functionality rather than user interface. It provides a foundation for building and implementing turn-based games within a console application.
- Game Engine: The framework provides a game engine that handles the core mechanics of a turn-based game, including turn management, game state tracking, and event handling.
- Creature System: The framework includes a robust creature system that allows the creation and management of various creatures within the game. Each creature can have unique attributes, abilities, and behavior.
- Action System: A flexible action system is implemented to facilitate interactions between creatures, enabling movements, attacks, and other in-game actions.
- Map and Objects: The framework supports a 2D map representation and manages the positioning of creatures and objects. Maps can be customized and populated with items such as defense or attack objects.
- Console Interface: The game interface is designed for the console, providing text-based logs that display the game's progression, including creature movements, fights, and outcomes.
To use this turn-based 2D game framework, follow the steps below:
-
Clone the repository to your local machine using the following command:
git clone https://github.com/your-username/TurnBasedGameFramework.git
-
Review the provided classes to understand the framework's structure and functionalities. Code comments are included to guide you through the implementation.
-
Customize and extend the framework to suit your specific game requirements. Modify existing classes or introduce new features to create your unique turn-based 2D game within the console application.
-
Test and debug your game by running the necessary build and execution commands. Observe the console logs to track the game's progress, including creature movements, fights, and victories.
Contributions to this project are welcome. If you encounter any issues, have suggestions for improvements, or would like to add new features, please submit a pull request. Be sure to follow the established coding conventions and provide a clear explanation of your changes.
If you have any questions or need assistance with the framework, please feel free to open an issue. I'll be glad to help you out!