OK去除,所以我有此HashMapJava的不是从HashMap的
private Map<String, Player> players = new HashMap<String, Player>();
下面是我用它来去除:
public void destroy() {
players.remove("Red");
os.println(me.getUsername() + "|1|has left|yes|chat");
}
我说红,因为它只是一个测试现在。我稍后会得到最终的正确答案。无论如何...
我用这个来检查。
if (e.getKeyCode() == KeyEvent.VK_Q) {
for (Player playert : players.values()) {
c.append("\n < "+playert.getUsername() + " > ");
}
}
当我全部由自己..我按Q,我得到:
<Dan>
然后我的朋友红色的日志中,我按Q ...我得到:
<Dan>
<Red>
然后他就离开我按Q,我得到:
<Dan>
<Red>
所以......这怎么不起作用?
而且,这里是获取到了init()调用时,在游戏中玩家日志(开始的小程序)代码
public void playerLogin() throws IOException {
Random roll = new Random();
int newNo = roll.nextInt(200);
// me.getUsername() = "Guest #" + roll.nextInt(110);
// String me.getUsername() = getParameter("name");
me = new Player();
me.setUsername(getParameter("name"));
me.setPlayerImage(ImageIO.read(getClass().getResource("me.gif")));
me.setX(256);
me.setY(256);
me.setMap(1);
me.setCommand("move");
players.put(me.getUsername(), me);
repaint();
System.out.println(me.getUsername() + " was added. player: " + me);
os.println(me.getUsername() + "|" + me.getX() + "|" + me.getY() + "|"
+ me.getMap() + "|" + me.getCommand());
attack = 4;
defense = 5;
gold = 542;
level = 1;
exp = 53;
}
你也应该发布你的代码,它显示了当你登录时如何将玩家添加到玩家对象中的方式。 – 2010-08-18 20:24:39
这个代码实际上调用了destroy方法。 – Steve 2010-08-18 20:25:44
当用户退出小程序所在的网页时,将调用destory方法。我编辑了我的帖子以包括玩家登录时发生的情况 – nn2 2010-08-18 20:26:56