This project is a classic console-based, turn-based card game, meticulously developed entirely in C#. It serves as a practical exploration and application of fundamental Object-Oriented Programming (OOP) principles and core C# language features, demonstrating the design and implementation of interactive game logic within a command-line environment.
Showcases strong command of C#, OOP paradigms, and foundational game logic development.
Key Learning & Technical Highlights:
- Object-Oriented Design (OOD) Application: Deeply applied core OOP principles including Encapsulation (e.g., encapsulating card properties and deck states), Inheritance (e.g., defining various card types inheriting from a base
Cardclass), and Polymorphism (e.g., enabling diverse card abilities through method overriding). - C# Language Proficiency: Gained hands-on experience with advanced C# syntax, data structures (such as
List<T>for decks andQueue<T>for turn order), control flow mechanisms, and basic error handling for robust application development. - Turn-Based Game Logic Implementation: Developed a clear and effective game loop to manage player turns, handle actions (e.g., playing cards, attacking), resolve game states, and define victory conditions within the console.
- Modular Architecture: Structured the game into distinct, cohesive, and manageable components (e.g.,
Player,Card,Deck,GameManager) to promote code reusability, maintainability, and extensibility. - Console-Based User Interface: Designed and implemented an interactive command-line interface for intuitive user input and clear display of game state, focusing on effective text-based feedback.
This project represents a solid foundation in C# programming, Object-Oriented design patterns, and basic game development principles, built for clarity and robust learning.