Ein Inventar in c# erstellen: Items

in blurt-192372 •  3 months ago 

It's Code time! Dieses Mal habe ich ein kleines Spaßprojekt mit c# erstellt.
Dabei handelt es sich um ein konsolenbasiertes Survivalgame.
Also vergesst The long dark, Mist: Survival, Green Hell und wie diese Spiele alle so heißen.

Ja, es war nur Spaß. Obwohl... es ist ein Hunger-, Durst- und HP-System integriert. Und man muss in Echtzeit handeln bevor die Attribute den Wert 0 erreichen. Natürlich ist alles rudimentär aber die Konzepte sind vorhanden.
Ich werde 3 Beiträge erstellen und jeweils den Code als Bilder posten, da zu viel Text wohl als Spam gelten könnte.


Einfaches Diagramm, Überblick

Fangen wir mit dem rechten Bereich der Items an. Man kann nur Überleben wenn es Gegenstände gibt, die einem helfen über die Runden zu kommen.

Mit der abstrakten Klasse Item wird die Basisklasse erstellt, was alle Items gemeinsam haben. Nämlich eine Bezeichnung, Der Typ des Items und was für Effekte dieses Item auslöst.
Mit den Subklassen Consume, Armor, Tool können konkrete Items erstellt werden. Ein Consumeitem kann z.B. bis zu 5 Effekte haben, z.B. Hunger-, Leben oder Ausdauer wiederherstellen wenn diese verwendet werden.
Die enums Itemtype und ItemEffect speichern nur, um welchen Itemtyp es sich handelt (Consume, Tool, Armor) und welche Effekte möglich sind (HP_RECOVER, STAMINA_RECOVER, HUNGER_RECOVER, THIRST_RECOVER, PROTECTION, REPAIR)


Item als Basis- bzw. Superklasse


Consumeitem als Beispiel. Die anderen Subklassen sind ähnlich aufgebaut

Schön! Wir können nun Items erstellen und diese haben einen Effekt. Aber sie liegen im Moment nur rum und haben keinen Mehrwert. Wäre es nicht gut, wenn man die Items irgendwo ablegen kann und bei Bedarf darauf zugreifen kann? Und wer gibt mir neue Items? Ein Inventar oder ein Rucksack wäre nützlich. Vielleicht auch jemand der Items anbietet. Dies schauen wir uns im nächsten Beitrag an.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!
Sort Order:  
Thank you for sharing such great content!
Congratulations on your post in #blurt-131902 or #blurtconnect
Blurt to the Moon
Most welcome Votes for our community Witness Here
Your publication has been manually upvoted by @oadissinOfficial Blurtconnect-ng Page
Please delegate Blurt power to @blurtconnect-ng and help support this curation account
Also, keep in touch with Blurtconnect-ng family on 

Telegram and Whatsapp

  ·  3 months ago  ·  

Thank you.