Room.java 文件源码

java
阅读 39 收藏 0 点赞 0 评论 0

项目:Gobang 作者:
public void join(User player2) {
    if (player2 == null) {
        return;
    }
    if (playing && checkOpen(player2)) {
        try {
            spectators.add(player2);
            player2.addMessageHandler(handler.new SpectatorHandler(player2));
            RemoteEndpoint.Basic remote = player2.getBasicRemote();
            remote.sendText("start:spectator");
            updateAllMap(-1, true, player2.getBasicRemote());
            remote.sendText("status:white:" + (turnToBlack ? "Waiting..." : "Holding..."));
            remote.sendText("status:black:" + (turnToBlack ? "Holding..." : "Waiting..."));
            remote.sendText("join:white:" + (player1IsWhite ? player1.getName() : this.player2.getName()));
            remote.sendText("join:black:" + (!player1IsWhite ? player1.getName() : this.player2.getName()));
            broadcast("join:spectator:" + player2.getName());
        } catch (IOException ex) {
            spectators.remove(player2);
        }
        return;
    }
    this.player2 = player2;
    broadcast("join:" + (player1IsWhite ? "black" : "white") + ":" + player2.getName());
    sendToPlayer2("join:" + (player1IsWhite ? "white" : "black") + ":" + player1.getName());
    if (canStart()) {
        start(false);
    }
    player2.addMessageHandler(this.handler.new Player2Handler());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号