Hallo Giktayms, ich möchte über mein erstes Projekt in c # sprechen. Da ich mich für Computerspiele interessiere, wollte ich etwas aus diesem Bereich machen. Ich habe eine Idee aus einer Reihe von
Borderlands- Spielen übernommen, nämlich ein Waffengenerierungssystem. Ich habe es natürlich sehr vereinfacht.
Ich denke, es ist besser, von vorne zu beginnen. Ich habe bereits versucht, in C ++ zu arbeiten, aber etwas hat nicht funktioniert. Seit Sommer interessiert er sich für die Sprache c #, zunächst halfen
Microsoft-Videovorträge wirklich. Nach dem Kurs wollte ich etwas Interessantes machen. Also habe ich angefangen zu arbeiten.
Was ich von Anfang an wollte:
- Arbeiten Sie mit TXT- und BMP-Dateien
- Speichern Sie Dateien und löschen Sie sie aus dem angegebenen Verzeichnis
- Damit alles funktioniert + für einen angenehmen Entwicklungsprozess
Das Waffengenerierungssystem selbst ist ein Rätsel. Im Spiel
Borderlands wird eine Schusswaffe erstellt und die Teile dort sind geeignet (Hintern, Handschutz, Lauf usw.). Sie werden in einem Stück zusammengebaut und die fertige Ausrüstung erhält die den Teilen entsprechenden Eigenschaften. Er hat auch einen Hersteller, Namen und Level. Es gibt auch eine separate Liste der bereits erstellten "legendären" Waffen mit besonderen Eigenschaften und einer geringen Wahrscheinlichkeit, herauszufallen. Ich habe dieses System in c # gemacht. Wollte nur Messer machen. Für den Anfang habe ich beschlossen, Schwerter aus zwei Teilen zu erzeugen: Klinge + Griff.
Was implementiert:
- Wir lesen txt-Dateien mit Teilelisten und entsprechenden Merkmalen.
- Wählen Sie jedes Teil zufällig aus (Klinge + Griff).
- Wir verbinden ihre Bilder, nehmen das arithmetische Mittel ihrer Eigenschaften, wenden Änderungen vom Hersteller an, fügen ihre Namen hinzu (Adjektiv + Substantiv).
- Einige Hilfsmethoden: "Waffen verkaufen", "Truhe finden" und "Feind töten" (die letzten beiden unterscheiden sich nur in ihrer Chance, legendäre Waffen zu erhalten).
Textdateien waren das einfachste Element im Programm. Sie enthielten Zeilen mit Merkmalen: Name, Kampfgeschwindigkeit, Schaden, Chance auf kritischen Schaden, Preis, Hersteller, Stufe und Bildnummer für die Merkmale dieser Zeile.
Hier ist eine Textdateiansicht für legendäre Schwerter:
UltraLord 5 100 20 1000 Mensch 11 31.
TitanKiller 6 90 23 1000 orc 11 32.
SoulEater 4 120 21 1000 Daemon 11 33.
Mit Bildern war es viel schwieriger. Ich musste die im Internet gefundenen Bilder bearbeiten. Er machte Pixelbilder 200x600. Damit alles passt, habe ich die Teile genau in der Mitte platziert. Später trat ein anderes Problem auf: Das Farbschema und die Details der Elemente unterschieden sich. Dieses Problem kann in der Anfangsphase der Bilderzeugung gelöst werden: Zeichnen Sie in einer Farbe und malen Sie dann die bereits erstellte Waffe.
Alle möglichen Optionen für herkömmliche Schwerter:

Drei legendäre Schwerter:

Vorteile dieses Systems:
- Die Anzahl der fertigen Waffen wächst geometrisch mit einem weiteren Teil. Zum Beispiel habe ich 2 Teile von 5 Teilen - insgesamt 25 verschiedene Schwerter. Wenn Sie weitere Details mit 5 verschiedenen Instanzen hinzufügen, entspricht die Anzahl der Optionen 125.
- Der Wunsch, Waffen aus den besten Teilen zu holen, sorgt für zusätzliche Spielspaß.
Nachteile:
- Alle Teile müssen füreinander geeignet sein.
- Schwieriger zu implementieren.
Ich habe alles auf
GitHub gepostet und Kommentare in meinem Programm gemacht. Der Prozess des Entwickelns, Zeichnens und Studierens war für mich faszinierend. Geschäft mit Vergnügen verbinden. Vielleicht werde ich weitere Arten von Waffen hinzufügen: Bögen, Äxte ... Ich denke auch darüber nach, dieses Projekt mit zusätzlicher Interaktivität auf Windows Forms zu übertragen, damit ich auswählen kann, welche Teile zusammengebaut werden sollen. Wenn Sie Fragen oder Kommentare haben, werde ich versuchen zu beantworten. Ich werde mich besonders über neue Ideen freuen.
PS Links zu gebrauchten Bildern