diff --git a/src/main/java/com/ntlab/irisserver/models/RoomManager.java b/src/main/java/com/ntlab/irisserver/models/RoomManager.java index 877a9a4..ad1c190 100644 --- a/src/main/java/com/ntlab/irisserver/models/RoomManager.java +++ b/src/main/java/com/ntlab/irisserver/models/RoomManager.java @@ -44,12 +44,21 @@ //--------------------------------テスト用-------------------------------------- public void createTestRoom() { + //テストルーム作成 + Room tr = new Room("roomtest", "test"); + rooms.put("roomtest", tr); + tr.addMember("test"); + //お絵描きテスト用 Room dr = new Room("drawtest", "draw"); rooms.put("drawtest", dr); + dr.addMember("draw"); + //ゲームテスト用 Room gr = new Room("gametest", "game"); rooms.put("gametest", gr); + gr.addMember("game"); + } diff --git a/src/main/java/com/ntlab/irisserver/resources/TestRest.java b/src/main/java/com/ntlab/irisserver/resources/TestRest.java index 987c031..ff245ac 100644 --- a/src/main/java/com/ntlab/irisserver/resources/TestRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/TestRest.java @@ -27,6 +27,29 @@ this.applicationContext = applicationContext; } + public void shafflem(Room room){ + List mem = room.getMembers(); + Collections.shuffle(mem); + for(int i=0; i < 8; i++){ + if(i >= mem.size())break; + Member info = mem.get(i); + if(i==0){ + info.setMaster(true); + room.changeTeamAndMaster(info.getNickname(), "r", true); + }else if(i==1){ + info.setMaster(true); + room.changeTeamAndMaster(info.getNickname(), "b", true); + }else{ + info.setMaster(false); + } + if(i % 2 == 0){ + info.setBelongs("r"); + }else{ + info.setBelongs("b"); + } + } + } + @PUT @Path("/test") public void putTestRoom(){ @@ -34,22 +57,22 @@ RoomManager rm = RoomManager.getInstance(); rm.createTestRoom(); + Room tr = rm.getRoom("roomtest"); Room dr = rm.getRoom("drawtest"); Room gr = rm.getRoom("gametest"); - dr.addMember("draw"); - gr.addMember("game"); //メンバー設定() int length = 0; char[] rch; rch = new char[3]; String rname; - while(length < 10){ - for(int i = 0; i<3; i++){ + while(length < 8){ + for(int i = 0; i<4; i++){ Random random = new Random(); rch[i] = (char)(random.nextInt(26) + 'a'); } rname = new String(rch); + tr.addMember(rname); dr.addMember(rname); gr.addMember(rname); List members = dr.getMembers(); @@ -57,36 +80,10 @@ } //チームシャッフル - List dm = dr.getMembers(); - List gm = gr.getMembers(); - Collections.shuffle(dm); - Collections.shuffle(gm); - for(int i=0; i < 10; i++){ - if(i >= dm.size())break; - Member infod = dm.get(i); - Member infog = gm.get(i); - if(i==0){ - infod.setMaster(true); - infog.setMaster(true); - dr.changeTeamAndMaster(infod.getNickname(), "r", true); - gr.changeTeamAndMaster(infog.getNickname(), "r", true); - }else if(i==1){ - infod.setMaster(true); - infog.setMaster(true); - dr.changeTeamAndMaster(infod.getNickname(), "b", true); - gr.changeTeamAndMaster(infog.getNickname(), "b", true); - }else{ - infod.setMaster(false); - infog.setMaster(false); - } - if(i % 2 == 0){ - infod.setBelongs("r"); - infog.setBelongs("r"); - }else{ - infod.setBelongs("b"); - infog.setBelongs("b"); - } - } + + shafflem(tr); + shafflem(dr); + shafflem(gr); //両部屋:gameインスタンス作成,stateの初期化 String path = null; diff --git a/src/main/java/com/ntlab/irisserver/resources/TurnsRest.java b/src/main/java/com/ntlab/irisserver/resources/TurnsRest.java index 9524bf1..088e7ad 100644 --- a/src/main/java/com/ntlab/irisserver/resources/TurnsRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/TurnsRest.java @@ -23,9 +23,11 @@ @GET //現在のターンの取得 @Path("/{rid}/game/turns") - public int getTurnNumber(@PathParam("rid") String rid) { - - int tn = 0; + public Integer getTurnNumber(@PathParam("rid") String rid) { + RoomManager rm = RoomManager.getInstance(); + Room room = rm.getRoom(rid); + Game game = room.getGame(); + Integer tn = game.getNowTurn(); return tn; } @@ -99,9 +101,29 @@ //------------------------------------------------------------------------ // rooms/{rid}/game/turns/{tno}/questions: +// @GET //カードごとの疑っている人のリストを取得...は動かなくて糞 +// @Path("/{rid}/game/turns/{tno}/questions") +// @Produces(MediaType.APPLICATION_JSON) +// public List getqmember(@PathParam("rid") String rid, @PathParam("tno") int tno, @FormParam("cno") int cno){ +// +// RoomManager rm = RoomManager.getInstance(); +// Room room = rm.getRoom(rid); +// Game game = room.getGame(); +// Turn t = game.getTurn(tno); +// +// if (t == null) { +// //部屋がなければエラー +// var response = Response.status(Response.Status.NO_CONTENT); +// response.status(404).entity("部屋が存在しません"); +// throw new WebApplicationException(response.build()); +// } +// +// return t.getQuestions(cno); +// } + @POST //怪しいの切り替え @Path("/{rid}/game/turns/{tno}/questions") - public void putMax(@PathParam("rid") String rid, @PathParam("tno") int tno, @FormParam("cno") int cno, @FormParam("nickname") String nickname){ + public void changeq(@PathParam("rid") String rid, @PathParam("tno") int tno, @FormParam("cno") int cno, @FormParam("nickname") String nickname){ boolean on = true; @@ -144,13 +166,15 @@ @PUT //オープンリストの追加 @Path("/{rid}/game/turns/{tno}/openlist") - public void setOpenList(@PathParam("rid") String rid, @PathParam("tno") int tno, @FormParam("cno")int cno){ + public void setOpenList(@PathParam("rid") String rid, @PathParam("tno") Integer tno, @FormParam("cno")Integer cno){ RoomManager rm = RoomManager.getInstance(); Room room = rm.getRoom(rid); Game game = room.getGame(); Turn t = game.getTurn(tno); + Cell card = game.getCell(cno); + card.setIsOpen(true); } }