diff --git a/src/main/java/com/ntlab/irisserver/entities/Game.java b/src/main/java/com/ntlab/irisserver/entities/Game.java index 12895ea..2114313 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Game.java +++ b/src/main/java/com/ntlab/irisserver/entities/Game.java @@ -1,23 +1,32 @@ package com.ntlab.irisserver.entities; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class Game { - private Map> assignments = new HashMap<>();//どのメンバーがどの絵(dno)を描いたか - private Map drawingList = new HashMap<>();//dnoと絵の対応 - private Map keywordList = new HashMap<>();//dnoとキーワードの対応 - private List map = new ArrayList<>();//ランダムに決められたマップ上のdno - private List color = new ArrayList<>();//マップ上のカードの色 - private String turn = "none";//現在赤と青どちらのターンか - private List opens = new ArrayList<>();//マップ上のカードの開閉状態 + private Map> assignments = new HashMap<>(); + private Map drawingList = new HashMap<>(); + private Map keywordList = new HashMap<>(); + private List map = new ArrayList<>(); + private List color = new ArrayList<>(); + private String turn = "none"; + private List opens = new ArrayList<>(); private DrawingController drawingController = null; - public Game(Room room) { + public Game(Room room, Settings settings) { + + for(int i=0; i<16; i++) map.add(i); + Collections.shuffle(map);//0~16のdnoをランダムにマップに割り振る + + //r:6 b:5 g:4, d:1 + for(int i=0; i<6; i++) color.add("r"); + for(int i=0; i<5; i++) color.add("b"); + for(int i=0; i<4; i++) color.add("g"); + color.add("d"); + + Collections.shuffle(color);//r,b,g,dをランダムにマップに割り振る + List memberList = room.getMembers(); //デバッグ用に値を追加 int cnt = 0; diff --git a/src/main/java/com/ntlab/irisserver/entities/Room.java b/src/main/java/com/ntlab/irisserver/entities/Room.java index 20a5872..ecc95ab 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Room.java +++ b/src/main/java/com/ntlab/irisserver/entities/Room.java @@ -164,7 +164,7 @@ public void setState(int state){ this.state=state; if(state==2) { - game = new Game(this); + game = new Game(this, this.settings); } } @@ -176,4 +176,6 @@ state = 0; } -} + + +} \ No newline at end of file diff --git a/src/main/java/com/ntlab/irisserver/resources/GameRest.java b/src/main/java/com/ntlab/irisserver/resources/GameRest.java index 3147e25..67a4fb8 100644 --- a/src/main/java/com/ntlab/irisserver/resources/GameRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/GameRest.java @@ -13,8 +13,8 @@ @Component @Path("/rooms") public class GameRest { - @Path("/{rid}/game/map") @GET + @Path("/{rid}/game/map") public List getMap(@PathParam("rid") String rid){ RoomManager rm = RoomManager.getInstance(); Room room = rm.getRoom(rid); @@ -23,8 +23,8 @@ return map; } - @Path("/{rid}/game/color") @GET + @Path("/{rid}/game/color") public List getColor(@PathParam("rid") String rid){ RoomManager rm = RoomManager.getInstance(); Room room = rm.getRoom(rid);