diff --git a/src/main/java/com/ntlab/irisserver/entities/Room.java b/src/main/java/com/ntlab/irisserver/entities/Room.java index a603c2d..8408f11 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Room.java +++ b/src/main/java/com/ntlab/irisserver/entities/Room.java @@ -55,18 +55,19 @@ public void changeTeamAndMaster(String nick, String belongs, boolean isMaster) { //上に追加するもの - /*private Member RedMaster; - private Member BlueMaster;*/ + Member RedMaster = null; + Member BlueMaster = null; //この関数のコメント - //メンバーの情報を変更する + //プレイヤーの情報を変更する - //変更するメンバーを取得 + //変更対象の情報を取得 Member m = members.get(nick); - //変更先のチームが満員の場合、変更はなし + //変更先のチームに既に所属している場合は変更なし if(m.getBelongs() != belongs){ + //1チームの最大人数は8人 //変更先のチームの人数を数える int memberscount = 0; List membersList = new ArrayList(members.values()) ; @@ -77,7 +78,7 @@ } } - //変更先のチームが満員であれば変更せずに返す + //変更先のチームが満員であれば変更不可 if(memberscount >= 8) { return; }else{ @@ -88,9 +89,27 @@ //マスターを変更 if(belongs == "r"){ - + //赤チームのマスターをメンバーに変更 + if(RedMaster != null){ + RedMaster.setMaster(false); + } + //変更対象を赤チームのマスターに変更 + m.setMaster(true); + RedMaster = m; + } + + if(belongs == "b"){ + + //青チームのマスターをメンバーに変更 + if(BlueMaster != null){ + BlueMaster.setMaster(false); + } + + //変更対象を赤チームのマスターに変更 + m.setMaster(true); + BlueMaster = m; }