diff --git a/src/main/java/com/ntlab/irisserver/entities/Game.java b/src/main/java/com/ntlab/irisserver/entities/Game.java index 145b2b0..2f3365b 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Game.java +++ b/src/main/java/com/ntlab/irisserver/entities/Game.java @@ -1,5 +1,7 @@ package com.ntlab.irisserver.entities; +import com.ntlab.irisserver.models.KeywordManager; + import java.util.*; public class Game { @@ -18,7 +20,10 @@ private DrawingController drawingController = null; private Settings settings = null; - public Game(Room room) { + public Game(Room room, String[] keywords) { + + room.setGame(this); + List memberList = room.getMembers(); int num = 16/memberList.size();//一人あたりが確実に採用されるイラスト枚数 int cnt = 0; @@ -42,6 +47,7 @@ for(int i=0; i<16; i++) map.add(i); Collections.shuffle(map);//0~15のdnoをランダムにマップに割り振る + System.out.println(map); //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"); @@ -60,7 +66,6 @@ c.setColor(color.get(i)); c.setDno(map.get(i)); } - } public DrawingController getDrawingController() { diff --git a/src/main/java/com/ntlab/irisserver/entities/Room.java b/src/main/java/com/ntlab/irisserver/entities/Room.java index e51bde2..ca7bf3c 100644 --- a/src/main/java/com/ntlab/irisserver/entities/Room.java +++ b/src/main/java/com/ntlab/irisserver/entities/Room.java @@ -27,7 +27,7 @@ Settings settings = new Settings(); @JsonProperty("game") - Game game =null; + Game game = null; private Member redMaster; private Member blueMaster; @@ -137,6 +137,9 @@ } + public void setGame(Game game) { + this.game = game; + } public Game getGame() { return game; @@ -157,15 +160,13 @@ members.remove(nick); } + public int getState() { return state; } public void setState(int state){ this.state=state; - if(state==2) { - game = new Game(this); - } } public void changeState(){ diff --git a/src/main/java/com/ntlab/irisserver/resources/StateRest.java b/src/main/java/com/ntlab/irisserver/resources/StateRest.java index 411ba70..59fdf0d 100644 --- a/src/main/java/com/ntlab/irisserver/resources/StateRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/StateRest.java @@ -1,5 +1,10 @@ package com.ntlab.irisserver.resources; +import com.ntlab.irisserver.entities.Game; +import com.ntlab.irisserver.models.KeywordManager; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import com.ntlab.irisserver.entities.Room; import com.ntlab.irisserver.models.RoomManager; @@ -7,13 +12,18 @@ import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import java.io.IOException; @Component @Path("/rooms") -public class StateRest { +public class StateRest implements ApplicationContextAware { + private ApplicationContext applicationContext; + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } @GET//部屋の情報を入手 @Path("/{rid}/state") @@ -36,13 +46,22 @@ @Path("/{rid}/state") //rid,nickname,stateを引数として持ってくる - public void putState(@PathParam("rid") String rid,@FormParam("nickname") String nickname,@FormParam("state") Integer state) { + public void putState(@PathParam("rid") String rid,@FormParam("nickname") String nickname,@FormParam("state") Integer state) throws IOException { RoomManager rm = RoomManager.getInstance(); Room room = rm.getRoom(rid); + if(nickname.equals(room.ownerName)){ //nicknameがownerだった場合 room.setState(state); //部屋の情報を変更 + if (state == 2) { + String path; + path = applicationContext.getResource("file:").getFile().getAbsolutePath()+"/apache-tomcat-9.0.10/webapps/irisdata/keywords.txt"; + //path = "C:\\Users\\student\\IdeaProjects\\IrisServer\\src\\main\\java\\com\\ntlab\\irisserver\\tmp\\keywords.txt"; + KeywordManager km = KeywordManager.getInstance(); + String[] keywords = km.getKeywords(path); + Game game = new Game(room, keywords); + } } } diff --git a/src/main/java/com/ntlab/irisserver/tmp/keywords.txt b/src/main/java/com/ntlab/irisserver/tmp/keywords.txt new file mode 100644 index 0000000..21cea2f --- /dev/null +++ b/src/main/java/com/ntlab/irisserver/tmp/keywords.txt @@ -0,0 +1,179 @@ +あんぱん +いくら +ウインナー +うどん +うなぎ +うに +梅干し +あさり +イカ +いちご +枝豆 +海老 +おでん +柿 +牡蠣 +カステラ +かに +かぼちゃ +カレー +からあげ +キャラメル +キムチ +きゅうり +クロワッサン +栗 +ケーキ +ケチャップ +米 +コロッケ +餃子 +さくらんぼ +さつまいも +サラダ +サンドイッチ +ざるそば +じゃがいも +牛丼 +シュウマイ +生姜 +すいか +すき焼き +寿司 +ステーキ +スパゲティ +ソフトクリーム +たけのこ +たこ +たこ焼き +たまご +大根 +ちくわ +チーズ +ツナ +豆腐 +とうもろこし +トマト +どら焼き +ドーナッツ +ナス +納豆 +にんにく +ねぎ +のり +白菜 +はちみつ +ハンバーガー +バナナ +パイナップル +ピザ +ピーマン +フライドポテト +フランクフルト +ぶどう +ブロッコリー +ポテトサラダ +ポップコーン +ほうれん草 +ホタテ +マシュマロ +みかん +味噌汁 +メロン +明太子 +もやし +焼きそば +焼肉 +ヨーグルト +ラーメン +りんご +レモン +わかめ +わさび +プリン +パフェ +アイスクリーム +カステラ +ナポリタン +犬 +牛 +馬 +カバ +さる +ゾウ +猫 +豚 +ヤギ +リス +イルカ +ウサギ +狐 +キリン +ゴリラ +ネズミ +パンダ +羊 +狼 +ライオン +トナカイ +ラクダ +ペンギン +ワニ +スライム +ひまわり +バラ +タンポポ +ハエトリグサ +サボテン +車 +救急車 +パトカー +ヘリコプター +飛行機 +バス +ヨット +めがね +リモコン +ドライヤー +スマートフォン +ホイッスル +鏡 +エアコン +扇風機 +掃除機 +キーボード +マウス +イヤホン +ボールペン +風船 +地球 +傘 +弁当 +ティッシュ +目薬 +リップクリーム +コンタクト +綿棒 +ガムテープ +体温計 +消毒液 +ペットボトル +歯ブラシ +筆箱 +そろばん +トランペット +リコーダー +ギター +マイク +タオル +時計 +服 +マスク +ゲーム機 +財宝 +本 +ぬいぐるみ +椅子 +机 +テレビ +パソコン \ No newline at end of file