diff --git a/src/main/java/com/ntlab/irisserver/entities/Room.java b/src/main/java/com/ntlab/irisserver/entities/Room.java index d0b44f9..7f2e750 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Room.java +++ b/src/main/java/com/ntlab/irisserver/entities/Room.java @@ -40,8 +40,10 @@ public int gameTimerFirstThinkingTimes; //int gameTimerFirstThinkingTimes; - - + @JsonProperty("RedMaster") + private Member RedMaster; + @JsonProperty("BlueMaster") + private Member BlueMaster; Map members= new HashMap<>(); Map drawings = new HashMap<>(); @@ -52,8 +54,69 @@ } + public List getDrawings() { + + List drawingslist = new ArrayList(drawings.values()) ; + return drawingslist; + + } + + //プレイヤーの情報を変更する public void changeTeamAndMaster(String nick, String belongs, boolean isMaster) { + + //変更対象の情報を取得 + 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; + } + + } public Member getMember(String nick) { @@ -128,4 +191,5 @@ } + } diff --git a/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java b/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java index 988cac0..22db30f 100644 --- a/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java @@ -2,10 +2,7 @@ import org.springframework.stereotype.Component; -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; +import javax.ws.rs.*; @Component @Path("/rooms") @@ -13,20 +10,20 @@ @GET @Path("/{rid}/game/drawings") - public String getDrawings(@FormParam("rid") int rid) { + public String getDrawings(@PathParam("rid") int rid) { // 絵のデータ取得 return null; } @GET @Path("/{rid}/game/drawings/{dno}") - public String getDrawing(@FormParam("rid") int rid, @FormParam("dno") String dno ) { + public String getDrawing(@PathParam("rid") int rid, @PathParam("dno") String dno ) { return null; } @PUT @Path("/{rid}/game/drawings/{dno}") - public String putDrawing(@FormParam("rid") int rid, @FormParam("dno") String dno ) { + public String putDrawing(@PathParam("rid") int rid, @PathParam("dno") String dno ) { return null; } diff --git a/src/main/java/com/ntlab/irisserver/resources/RoomsRest.java b/src/main/java/com/ntlab/irisserver/resources/RoomsRest.java index 5343568..6f426a7 100644 --- a/src/main/java/com/ntlab/irisserver/resources/RoomsRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/RoomsRest.java @@ -17,13 +17,12 @@ public Room makeRooms(@FormParam("nickname") String ownername){ RoomManager rm = RoomManager.getInstance(); Room room = rm.createRoom(ownername); - return room; } @GET @Path("/{rid}") - public Room getRoomMenber(@PathParam("rid") String rid){ + public Room getRoomMember(@PathParam("rid") String rid){ RoomManager rm = RoomManager.getInstance(); Room room = rm.getRoom(rid);