Auf Thema antworten

Hallo nochmal,

Hätte da mal wieder ne Frage.

Also:

Ich hab mal ne Frage welche Lösungsvorschläge ihr Für mein Problem habt.

Ich möchte die Variable aktuellerNPC ändern diese enthält den NPC der aktuell verwendet werden soll.

Nun weiß ich nicht genau wie ich das mit den Räumen vereinen soll.

Hier ist erstmal mein Quelltext:

[code=Java]

class Spiel

{

    private Raum aktuellerRaum; //der Aktuell verwendete Raum

    private NPC aktuellerNPC;    // der Aktuell verwendete NPC

    private String x; //eine Hilfsvariable

 

    public Spiel()

    {

        NPCerstellen();

        raeumeAnlegen();

    }


    private void raeumeAnlegen()

    {

        Raum Test

        TestRaum = new Raum("Test Beschreibung", ); //hier sollte dann noch die Information zu dem NPC hinzu

    }

    private void NPCerstellen() //erstellt einen NPC

    {

        NPC Test;

       

        Test = new NPC();

        Test.befuellen("hallo","Hallo, ich bin ein Test NPC."); //befüllt eine HashMaP

        Test.befuellen("kaufen", "Ich kann noch nichts verkaufen.");

    }

    private void wechsleRaum(Befehl befehl) //Befehl ist

    {

        if(!befehl.hatZweitesWort()) //unwichtig

        {

            // Gibt es kein zweites Wort, wissen wir nicht, wohin...

            System.out.println("Wohin möchten Sie gehen?");//unwichtig

            return; //unwichtig

        }


        String richtung = befehl.gibZweitesWort(); //erstmal unwichtig

   

        naechsterRaum = aktuellerRaum.nextRaum(richtung);

        Raum naechsterRaum = null;


        x = aktuellerRaum.gibnpc(); //Variable x als Platzhalter

        if ( x.equals(null)) //soll gucken ob x null ist

         {

             aktuellerNPC = null;

         }

         else

         {

             aktuellerNPC = x; //hier liegt mein Problem, Ich kriege es nicht hin hier den NPC der Variable aktuellerNPC hinzuzufügen

         }

           


       


        if (naechsterRaum == null) //unwichtig

        {

            System.out.println("Dort ist keine Tür!");//unwichtig

        }

        else {//unwichtig

            aktuellerRaum = naechsterRaum; //unwichtig

            System.out.println("Sie " + aktuellerRaum.gibBeschreibung()); //unwichtig

            System.out.print("Ausgänge: "); //unwichtig

            System.out.println(aktuellerRaum.gibAusgaenge()); //unwichtig

            System.out.println(); //unwichtig

        }

    }

}

[/code]


Und hier von der Klasse raum

[code=Java]

import java.util.*;


class Raum

{

    private String beschreibung;

    private HashMap<String, Raum> ausgaenge;

    private String npc;


  

    public Raum(String beschreibung, String npc) //habe jetzt erstmal String genommen, geht aber so nicht

    {

        this.beschreibung = beschreibung;

        this.npc = npc;

        ausgaenge=new HashMap<String, Raum>();

    }


   

    public void setzeAusgang(String richtung, Raum ausgang)

    {

        ausgaenge.put(richtung, ausgang);

    }


   

    public String gibBeschreibung()

    {

        return beschreibung;

    }

   

    public String gibnpc ()

    {

        return npc;

    }

}



[/code]

Bei Fragen gerne fragen^^

MfG


Edit: Methode erstelleNPC hinzugefügt



Oben