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.
ich bin ein ziemlicher Anfänger in Java und komme bei einem Problem nicht weiter. Ich weiß das man Objekte von anderen Klassen erstellen kann, weil man vorher ein Datenfeld mit diesem Typen erstellt hat, aber wie kann man auf Objekte zugreifen die grade erst erstellt wurden in Bluej? Ich erzeuge eine Instanz mit einem bestimmten Namen. Nun will ich mit einer Methode diese Instanz übernehmen. Wie mache ich das? Danke!
das ist für eine Art Spiel. Ich habe die KLasse Held. Der hat ein Datenfeld mit dem Typ Waffe. Waffe ist selber eine Klasse. Ich habe es nun so programmiert das beim erstellen des helden automatisch auch eine Waffe erstellt wird die er benutzt. Ich will aber eine Methode schreiben mit dem er Waffen aufnehmen kann, die ich aus der Klasse Waffe dann erstelle
Java:
private Ruestung Ruestung3;// Die Schienbeinschuetzer
public Held( String Name2) // Name des Heldens und Festlegung der Anfangsattribute
{
Name=Name2;
level=1;
Erfahrungmax=100;
Erfahrung=0;
Lebenspunktmax=100;
Lebenspunkte=100;
Willenskraft=1;
Waffe1= new Waffe("Anfangswaffe", 5);
Grundstaerke=25;
Kampfkraft= Grundstaerke+Waffe1.schaden;
Ruestung1= new Ruestung("Anfangshelm", 1, 5);
Ruestung2= new Ruestung("Anfangsrumpfrüstung", 2, 5);
Ruestung3= new Ruestung("Anfangsschienbeinschuetzer", 3, 5);
Ruestungswert= Ruestung1.Wert+Ruestung2.Wert+Ruestung3.Wert;
}
public void Waffeaufnehmen(String Waffenname)
{
??????
}
}
Entschuldigung es war nicht der vollständige quellcode:
Java:
/**
* Write a description of class Held here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Held
{
private String Name; //Name des Helden
private int level; // Level des Helds
private int Erfahrungmax; // Der Wert den der Held braucht um ins Nächste Level zu kommen
private int Erfahrung; // Die Erfahrung die der Held besitzt
private int Lebenspunktmax; // Das sind die maximalen Lebenspunkte die der Held haben kann
private int Lebenspunkte; // Das sind die Lebenspunkte die der Held zurzeit hat
private int Grundstaerke;// bestimmt die Stärke des Helden
private int Willenskraft; // Willenskraft bestimmt die Geschwindigkeit wie sich Lebensunkte u. Mana wieder aufladen
private int Ruestungswert; // Das bestimmt die Ruestung des Helden, also wieviel vom Schaden abgeblockt wird
private int Kampfkraft;// Ist der Schaden den der Held mit der Waffe anrichten kann
private Waffe Waffe1;// Ist die Waffe
private Ruestung Ruestung1; // Ist der Helm
private Ruestung Ruestung2;// Ist die Rumpfrüstung
private Ruestung Ruestung3;// Die Schienbeinschuetzer
public Held( String Name2) // Name des Heldens und Festlegung der Anfangsattribute
{
Name=Name2;
level=1;
Erfahrungmax=100;
Erfahrung=0;
Lebenspunktmax=100;
Lebenspunkte=100;
Willenskraft=1;
Waffe1= new Waffe("Anfangswaffe", 5);
Grundstaerke=25;
Kampfkraft= Grundstaerke+Waffe1.schaden;
Ruestung1= new Ruestung("Anfangshelm", 1, 5);
Ruestung2= new Ruestung("Anfangsrumpfrüstung", 2, 5);
Ruestung3= new Ruestung("Anfangsschienbeinschuetzer", 3, 5);
Ruestungswert= Ruestung1.Wert+Ruestung2.Wert+Ruestung3.Wert;
}
public void Waffeaufnehmen(String Waffenname)
{
??????
}
}
Am intuitivsten fänd ich es wenn der Held eine Waffe aufnimmt, dass er nicht den Namen der Waffe nimmt sondern die Waffe selbst.
[c]public void waffeAufnehmen(Waffe w)[/c]
Dann lassen sich auch Dinge einfacher gestalten, z.b. 2 gleichnamige Waffen ("Kurzschwert"), wobei eine grade frisch geschmiedet ist und die andere vielleicht schon etwas mehr geschärft wurde...
p.s: An Rüstung würd ich zuerst den Torso schützen statt den Beinen, aber das kommt drauf an was man sich so leisten kann für den Anfang