diff --git a/src/main/java/com/ntlab/irisserver/entities/Room.java b/src/main/java/com/ntlab/irisserver/entities/Room.java index a0f1cb3..ebdbd2b 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Room.java +++ b/src/main/java/com/ntlab/irisserver/entities/Room.java @@ -61,6 +61,64 @@ } public void changeTeamAndMaster(String nick, String belongs, boolean isMaster) { + //上に追加するもの + 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()) ; + + for(Member mem :membersList){ + if(mem.getBelongs() == belongs){ + memberscount++; + } + } + + //変更先のチームが満員であれば変更不可 + if(memberscount >= 8) { + return; + }else{ + m.setBelongs(belongs); + } + + } + + //マスターを変更 + 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; + } + }