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.
Telegram and Whatsapp
Thank you.