diff --git a/src/main/java/com/ntlab/irisserver/entities/Game.java b/src/main/java/com/ntlab/irisserver/entities/Game.java index 16ce049..39f465e 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Game.java +++ b/src/main/java/com/ntlab/irisserver/entities/Game.java @@ -56,6 +56,9 @@ color.add("d"); Collections.shuffle(color);//r,b,g,dをランダムにマップに割り振る + List randKeys = Arrays.asList(keywords);//コンストラクタの引数で受け取ったキーワードをリストに変換 + Collections.shuffle(randKeys);//キーワードをシャッフル + //Cellのインスタンス作成 for(int i=0; i<16; i++){ Cell c = new Cell(); @@ -63,6 +66,9 @@ c.setCno(i); c.setColor(color.get(i)); c.setDno(map.get(i)); + + //今回のゲームで使用するキーワードを追加 + keywordList.put(i, randKeys.get(i));//(dno, キーワード) } } @@ -90,9 +96,8 @@ return keyword; } - public List getKeywords() { - List keywords = new ArrayList<>(keywordList.values()); - return keywords; + public Map getKeywords() { + return keywordList; } public Map> getAssignments(){ diff --git a/src/main/java/com/ntlab/irisserver/resources/GameRest.java b/src/main/java/com/ntlab/irisserver/resources/GameRest.java index 03c3544..cd769b2 100644 --- a/src/main/java/com/ntlab/irisserver/resources/GameRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/GameRest.java @@ -11,6 +11,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import java.util.List; +import java.util.Map; @Component @Path("/rooms") @@ -36,4 +37,21 @@ List color = game.getColor(); return color; } + + @GET + @Path("/{rid}/game/keywords") + @Produces(MediaType.APPLICATION_JSON) + public List getKeywords(@PathParam("rid") String rid){ + RoomManager rm = RoomManager.getInstance(); + Room room = rm.getRoom(rid); + Game game = room.getGame(); + Map keywordList = game.getKeywords(); + List map = game.getMap(); + List keywords = null; + for(int i=0; i<16; i++){ + keywords.add(keywordList.get(map.get(i))); + } + return keywords; + } + }