Zum Inhalt springen

Tician

Mitglieder
  • Gesamte Inhalte

    541
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    9

Beiträge von Tician

  1. vor 2 Stunden schrieb Whiz-zarD:

    Man könnte dir von Patterns, etc. erzählen aber das ist einfach vergeudete Mühe, weil du die sowieso nicht einsetzen willst.

    Ich will etwas einsetzen das ich verstehe. Nehmen wir mal den Schulunterricht. Wir lernen etwas direkt anhand der Praxis und der Lehrer ist geschult und kennt unseren momentanen Wissensstand und kann gut erklären. ier habe ich das nicht. Du hattest mir mal versucht zu erklären was ein interface ist, aber ich habe nicht ein einziges Wort verstanden.

    Versteh mich nicht falsch, ich möchte nicht sagen das es an dir liegt, im Gegenteil, ich kann nachvollziehen, dass du es als "vergeudete Mühe" betrachtest. Ich bin vielleicht schwierig, aber vorallem bin ich ein visuell veranlagter Mensch, du kannst mir so viel erzählen wie du willst, die Wahrscheinlichkeit das ich es verstehe ist gering. Ich kann mir keine Namen, Fachbegriffe, etc merken (nach 2 Jahren kenne ich etwa 7 Namen meiner  27 Klassenkameraden!), erst recht nicht wenn ich nicht jeden Tag damit zu tun habe.

    Microsofts Beispiele sind furchtbar und oft fehlt mir das Verständnis um das was ich sehe auf das was ich brauche zu übertragen. Ich möchte mich hiermit bei dir für die vergeudete Zeit entschuldigen, es tut mir leid.

    Außerdem ist jeder freizeitlich hier, ich erwarte nicht das sich jemand die Mühe macht eine Bilderbuch-ANleitung zu schreiben, aber vielleicht zumindest etwas Verständnis entgegen zu bringen das es ohne wohl bei mir nicht geht.

  2. brauche ich wirklich 'virtual', 'abstract', 'interface' und weißnichtwasnoch für sachen? Wie gesagt ich wollte mich Unterrichtsnah halten und wenn ich das dann nicht erklären kann wirds doof :/

    Mein größtes Problem ist das ich gerne ein "Player.Attack" hätte, aber mir kommt die behämmerten Form1-Dinger in die Quere.

    Vielleicht erkennt man das an meinem Code. Wenn ich sage das der Player schaden bekommt, dann kann ich in der Player-Klasse natürlich eine Methode "TakeDamage" machen, vielleicht auch einen Rückgabewert geben. Aber dann muss sich das Label verändern (string), dann muss sich der Balken verändern (int) und natürlich im Spieler-Objekt slebst die HP-variable verändern, außerdem muss noch eine textAusgabe erfolgen. Ich kann das also nicht so einfach aufrufen. Wenn jemand dazu eine Idee hat wäre ich schon um einiges glücklicher.

    vor 7 Minuten schrieb Whiz-zarD:

    Ansonsten ist da noch sehr viel, was man anders machen sollte aber darüber zu reden bringt wohl nichts.

    Warum schreibst du dann überhaupt? Solche Kommentare sind genau das was ich nicht brauche und die mich ständig in die Verzweiflung treiben. Manchmal versteh ich überhaupt nicht was du sagst, aber diese 2 Dinge oben habe ich verstanden. Ich würde die erstere gerne durchziehen, es sieht sauber aus und es ist auch nicht wirklich neu. Ich setze mich morgen mal an den Code und hoffe bis dahin eine Lösung für meine Problematik mit den Form-Elemente gefunden zu haben.

     

  3. https://pastebin.com/3krETNbs

    Der soweit spielbare Code (die Form1.Designer) mal weg gelassen. Keiner will vermutlich eine .exe-Datei ausführen, von daher lass ich die auch mal weg.

    Einiges werde ich jetzt übers Wochenende auch slebst anpassen, mir passt dieses halb-Form halb-Player nicht, aber ich wusste mir nicht zu helfen, ich werde wohl (weil ich nicht weiß wie ich die Form-Elemente von anderen Klassen aus verändern kann) alles in der Form1-Klasse machen. Außerdem sind viele DInge doppelt wie das "richTextBox1.ScrollToCaret();" das ich überall ran hängen muss, was auch doof ist.

    Wie gesagt auch einiges anderes, aber das wollte ich erstmal hier lassen.

    Tut mir einen Gefallen und versucht mir nicht den Kopf runter zu reißen^^ Konstruktive Kritik gerne gesehen, bitte auch mit Erklärung, ich möchte nur kein "Geh zurück zu den Basics" hören, das geht mir auf die Nieren und nimmt mir die Freude am programmieren.

  4. Das Ursprüngliche Problem war, dass eines der Panel die Buttons (Controls) nicht hatte die automatisch angelegt werden sollten. Vermutlich weil die Buttons keine unterschiedlichen Namen haben.

    Aber wie mir bestätigt wurde sieht mein Programm trotz aller Bemühungen wie Kraut und Rüben aus und das was in einem Tutorial steht ist wohl alles falsch, also ist jetzt

    vor 15 Stunden schrieb Whiz-zarD:

    so ziemlich alles falsch, was man nur falschmachen kann

    Um aus diesem ganzen Mist jetzt ein Konsolenprogramm zu schreiben (von dem ich hoffe das es einfacher wird weil ich mich nicht mit den ganzen Buttons und Panels aufhalten muss) wollte ich ein Klassendiagramm erstellen, aber mir fällt nichts mehr ein, für mich wäre das fertig und ich weiß nicht wie richtig das ist, dass komplett alles über die Main-Methode abläuft und aufgerufen wird. Auch habe ich jetzt noch keine Vorstellung was noch fehlen könnte.

    Das das bis Donnerstag fertig wird bezweifel ich, deswegen wird es jetzt ein Freizeit-Projekt.

  5. Also ich verzweifel gerade. Mir mangelt es vermutlich an logischem Denken, mir fällt nichts ein um das ganze Zeug zu verbinden, ich weiß nicht wo was hingehört, ich weiß nicht was noch benötigt wird.

    Kurzum: Ich bin zu dumm, ich habe keine Ideen. Ich weiß wie mein Spiel aussehen soll und könnte es programmieren (ja, es würde grausam aussehen und ich würde in kürzester Zeit an den Erweiterungen verzweifeln), aber ich bekomme keine Planung zustande.

    Habe vorher noch nie ein Diagramm erstellt, alles was wir gemacht haben war aus dem Code ein Diagramm erstellt oder aus einem Diagramm den Code geschrieben.

    Hier das was ich hinbekommen habe, mehr fällt mir nicht ein.

     

    Unbenannt.PNG

  6. Genau das war mein Gedanke, warum es sich so viel ändern würde. Ich versuche mal eine bessere Planung zu machen und ein UML-Klassendiagramm zu erstellen. Mein Problem ist das wenn ich dann programmiere merke das mir einiges fehlt. Aber jetzt habe ich zumindest schon einiges programmiert udn auch mal eine idee bekommen was ich brauche.

    Ich versuch das bis später hin zu kriegen.

     

    Das ist mein Alternativ-Projekt zur Vorstellung für den unterricht.

  7. Dann also nochmal: Wenn ich das projekt als Konsolenprojekt versuche (was mir zumidnest mal den Ärger mit den Form-Elementen erspart) was würde ich mit der World-Klasse machen? Ich bin mir ziemlich sicher selbst wenn ich sie nicht statisch mache das die Idee es als "Klasse in der alle anderen Objekte erzeugt werden" falsch ist?

  8. Bis ich mit einem Theoriebuch durch bin ist ein Jahr vergangen und dann habe ich auch wieder alles evrgessen. Gibt es nichts kürzeres?

    Zitat

    Allerdings dürfen Sie sich von der Objektorientierung nicht Antworten auf alle Probleme und Aufgabenstellungen der Softwareentwicklung erwarten. Die Erwartungen an die Möglichkeiten dieser Vorgehensweise werden in vielen Projekten zu hoch gesteckt.

    Zum einen führt die Nutzung objektorientierter Basismechanismen und objektorientierter Programmiersprachen nicht automatisch zu guten Programmen. Zum anderen adressiert die Objektorientierung einige Problemstellungen gar nicht oder bietet nur unvollständige Lösungsstrategien dafür.

    Zitat aus dem Buch. Also: Wo benutze ich sie nicht und was kann ich damit nicht machen? Das mal so als neugierige Frage weil hier jeder so sehr darauf rumhämmert und ohne wohl alles schlecht ist.

  9. Warum ignorierst du meine Aussage das ich verstehe was ich da mache?

    Wir haben ein Schach und ein Sudoku im Unterricht angeschaut, wir haben gelernt "So erstellst du eine Klasse, so funktioniert Vererbung, so macht man ein Objekt daraus, das macht ein Konstruktor und so 'übergibt' man Objekte über das was in der Klammer steht".

    Das ist das was wir in der Schule als OOP bezeichnen. Und die letzte Aussage war "Wenn man von einem Objekt nicht mehrere hat dann geht auch static".

    Oder was ist der Grund warum ich bei der Console.WriteLine nicht erst ein Objekt "Console" erzeuge und das static ist? Ich bin frustriert weil Wikipedia über OOP ist einfach grausam zu lesen, ich möchte etwas in einfachen Worten verstehen und nicht mit Fachbegriffen zugebombt werden.

    @Rienne Ich denke ein Konsoleprogramm ist eine gute idee. Wenn ich das jetzige Projekt also in ein Konsolen-Projekt umwandel, was mache ich mit der World-Klasse falsch? Wo sollen sonst sämtliche Elemente entstehen? Mach ich es einfach zur nicht-statischen Klasse?

  10. Ihr habt alle recht. Ich habe mich nach dieser Ableitung gerichtet aber WhizZard du musst zugeben ds deine Ansprüche echt hoch sind.
    https://scottlilly.com/learn-c-by-building-a-simple-rpg-index/

    Ich will das durchziehen, aber ich will es auch verstehen und ich bin zu stur um mit etwas kleinerem zu starte.

    Ja ich programmiere auch im Betrieb und diese Programme werden auch produktiv eingesetzt aber sie sind alle so klein das ich überhaupt keinen Sinn sehe da gros mit OOP rum zu machen. Und es kennt sich keiner der Kollegen mit c# geschweige denn mit OOP aus.

    Ich fürchte mir rennt die Zeit davon um dieses Projekt so hinzukrieen das es annehmbar aussieht, aber ich habe j auch eine Ersatzlösung. Die hatten wir im forum schon auseinander genommen :)

     

    Edit: Ich programmiere gerne, das sollte nicht nur ein Schulprojekt werden sondern hinterher auch als privates Projekt herhalten :)

  11. Ja, aus der Liste habe ich ausgelesen das mein Panel nur 1 Control hat^^

    Durch den Aufruf meiner Methode "CreateControls" sollte ja auch die foreach schleife ausgeführt werden oder nicht?

    Ich habe die World-Klasse mal angehängt.

    World.cs

  12. Nächstes Problem, ihr seid super hilfreich!

    Folgende Zeilen:

        public static class World
            private static void CreateControls()
            {
                Controls overview = new Controls(control_id_overview, "overview");
                Button back = new Button();
                overview.AddButton(back, "Back", true, true);
                foreach(Places place in placesList)
                {
                    string name = place.name;
                    Button button = new Button();
                    overview.AddButton(button, name, true, false);
                }
                controlsList.Add(overview);
            }
    
    
        public class Controls : Panel
            public int id { get; set; }
            
            public Controls(int id, string name)
            {
                this.id = id;
                this.Name = name;
    
                Location = new Point(185, 279);
                Size = new Size(377, 75);
            }
            
            public void AddButton(Button button, string text, bool enabled, bool visible)
            {
                button.Size = new Size(75, 23);
                button.Text = text;
                button.UseVisualStyleBackColor = true;
                button.Enabled = enabled;
                button.Visible = visible;
    
                int ccount = Controls.Count; //numer of buttons
                int x = ccount * 81 + 3;
                button.Location = new Point(x, 3);
    
                Controls.Add(button);

     

    Die Buttons die "direkt" als Controls zum Panel dazu geaddet werden funktionieren einwandfrei.

    Die Buttons die durch die foreach-schleife auftauchen sollten tun es nicht (ja, auch wenn ich sie sichtbar mache). Ich weiß nicht wie ich herausfinden kann was fehlt oder warum die nicht angelegt werden weil ich keinen Punkt im Programm habe an dem ich pausieren und den Code verfolgen kann. Ich kann nur allgemein pausieren und sehen das mein overview-Panel statt 2 Controls (back-button + ein place) nur den back-Button hat, also nur 1 Control. Seht ihr einen Fehler?

  13. @KeeperOfCoffee Es gibt kein Eigenschaftsfenster, diese Buttons werden alle rein über Code erzeugt, nix mit klicken^^

    @arlegermi Das wusste ich, aber sobald ich diese Namen änder erscheint oben rechts ein Fenster in dem Visual Studio mir sagt "Form1_Click umbenennen. 2 Referenzen in 1 Datei gefunden." Alles was ich machen kann ist auf "Übernehmen" zu klicken und damit hat es sich. Trotzdem wunder ich mich natürlich warum das überhaupt kommt und ob es eine Eigenschaft von Button gibt die ich vielleicht umbenennen muss.

  14. Jetzt habe ich doch wieder 2 Dinge.

    Es geht um folgende Abschnitte:

    	public partial class Form1 : Form
        {
            private void InitializeButtons()
            {
                World.LocationById(location_id_home).control.Controls[0].Click += homeExplore;
            }
    
            private void homeExplore(object sender, EventArgs e)
            {
                if (_player.discoveredForest == false)
                {
                    _player.discoveredForest = true;
                    richTextBox1.Text = "You walk around and found a forest!";
                    World.LocationById(location_id_home).control.Controls[2].Enabled = true;
                }
                else
                {
                    richTextBox1.Text = "There is nothing more to find here...";
                }
            }
    	}
    
    
        public static class World
        {
            public static readonly List<Location> locationsList = new List<Location>();
            public const int location_id_home = 1;
    
    
            private static void PopulateLocations()
            {
                Location home = new Location(location_id_home, "Home", "This is your home", ControlById(control_id_home));
                locationsList.Add(home);
            }
    
            public static Location LocationById(int id)
            {
                foreach(Location location in locationsList)
                {
                    if(location.id == id)
                    {
                        return location;
                    }
                }
                return null;
            }
        }

    1. Problem ist, dass mir irgendwas fehlt wenn ich rein schriftlich ein click-event für meinen Button schreiben möchte, ich muss immer die Tab-Taste drücken, das Event umbenennen und dann schreit mein Visual Studio nach einem Fehler und ich es benennt mein Event um. Das ist aber das kleinere Problem.

    2. In meiner Form1 schreit es das es den Namen "location_id_home" nicht kennt, dabei ist das doch eine public variable oder habe ich das jetzt missverstanden? Die Funktion "LocationByID" kann ich ja auch aufrufen.

    Hat sich erledigt, ich sollte auch ein "World." davior schreiben^^

     

    Wäre toll wenn mir jemand helfen könnte ohne mein Programm komplett auseinander zu nehmen, das dürft ihr noch früh genug^^

  15. vor einer Stunde schrieb arlegermi:

    Wieso braucht das Player-Objekt Elemente des Formulars?

    Ich hatte mich falsch ausgedrückt. Eigentlich ist es andersrum

    1. Die Elemente auf der Form brauchen Zugriff auf den Player, weil die Label und Leisten die HP, Exp,... des Spielers repräsentieren.

    2. Die "Controls" braucht Zugriff auf die Form da die Panels schließlich auf der Form angezeigt werden sollen. Die Controls sind wiederum Bestandteil der Locations.

    Und das ganze jetzt noch mit der Logik unter einen Hut zu bringen fällt mir schwer, weil mir die Idee fehlt.

  16. So, das ist der momentane Code: https://pastebin.com/3krETNbs

    Das Player-Objekt ist noch ein Problem weil es ja viele der Elemente auf der Form braucht. Ich brauche jetzt noch die Logik/den Ablauf, aber dazu brauche ich ebenfalls die Form um meine Panels darauf zu aktivieren und zu deaktivieren, deswegen bin ich mir unsicher wo ich sie hinschreibe, ich möchte ungern alles in die Form1-Klasse rein klopfen.

  17. @arlegermiDas ist perfekt! Ich muss das gerade in meinem Kopf nur zusammen bauen (und es sieht gerade so aus als wäre es für mich dann etwas anders als du es vor hattest, aber ich muss mal schauen ob das was ich da fabriziere später noch passt und Sinn macht). Aber der Gedankenstoß ist gut!

    Ich habe keine Button-Klasse gemacht, das wäre tatsächlich Schwachsinn, die Unterscheiden sich nicht von normalen Buttons.

    Aber: Da von den Controls (Panel) ein paar der EIgenschaften immer gleich sind habe ich sie gleich in der Controls-Klasse festgelegt.

    Wieviel Sinn macht das hier? (in meinem Kopf viel :P)  :

    public class Controls : Panel
        {  
            public int id { get; set; }
            
            public Controls(int id, string name)
            {
                this.id = id;
                this.Name = name;
    
                Location = new Point(185, 279);
                Size = new Size(377, 75);
            }
            
            public void AddButton(Button button, string text, bool enabled)
            {
                button.Size = new Size(75, 23);
                button.Text = text;
                button.UseVisualStyleBackColor = true;
                button.Enabled = enabled;
    
                int ccount = Controls.Count; //numer of buttons
                int x = ccount * 81 + 3;
                button.Location = new Point(x, 3);
    
                Controls.Add(button);
            }                 
        }

    Ich weiß die Buttons machen noch nichts, aber dazu werde ich später bei der Logik bzw dem Programmablauf noch kommen, vermutlich muss ich dann nochmal einiges ändern.

  18. @arlegermi Danke für deine vielen Verbesserungsvorschläge! Ich würde das Programm aber gerne erstmal zum laufen bringen und die Verbesserungen hinterher umsetzen. Ich wollte keine Unterrichts-fremden Dinge einsetzen (IEnumerate) weil ich sie nicht erklären kann. Was ich jetzt alles gemacht habe verstehe ich noch und kann es auch nachvollziehen.

    Mein Problem mit dem Control hast du leider nicht verstanden. Ich habe kein Problem ein Control (Panel) an eine Location zu binden, es geht eher um die reine Erstellung des Panels da es mehrere Buttons hat, aber wie du sagtest wird es wohl einfach mehr Schreibarbeit. Ich werde es mal so anfangen wie gehabt das ich einfach eine Klasse nur für Buttons mache, hinterher kann man ja immer noch ändern.

  19. Vielen Dank für eure Ideen und eure Meinungen. Ich bin vermutlich etwas starrköpfig, das war natürlich nicht das was ich hören wollte und vielleicht kommt noch der Punkt an dem ich vollkommen verloren bin, aber bis es soweit ist würde ich das gerne durchziehen. Dementsprechend habe ich das Wochenende über auch schon etwas Code produziert, würde mich aber freuen wenn ihr mir jetzt trotz allem bei einem Problem auf die Sprünge helfen könntet. Mein Projekt besteht aus zahlreichen Klassen, deren Eigenschaften und diese Eigenschaften im Konstruktor vereinigt.

    Dann gibt es da noch meine World-Klasse, diese ist statisch und in der werden sämtliche Objekte angelegt. Die World ist noch weit davon entfernt fertig zu sein, aber hier renne ich noch gegen ein Problem.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace BasicTextgame
    {
        public static class World
        {
            //Lists
            public static readonly List<Monster> monsters = new List<Monster>();
            public static readonly List<Location> locations = new List<Location>();
            public static readonly List<Controls> controls = new List<Controls>();
    
            static int time = 7;
            static int day = 1;
    
            //Monster
            public const int monster_id_wolf = 1;
            public const int monster_id_bee = 2;
    
            //Locations
            public const int location_id_home = 1;
            public const int location_id_forest = 2;
    
            static World()
            {
                PopulateMonsters();
                CreateControls();
                PopulateLocations();
                
            }
    
            public static int GetNextTime()
            {
                time += 1;
                return time;
            }
    
            public static int GetNextDay()
            {
                day += 1;
                return day;
            }
    
            private static void PopulateMonsters()
            {
                Monster wolf = new Monster(monster_id_wolf, "Wolf", 10, 10, 1, 10, 2, 1);
                Monster bee = new Monster(monster_id_bee, "Bee", 1, 1, 1, 1, 1, 1);
    
                monsters.Add(wolf);
                monsters.Add(bee);
            }
    
            private static void PopulateLocations()
            {
                //Location forest = new Location(location_id_forest, "Forest", "A normal forest", );
                //Location home = new Location(location_id_home, "Home", "This is your home", );
    
                //locations.Add(home);
                //locations.Add(forest);
            }
    
            private static void CreateControls()
            {
                //????
            }
        }
    }

    Bisher haben alle meine Klassen einzelne Eigenschaften die auch nur ein mal vorkommen, bisher kein Problem. "Controls" sollte ein Panel (erbt von Panel) mit Buttons sein das an die Location gebunden ist (deswegen fehlt bei den Locations noch der letzte Wert in der Klammer).

    Ein Panel sieht zum Beispiel so aus:

    		public Panel main		
    
    		Button explore = new Button();
                explore.Location = new Point(3, 3);
                explore.Size = new Size(75, 23);
                explore.Text = "Explore";
                explore.UseVisualStyleBackColor = true;
    
                Button wait = new Button();
                wait.Location = new System.Drawing.Point(84, 3);
                wait.Size = new System.Drawing.Size(75, 23);
                wait.Text = "Wait";
                wait.UseVisualStyleBackColor = true;
    
                Button locations = new Button();
                locations.Location = new System.Drawing.Point(165, 3);
                locations.Size = new System.Drawing.Size(75, 23);
                locations.Text = "Locations";
                locations.UseVisualStyleBackColor = true;
                locations.Enabled = false;
    
                Button sleep = new Button();
                sleep.Location = new System.Drawing.Point(246, 3);
                sleep.Name = "button4";
                sleep.Size = new System.Drawing.Size(75, 23);
                sleep.TabIndex = 3;
                sleep.Text = "button4";
                sleep.UseVisualStyleBackColor = true;
                sleep.Enabled = false;
    
                main = new Panel();
                main.Location = new Point(185, 279);
                main.Name = "panel1";
                main.Size = new Size(377, 75);
                main.TabIndex = 22;
                main.Controls.Add(explore);
                main.Controls.Add(wait);
                main.Controls.Add(locations);
                main.Controls.Add(sleep);

    Jetzt weiß ich keinen eleganten Weg um ein Panel zu bilden weil ein Panel unterschiedlich viele buttons hat. Mein Weg wäre eine Klasse zu machen die von 'Button' erbt und dann wieder in der World (?) Buttons zu erstellen und die dann dem Panel zuweisen. Geht es auch einfacher als eine rießen Ansammlung von Buttons zu haben und sie dann erst zu gruppieren?

     

    PS: Player ist nicht statisch^^ Ich dachte an die Erklärung unseres Lehrers der gemeint hat das man bei einem "Objekt" das es nur ein mal gibt eine statische Klasse nehmen könnte.

  20. Hallo zusammen,

    um meine Note für das 2. Lehrjahr in SAEL noch zu heben sollte ich im Unterricht ein Projekt in Form eines Referats vorstellen. Dazu gehört der Code selbst und ein Klassen-UML.

    Datum für den Vortrag: 06.07.2017

    Zeit: N/A, Lehrer hat noch keine Zeitangabe gemacht.

    Grundidee: Ein textbasiertes Abenteuerspiel. (Form-Anwendung)

    Warum? Es war immer schon ein Vorhaben von mir freizeitlich ein Spiel zu programmieren und das wäre die Möglichkeit mich da mal tatsächlich reinzuhängen und eine Grundlage zu schaffen um an diesem Projekt auch nach der Präsentation weiter zu arbeiten. Dadurch das ich mich nicht mit Grafiken rumschlagen muss hoffe ich auch auf einen Lerneffekt was den Code betrifft.

    Die Idee steht also, aber mir fehlt es noch an einem guten Grundgerüst und an der Umsetzung einiger Dinge.

    Ich wiederhole nochmal das ich kein Anwendungsentwickler bin und meine Programme normalerweise jeden AE dazu bringen die Hände über dem Kopf zusammen zu schlagen. Quasi sämtlichen Code untereinander schreiben, keine extra Klassen, etc. Hinzu kommt das ich eher seltener außerhalb des Unterrichts programmiere. Das möchte ich hiermit wieder ändern. Was ich also sagen möchte: Habt bitte Nachsicht und kommt mir nicht mit tausend neuen Dingen, nur weil sie moderner sind. Außerdem geht es rein um den Code, ich mache mir keine Gedanken über jegliche Texte/Story oder sonst etwas.

    Die Idee wie sie in meinem Kopf geistert (absolut nur ein Konzept):

    Form: Einen Lebensbalken für den Charakter, eine Level-anzeige, eine Erfahrungs-anzeige, eine Geld/Gold-anzeige, eine Anzeige für die Spiel-Uhrzeit, eine Anzeige für die Spiel-Tage, natürlich ein großes Textfeld in dem die Ausgabe von Text geschieht und zuguterletzt einige Buttons die sich verändern, je nach Situation (ausgrauen, ganz verschwinden, ersetzt werden,...)

    Ablauf des Spiels: (für das Verständnis)

    - Story-Text-Ausgabe, Namensabfrage

    - Spieler bekommt 4 Buttons angeboten: Warten (1 Spielstunde verstreicht, Spieler bekommt Leben gutgeschrieben); Erkunden (Spieler wird die erste 'Gegend' finden); Gegenden (vorerst ergraut, sollte nach der ersten Erkundung freigeschaltet werden); schlafen (wird erst nach 21 Uhr Spiel-Uhrzeit als einzige Option zur Verfügung gestellt und erhöht den SPiel-Tag um 1)
    - Beim wählen von "Gegenden" (nach der Erkundung) werden neue Buttons angezeigt: 'zurück' und "Wald" (sollte die erste gegend sein)
    - Beim wählen von "Wald" wird random eines von 5 Ereignissen gewählt: stolpern (minimaler Lebensabzug); keine besonderen Ereignisse; Spieler wird von einem Tier angegriffen; ?; ? (hier überlege ich mir noch irgendwas). Bei jeder Erkundung einer Gegend (Ereignis) verstreicht eine Spielstunden
    - Der Kampf gegen das Tier: Die Buttons verändern sich wieder: Angriff; Flucht (führt mit gewisser Wahrscheinlichkeit zurück zu "gegenden". Der Kampf ist rundenbasiert.
    Da mag jetzt noch einiges fehlen, gerade die SPiel-Tage haben noch keine Funktion, die würde ich aber gerne auch noch nicht einbeziehen, das wird dann etwas für den weiteren Ausbau des Spiels, je nachdem wie weit ich komme.

    Code (soweit ich jetzt schon denken kann)
    Klassen (Eigenschaften):

    static Spieler (Name, momentanes Leben, maximales Leben, Angriffkraft, Level, momentane Erfahrungspunkt, benötigte Erfahrungspunkte, Gold)

    Menüs (ID/Name, benötigte Buttons)

    Gegend (id/name, mögliche Ereignisse)

    Gegner/Monster (id/name, level, angriffskraft, maximales leben, momentanes leben)

    ???

     

    Wo ich jetzt schon Schwierigkeiten sehe:

    - Die Buttons die sich verändern sollen, ich weiß noch nicht genau wie ich das bewerkstelligen werde, ich glaube aber mit etwas experimentieren und google würde ich da was hinzaubern

    - Die Logik (Ablauf, kampfsystem, permanente abfragen), ich weiß nicht ob das in die Main soll oder ob ich viel zu wenig Klassen habe und das ausgelagert werden sollte.

     

    Ich würde mich über Anregungen, Ideen, VOrschläge oder Verbesserungen freuen, ich werde mich vermutlich direkt schonmal an den Aufbau der Oberfläche machen und hoffe dieses Wochenende schonmal ein Grundgerüst für die Klassen, Eigenschaften und Methoden zu bekommen.

    Vielen Dank schonmal

     

    Tician

  21. Es gab mal ne Zeit lang ein Projekt, aber ich glaube das ist untergegangen. Hieß irgendwas mit LoL Quests und war richtig cool! Man hat sich auf einer HP registriert und seinen LoL Acc verifiziert (fragt mich nicht wie, natürlich nicht durch Eingabe von Passwörtern) und dann hat man Quests bekommen: Bestimmte Champs spielen, nicht sterben, einfach nur gewinnen oder für mehr Punkte irgendwas verrückteres machen und vieles mehr, die waren da echt kreativ.

    Wenn man die Quest erledigt hatte wurde es überprüft und man hat Punkte dafür bekommen die man sammeln und auch eintauschen konnte.

    Wie gesagt ist unter gegangen, aber das würde ich mich auch für LoL (dauerhaft) wünschen^^

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...