IncredibleTextAdventure

What is IncredibleTextAdventure?

IncredibleTextAdventure (ITA) is a project for a "text-based game" engine I'm making for fun.
Even if I only discovered text-based with internet, these first video games ever fascinated me.
Here is a link to Wikipedia: https://en.wikipedia.org/wiki/Text-based_game
You had to imagine everything! How wonderful...

Why C#? What Have I used?

C# 4.7.2 is the core of the project. Dependency Injection is done with Ninject.
And everything you'll see will respect the SOLID principles and the clean-code principle.

Can I clone / create PR on this repo?

Sure, I'll be honored!

I found a bug / typo / I want to add something...

Go on! Fork this repository, work with it, and make a pull-request.
I'll review it and give you a feedback. If it's good enough, I'll merge it with the project!

I have no idea how this works! What is Dependency Injection?

You'll notice that I very rarely use object's constructor directly. Instead, I rely on Ninject to do what is known as Dependency Injection, which allows for object to be dynamically loaded into their interfaces.
Another Wikipedia link: https://en.wikipedia.org/wiki/Dependency_injection

What is "clean-code" ? What are the SOLID principles ?

I'm a craftsman. I take pride in my work, I do my best to have accessible, readable, maintainable code that always compile.
Function names are to be unique, property are to be protected accordingly, everything have to be interfaced, but in the end this code is easy to get into!
Yet another Wikipedia link: https://en.wikipedia.org/wiki/Software_craftsmanship
And for the SOLID principles: https://en.wikipedia.org/wiki/SOLID

Posted on Reddit on r/csharp on 10 Aug 2019 : https://www.reddit.com/r/csharp/comments/cofsja/textbased_game_with_dependency_injection/

Have fun !