Java пытается получить все кэшированные - PullRequest
0 голосов
/ 22 мая 2011

Я кеширую некоторых определенных игроков в моей маленькой игре, и теперь в своем методе бега я хочу проверить всех, кто кешируется, и дать им вознаграждение, вместо getAllplayersOnline и проверить, есть ли они на этой определенной карте, я только что кешировалони входят в эту карту.

public static HashMap<Integer,MapleCharacter> fishlist = 
               new HashMap<Integer,MapleCharacter>();

Затем я добавил

fishlist.put(chr.getId(), chr);

в мой метод запуска, я попробовал

                 if(UseChairHandler.fishlist.containsKey(chr.getId())) {
//do stuff

, но это не сработало...ные идеи?

Ответы [ 2 ]

0 голосов
/ 22 мая 2011

Добавить дополнительные выходные данные отладки.A System.err.println(fishlist) может творить чудеса.Всегда ли chr.getId () возвращает правильный идентификатор?Кроме того, если ваша игра многопоточная, вы столкнетесь с проблемами, если не правильно синхронизировать доступ к карте.

0 голосов
/ 22 мая 2011

набор записей позволяет вам зациклить всю карту

for(Map.Entry<Integer,MapleCharacter> entry:fishlist.entrySet() ){
    //entry.value() is a MapleCharacter in the map
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...