Welcome to my portfolio! Here you can find my practice projects in C#.
I am a motivated final-year Game Development student, eager to gain real-world experience in software development.
This repository showcases my practice projects in C#, demonstrating my understanding of programming concepts, problem-solving skills, and the ability to create functional console applications.
Description: A console application that encrypts and decrypts messages using the Caesar Cipher algorithm.
Skills demonstrated: Loops, arrays, string manipulation.
Description: A simple console-based quiz game that asks multiple-choice or true/false questions and calculates the user's score.
Skills demonstrated: Arrays, loops, user input, conditional statements.
Description: A console simulation of a space mission scenario with simple user interactions.
Skills demonstrated: Classes, objects, methods, console input/output.
Description: A console application that demonstrates inheritance and polymorphism through vehicle classes. The program creates different types of vehicles — Sedan, Truck, and a base Vehicle — each with their own properties and behavior. It showcases license plate generation, wheel defaults, speed handling, and method overriding such as improved SpeedUp() logic in child classes. Skills demonstrated: Object-oriented programming, class inheritance, constructors, method overriding, encapsulation, string interpolation.
Description: A console application that demonstrates inheritance and polymorphism through library resource classes. The program creates different types of resources — Book, Periodical, Video, and a base Resource — each with their own properties and behavior. It showcases method overriding with GetInfo() and UpdateStatus(), as well as the use of constructors and additional class-specific properties.
Skills demonstrated: Object-oriented programming, class inheritance, constructors, method overriding, polymorphism, encapsulation, console input/output.
Description: A console application that demonstrates polymorphism and downcasting in a corporate employee hierarchy. The program creates different types of employees — HR, Engineer, Intern, and Manager — all derived from the abstract Employee class. It showcases method overriding (SubmitDailyReport() and Work()), the use of the as operator for downcasting, type checking with is, and array iteration through polymorphic objects.
Skills demonstrated: Object-oriented programming, abstraction, polymorphism, method overriding, downcasting, type checking, virtual and abstract methods, arrays, console input/output.
Description: A console application that simulates creating and viewing user dating profiles. The program allows storing personal information such as name, age, location, pronouns, favorite activity, and hobbies. It demonstrates how to work with classes, objects, properties, methods, and arrays, including updating object properties via methods and iterating over arrays. Skills demonstrated: Object-oriented programming, encapsulation, class constructors, methods, arrays, string manipulation, console input/output.
Description: A console application that simulates elements of an escape room scenario with objects and systems. The program demonstrates object references vs. value equality, interface implementation, and polymorphism. It includes FieldAgent objects to show reference behavior, File objects to illustrate equality comparison, and Server objects implementing the ISystems interface to demonstrate polymorphic method calls.
Skills demonstrated: Object-oriented programming, interfaces, polymorphism, object references vs. value types, equality comparison, arrays, console input/output.
Description: A console application demonstrating the use of interfaces for managing different types of data. The program includes a TodoList and a PasswordManager that implement a common interface, showcasing how to add, display, and reset data in a structured way.
Skills demonstrated: Object-oriented programming, interfaces, method implementation, data management, arrays/lists, encapsulation, console input/output.
Description: A console application simulating the control of space exploration vehicles. The program creates instances of different rover types (MoonRover, MarsRover) and a Satellite, demonstrating array handling, method calls on objects, and polymorphism. It includes a DirectAll method to command all rovers to provide information, explore, and collect samples.
Skills demonstrated: Object-oriented programming, class inheritance, arrays, polymorphism, method overriding, object interaction, console input/output.
Description: A console application that simulates the lifecycle of stars. The program creates instances of the Star class and demonstrates behaviors such as shining, aging, and undergoing a supernova. It showcases method calls, class instantiation, and object state management in a simple simulation.
Skills demonstrated: Object-oriented programming, class methods, object instantiation, state management, console input/output.
- Clone this repository
- Open the project folder in Visual Studio or VS Code.
- Build and run each project from its folder.
Skills Demonstrated • C# fundamentals (variables, loops, conditionals) • Object-Oriented Programming (classes, methods, objects) • Console Input/Output • Basic algorithms and logic • Project structure and organization