Hulp nodig bij items in HashMap

Status
Niet open voor verdere reacties.
Is er geen andere manier? Want als ik inventory een HashMap moet maken kan ik ongveer alles weer opnieuw gaan doen....
 
nee hoor, is zo gedaan. maar je kan het ook zo doen (in inventory class) als je het met arraylist wilt doen:

[cpp]
public Item getItem(String itemName){

for (Item currentItem : inv){
if (currentItem.getItemDescription().equals(itemName)){
return currentItem;
}
}
//item not found
return null;

}

[/cpp]
 
Laatst bewerkt:
Oke ik heb het in inventory gezet en mijn eatApple is nu zo:
Code:
 public void eatApple()
    {
        if(name.equals("golden_apple")) {
              //First see if we have a golden_apple in our inventory
              Item golden_apple   = inv.getItem("golden_apple");
             if(golden_apple != null) {   
                 System.out.println("nice apple");
                 regenHealth();
                }
                else{
                    System.out.println("U cant eat this!!!");
                }
                
         }
        }

en in game heb ik dit zodat eatApple wordt uitgevoerd als je het commando "eat" ingame intypt
Code:
 private void eat()
    {
        p.eatApple();
    }

Enkel als ik nu de game run, ik loop door het huis, gaat wat health af, ik pak de apple in mijn inventory en ik doe het commando "eat" dan gebeurt er niks....
Enig idee?
 
dat heeft waarschijnlijk hiermee te maken:

if(name.equals("golden_apple")) {

wat is name ?
 
je hebt gelijk, zou ik ervan dan moeten maken : if(currentRoom.name.equals?
Of public Item eatApple?
 
dat zou kunnen ja, je wilt namelijk de naam van het Item opvragen dus: currentRoom.getItemName(); als die nog niet bestaat dan even aanmaken.
 
ok je hebt nu in de player class een currentRoom object gemaakt van het type Room ( Room currentRoom; )

vervolgens zeg je in de eatApple methode currentRoom.getItemName().equals("golden_apple");

hier zijn een aantal dingen aan fout. Een player kan geen room bevatten. de Game class heeft al een room (currentRoom) die zul je moeten gebruiken (mits je dat wilt ?). Dit is enigsinds mijn schuld aangezien m`n vorige post niet echt nuttig was (lees fout) :P

je kan het zo kunnen doen doen.
[cpp]
public void eatApple()
{
//First see if we have a golden_apple in our inventory
Item golden_apple = inv.getItem("golden_apple");
if(golden_apple != null) {
System.out.println("nice apple");
regenHealth();
}
else{
System.out.println("U cant eat this!!!");
}

}
[/cpp]


http://dl.dropbox.com/u/3380837/game.rar
 
Laatst bewerkt:
Oke nog een aller,allerlaatste vraag;)
Zou het mogelijk zijn om sommige deuren af te sluiten dmv van een key?
De Items heb ik daarvoor al aangemaakt en in kamers gestopt enkel nu moet ik dus zegmaar een deur van bathroom op slot doen en die is alleen toegankelijk als je een silver_key hebt, hoe kan je dit eenvoudig maar wel effectief oplossen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan