Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo ich bin mit OOP noch ziemlich überfordert und muss aber jetzt eine Afgabe lösen. Ich will ein Konsolenbasiertes Spiel schreiben bei der Mann zunächst einen Charakter wählen muss und dann eine Waffe. So ich hab die Klassen Waffe, Charakter und Main und in main ist ein scanner der die figur auswählt so ich verstehe jetzt irgendwie nicht wie ich daber weitermachen kann. Wie sag ich dem Programm jetzt das er dieses Objekt benutzen soll?
Also Du kannst z.B. einen Charakter als Klasse haben, die den Namen definiert. Der Name wird eingegeben und dann hast Du da etwas wie:
Code:
String name = ... // Eingabe des Namens.
Charakter charakter = new Charakter(name); // erzeugt eine Instanz von Charakter.
// Hier kannst Du mit der charakter Variable weiter arbeiten.
Ich weiß das ist schwer zu verstehen ich weiß nicht wie ich das erklären soll. Also ich hab jetzt mit einem Scanner eine zahl eingelesen und dann in dem jeweilen Case fall eine varaiblen zuweisung gemacht. und nach dem switch case hab ich dann mit der variable das objekt erstelllt.
Das funktioniert auch aber das ist doch nicht wirklich richtig so oder?
Java:
switch(choice){
case 1:
System.out.println("Sie haben Sheldon gewählt");
charname = "Sheldon";
break;
case 2:
System.out.println("Sie haben Leonard gewählt");
break;
case 3:
System.out.println("Sie haben Rajesh gewählt");
break;
case 4:
System.out.println("Sie haben Howard gewählt");
break;
default:
System.out.println("Falsche eingabe.");
break;
}
Charakter Sheldon = new Charakter(charname , 12);
In den Fällen zwei bis vier fehlt wahrscheinlich noch die Zuweisung des gewählten Namen auf die Variable charname.
Anschließend erstellst du ein Objekt der Klasse Charakter. Die Bezeichnung (Sheldon) ist seht ungünstig gewählt. Durchläufst du den zweiten Fall, hat man Leonard gewählt. Der Name wird zwar richtig gesetzt und es tritt auch kein Fehler auf. Wenn du nun mit dem erstellten Charakter weiterarbeitest und dieser wie bei dir Sheldon heißt, ist das für die Lesbarkeit des Codes nicht besonders förderlich. Dieser Name deutet darauf hin, dass es sich bei dem Helden um Sheldon handelt, was aber nicht unbedingt der Fall sein muss.
Also die Variable enthält ja nicht Sheldon sondern den gewählten Charakter. Daher würde ich den auch einfach charakter oder gewaehlerCharakter oder so nennen.
Und dann hast Du es ja schon fast fertig. Noch überall ein charname="xxx"; mit in das case und dann den letzten Fall mit der falschen Eingabe noch irgendwie abfangen, damit man da nicht weiter läuft und Du hast es.
Okay danke ich glaube ich bin sehr festgefahren in der strukturierten Programmierung.. Ich versteh noch nicht so richtig wofür ich jetzt die zusätzlichen Klassen brauche (ich weiß theoretisch wofür) mein unterbewusstsein sträubt sich -.-