diff --git a/src/main/java/com/ntlab/irisserver/IrisServerApplication.java b/src/main/java/com/ntlab/irisserver/IrisServerApplication.java index 529d381..755a665 100644 --- a/src/main/java/com/ntlab/irisserver/IrisServerApplication.java +++ b/src/main/java/com/ntlab/irisserver/IrisServerApplication.java @@ -1,14 +1,90 @@ package com.ntlab.irisserver; +import com.ntlab.irisserver.entities.Member; +import com.ntlab.irisserver.entities.Room; +import com.ntlab.irisserver.models.KeywordManager; +import com.ntlab.irisserver.models.RoomManager; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ApplicationContext; import org.springframework.web.bind.annotation.RestController; +import java.io.IOException; +import java.util.Collections; +import java.util.List; +import java.util.Random; + @SpringBootApplication public class IrisServerApplication { public static void main(String[] args) { - SpringApplication.run(IrisServerApplication.class, args); + ApplicationContext applicationContext = SpringApplication.run(IrisServerApplication.class, args); + String path; + try { + path = applicationContext.getResource("file:").getFile().getAbsolutePath()+"/apache-tomcat-9.0.10/webapps/irisdata/keywords.txt"; + } catch (IOException e) { + e.printStackTrace(); + } + KeywordManager km = KeywordManager.getInstance(); + RoomManager rm = RoomManager.getInstance(); + rm.createTestRoom(); + + 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++){ + Random random = new Random(); + rch[i] = (char)(random.nextInt(26) + 'a'); + } + rname = new String(rch); + dr.addMember(rname); + gr.addMember(rname); + List members = dr.getMembers(); + length = members.size(); + } + + //チームシャッフル + 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"); + } + } + + //drawtestの設定 + } } diff --git a/src/main/java/com/ntlab/irisserver/models/RoomManager.java b/src/main/java/com/ntlab/irisserver/models/RoomManager.java index 0f658b0..877a9a4 100644 --- a/src/main/java/com/ntlab/irisserver/models/RoomManager.java +++ b/src/main/java/com/ntlab/irisserver/models/RoomManager.java @@ -1,12 +1,9 @@ package com.ntlab.irisserver.models; -import com.ntlab.irisserver.entities.Game; -import com.ntlab.irisserver.entities.Member; import com.ntlab.irisserver.entities.Room; import org.springframework.stereotype.Component; import javax.ws.rs.*; import java.util.*; -import java.util.Random; @Component public class RoomManager { @@ -20,55 +17,6 @@ return theInstance; } - //コンストラクタ------------------------------------------------------ - public RoomManager(){ - Room r = new Room("test", "aaa"); - rooms.put("test", r); - r.addMember("aaa"); - - //メンバー設定() - int length = 0; - char[] rch; - rch = new char[3]; - String rname; - while(length < 10){ - for(int i = 0; i<3; i++){ - Random random = new Random(); - rch[i] = (char)(random.nextInt(26) + 'a'); - } - rname = new String(rch); - r.addMember(rname); - List members = r.getMembers(); - length = members.size(); - } - - //チームシャッフル - List m = r.getMembers(); - Collections.shuffle(m); - for(int i=0; i < 10; i++){ - if(i >= m.size())break; - Member info = m.get(i); - if(i==0){ - info.setMaster(true); - r.changeTeamAndMaster(info.getNickname(), "r", true); - }else if(i==1){ - info.setMaster(true); - r.changeTeamAndMaster(info.getNickname(), "b", true); - }else{ - info.setMaster(false); - } - if(i % 2 == 0){ - info.setBelongs("r"); - }else{ - info.setBelongs("b"); - } - } - - //gameインスタンス作成、取得 - - - } - //----------------------------------------------------------------- public Room createRoom(String owner) { @@ -93,5 +41,16 @@ rooms.remove(rid); } + //--------------------------------テスト用-------------------------------------- + + public void createTestRoom() { + //お絵描きテスト用 + Room dr = new Room("drawtest", "draw"); + rooms.put("drawtest", dr); + //ゲームテスト用 + Room gr = new Room("gametest", "game"); + rooms.put("gametest", gr); + } + }