diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 38fe66f..0000000 --- a/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java index afde09f..6935caf 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java @@ -47,7 +47,7 @@ @Override public void onChanged(Integer dno) { //String keyword = keywords.get(dno); - textKeyword.setText(dno); + textKeyword.setText(""+dno); } }); @@ -56,10 +56,11 @@ @Override public void onChanged(Integer state) { //stateが変わったらゲーム画面へ遷移 - Intent intent = new Intent(DrawingActivity.this, GameMemberActivity.class); - startActivity(intent); + if(state == 3) { + Intent intent = new Intent(DrawingActivity.this, GameMemberActivity.class); + startActivity(intent); + } } - }); //タイマースタート呼び出し drawingStateViewModel.start(500); diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java index 6bded86..94d43b6 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java @@ -1,18 +1,26 @@ package org.ntlab.irisclient; +import android.content.Context; +import android.content.res.Resources; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageButton; +import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.core.content.res.ResourcesCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; public class DrawingCardFragment extends Fragment { + + // コンストラクタ public static DrawingCardFragment newInstance(String str){ // インスタンス生成 @@ -23,19 +31,72 @@ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_card_drawing, container, false); + super.onCreateView(inflater, container, savedInstanceState); + Resources resources = getResources(); + + View view = inflater.inflate(R.layout.fragment_card_drawing, container, false); + + ImageButton imageButton00 = (ImageButton) view.findViewById(R.id.imageButton00); + imageButton00.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton01 = (ImageButton) view.findViewById(R.id.imageButton01); + imageButton01.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton02 = (ImageButton) view.findViewById(R.id.imageButton02); + imageButton02.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton03 = (ImageButton) view.findViewById(R.id.imageButton03); + imageButton03.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton10 = (ImageButton) view.findViewById(R.id.imageButton10); + imageButton10.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton11 = (ImageButton) view.findViewById(R.id.imageButton11); + imageButton11.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton12 = (ImageButton) view.findViewById(R.id.imageButton12); + imageButton12.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton13 = (ImageButton) view.findViewById(R.id.imageButton13); + imageButton13.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton20 = (ImageButton) view.findViewById(R.id.imageButton20); + imageButton20.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton21 = (ImageButton) view.findViewById(R.id.imageButton21); + imageButton21.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton22 = (ImageButton) view.findViewById(R.id.imageButton22); + imageButton22.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton23 = (ImageButton) view.findViewById(R.id.imageButton23); + imageButton23.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton30 = (ImageButton) view.findViewById(R.id.imageButton30); + imageButton30.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton31 = (ImageButton) view.findViewById(R.id.imageButton31); + imageButton31.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton32 = (ImageButton) view.findViewById(R.id.imageButton32); + imageButton32.setBackground(resources.getDrawable(R.drawable.test02)); + + ImageButton imageButton33 = (ImageButton) view.findViewById(R.id.imageButton33); + imageButton33.setBackground(resources.getDrawable(R.drawable.test02)); + + return view; } @Override public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - FragmentManager fragmentManager = getChildFragmentManager(); - FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); - fragmentTransaction.addToBackStack(null); - fragmentTransaction.replace(R.id.container, - DrawingCardFragment.newInstance("Fragment")); - fragmentTransaction.commit(); +// FragmentManager fragmentManager = getChildFragmentManager(); +// FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); +// fragmentTransaction.addToBackStack(null); +// fragmentTransaction.replace(R.id.container, +// DrawingCardFragment.newInstance("Fragment")); +// fragmentTransaction.commit(); } } diff --git a/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java b/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java index 3b880c5..ca89165 100644 --- a/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java @@ -13,16 +13,17 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_member_game); - FragmentManager fragmentManager = getSupportFragmentManager(); - FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); + // Fragmentを作成します + DrawingCardFragment fragment = new DrawingCardFragment(); + // Fragmentの追加や削除といった変更を行う際は、Transactionを利用します + FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + // 新しく追加を行うのでaddを使用します + // 他にも、よく使う操作で、replace removeといったメソッドがあります + // メソッドの1つ目の引数は対象のViewGroupのID、2つ目の引数は追加するfragment + transaction.add(R.id.container, fragment); + // 最後にcommitを使用することで変更を反映します + transaction.commit(); - // BackStackを設定 - fragmentTransaction.addToBackStack(null); - - // パラメータを設定 - fragmentTransaction.replace(R.id.container, - DrawingCardFragment.newInstance("Fragment")); - fragmentTransaction.commit(); } } diff --git a/app/src/main/java/org/ntlab/irisclient/MemberListAdapter.java b/app/src/main/java/org/ntlab/irisclient/MemberListAdapter.java index 371c130..ad6c9c4 100644 --- a/app/src/main/java/org/ntlab/irisclient/MemberListAdapter.java +++ b/app/src/main/java/org/ntlab/irisclient/MemberListAdapter.java @@ -46,12 +46,13 @@ convertView.setTag(holder); - if (position == 0) { + convertView.setBackgroundColor(grayColor); + /*if (position == 0) { // 背景色を変える convertView.setBackgroundColor(Color.rgb(255, 127, 255)); }else{ convertView.setBackgroundColor(Color.rgb(0, 125, 0)); - } + }*/ } else { holder = (ViewHolder) convertView.getTag(); diff --git a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java index b9c3a37..574c50c 100644 --- a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java @@ -34,7 +34,7 @@ //フィールド ArrayList viewMembers = new ArrayList<>(); ArrayList oldMembers = new ArrayList<>(); - String r = "roomid"; + String roomId = "null"; String myName = "null"; @@ -45,12 +45,11 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_member_room); - String roomId = ((Iris) getApplication()).getRid(); + roomId = ((Iris) getApplication()).getRid(); String nickname = ((Iris) getApplication()).getNickname(); - - - //自分のなまえ + //-------------------------------------------------------------------------- + //自分の名前 Intent intentMain = getIntent(); myName = intentMain.getStringExtra("nickname"); @@ -68,49 +67,26 @@ roomViewModel.setRid(roomId); - /*memberList = roomViewModel.getMembersLiveData().getValue(); - - memberList.forEach(m -> members.add(m.getNickname()));*/ - ListView membersList = (ListView) findViewById(R.id.MembersList); BaseAdapter adapter = new MemberListAdapter(this.getApplicationContext(), R.layout.member_list_layout, viewMembers); membersList.setAdapter(adapter); //LiveData(List)への購読 - /*roomViewModel.getMembersLiveData().observe(this, new Observer>() { + roomViewModel.getMembersLiveData().observe(this, new Observer>() { //private List members; @Override public void onChanged(List irisMembers) { - int i = 0; - if(irisMembers.size() == oldMembers.size()) { - do { - if (irisMembers.get(i).getNickname().equals(oldMembers.get(i))) { - i++; - } else { - viewMembers.clear(); - irisMembers.forEach(m -> viewMembers.add(m.getNickname())); - System.arraycopy(viewMembers, 0, oldMembers, 0, viewMembers.size()); + viewMembers.clear(); + irisMembers.forEach(m -> viewMembers.add(m.getNickname())); - BaseAdapter adapter = new MemberListAdapter(getApplicationContext(), R.layout.member_list_layout, viewMembers); - membersList.setAdapter(adapter); + BaseAdapter adapter = new MemberListAdapter(getApplicationContext(), R.layout.member_list_layout, viewMembers); + membersList.setAdapter(adapter); - break; - } - - } while (i < oldMembers.size()); - } else { - viewMembers.clear(); - irisMembers.forEach(m -> viewMembers.add(m.getNickname())); - System.arraycopy(viewMembers, 0, oldMembers, 0, viewMembers.size()); - - BaseAdapter adapter = new MemberListAdapter(getApplicationContext(), R.layout.member_list_layout, viewMembers); - membersList.setAdapter(adapter); } - } - });*/ + }); roomViewModel.getStateLiveData().observe(this, new Observer() { @Override @@ -125,9 +101,61 @@ //-------------------------------------------------------------------------- //各ボタン処理 - buttonProcesses(); + Button redMasterButton = (Button) findViewById(R.id.beRedMaster); + Button redSpyButton = (Button) findViewById(R.id.beRedSpy); + Button blueMasterButton = (Button) findViewById(R.id.beBlueMaster); + Button blueSpyButton = (Button) findViewById(R.id.beBlueSpy); + ImageButton copyButton = (ImageButton) findViewById(R.id.copyButton); + //MemberRoom専用ボタン + ImageButton homeButton = (ImageButton) findViewById(R.id.homeButton); + //チームと役職の変更 + //赤チーム・スパイマスター + redMasterButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + roomViewModel.changeBelongsAndMaster(roomId, myName,"r",true); + } + }); + + //赤チーム・諜報員 + redSpyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + roomViewModel.changeBelongsAndMaster(roomId, myName,"r",false); + } + }); + + //青チーム・スパイマスター + blueMasterButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + roomViewModel.changeBelongsAndMaster(roomId, myName,"b",true); + } + }); + + //青チーム・諜報員 + blueSpyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + roomViewModel.changeBelongsAndMaster(roomId, myName,"b",false); + } + }); + + copyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Snackbar.make(v, "コピーしました", Snackbar.LENGTH_LONG).show(); + } + }); + + homeButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); //--------------------------------------------------------------- //settings情報 @@ -144,80 +172,4 @@ } - /* - // 初期化 - private void init() { - setContentView(R.layout.activity_member_room); - startObserve(); - } - - - /*private getMemberInformation(){ - - }*/ - - /*private void addMemberToMemberList(String m){ - members.add(m); - }*/ - - public void buttonProcesses(){ - Button redMasterButton = (Button) findViewById(R.id.beRedMaster); - Button redSpyButton = (Button) findViewById(R.id.beRedSpy); - Button blueMasterButton = (Button) findViewById(R.id.beBlueMaster); - Button blueSpyButton = (Button) findViewById(R.id.beBlueSpy); - ImageButton copyButton = (ImageButton) findViewById(R.id.copyButton); - ImageButton homeButton = (ImageButton) findViewById(R.id.homeButton); - - redMasterButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - r = "赤マスターボタン検知しました"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - } - }); - - redSpyButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - r = "赤諜報員ボタン検知しました"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - } - }); - - blueMasterButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - r = "青マスターボタン検知しました"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - } - }); - - blueSpyButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - r = "青諜報員ボタン検知しました"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - } - }); - - homeButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - r = "ホームボタン検知しました"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - } - }); - - copyButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Snackbar.make(v, "コピーしました", Snackbar.LENGTH_LONG).show(); - } - }); - } } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java index 4f24299..e8999df 100644 --- a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java @@ -12,6 +12,8 @@ import android.widget.ListView; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; + import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -34,123 +36,117 @@ public class OwnerRoomActivity extends AppCompatActivity { //フィールド - ArrayList members = new ArrayList<>(); - String r;// = "部屋ID " + "123456"; - String nickname; + ArrayList viewMembers = new ArrayList<>(); + ArrayList oldMembers = new ArrayList<>(); + String roomId = "null"; String myName = "null"; + //String nickname; + String belongs; + Boolean isMaster; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_owner_room); - ((Iris) getApplication()).getNickname(); //nickname = "aaa"; - ((Iris) getApplication()).getRid(); //r ="276393b5-d835-4e4c-a35b-c00996c73a2b"; - - //--------------------------------------------------------------------------- - //メンバーリスト - ListView membersList = (ListView) findViewById(R.id.MembersList); - BaseAdapter adapter = new MemberListAdapter(this.getApplicationContext(), R.layout.member_list_layout, members); - membersList.setAdapter(adapter); + myName = ((Iris) getApplication()).getNickname(); + roomId = ((Iris) getApplication()).getRid(); //自分のなまえ - Intent intentMain = getIntent(); - myName = intentMain.getStringExtra("nickname"); + //Intent intentMain = getIntent(); + //myName = intentMain.getStringExtra("nickname"); + //-------------------------------------------------------------------------- + //メンバー表示 Member mn = new Member(myName); mn.setBelongs("g"); mn.setMaster(false); - members.add(mn.getNickname()); - - + viewMembers.add(mn.getNickname()); //RoomViewModelへのアクセス RoomViewModel roomViewModel = new ViewModelProvider(this).get(RoomViewModel.class); + roomViewModel.setRid(roomId); + + ListView membersList = (ListView) findViewById(R.id.MembersList); + + BaseAdapter adapter = new MemberListAdapter(this.getApplicationContext(), R.layout.member_list_layout, viewMembers); + membersList.setAdapter(adapter); + //LiveData(List)への購読 roomViewModel.getMembersLiveData().observe(this, new Observer>() { private List members; @Override - public void onChanged(List members) { + public void onChanged(List irisMembers) { + + viewMembers.clear(); + irisMembers.forEach(m -> viewMembers.add(m.getNickname())); + + BaseAdapter adapter = new MemberListAdapter(getApplicationContext(), R.layout.member_list_layout, viewMembers); + membersList.setAdapter(adapter); } }); - //-------------------------------------------------------------------------- + //各ボタン処理 ArrayList members = new ArrayList<>(); Button redMasterButton = (Button) findViewById(R.id.beRedMaster); Button redSpyButton = (Button) findViewById(R.id.beRedSpy); Button blueMasterButton = (Button) findViewById(R.id.beBlueMaster); Button blueSpyButton = (Button) findViewById(R.id.beBlueSpy); - Button randomButton = (Button) findViewById(R.id.random); - Button startButton = (Button) findViewById(R.id.start); ImageButton copyButton = (ImageButton) findViewById(R.id.copyButton); + //OwnerRoom専用ボタン + Button randomButton = (Button) findViewById(R.id.random); + Button startButton = (Button) findViewById(R.id.start); + + + //チームと役職の変更 + //赤チーム・スパイマスター redMasterButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - r = "部屋ID " + "red"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - - members.clear(); - members.add("マスターのRedさん"); - ListView listView = (ListView)findViewById(R.id.MembersList); - - listView.setAdapter(adapter); + roomViewModel.changeBelongsAndMaster(roomId, myName,"r",true); } }); + //赤チーム・諜報員 redSpyButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - r = "部屋ID " + "red"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - - members.add("スパイのRedさん"); - ListView listView = (ListView)findViewById(R.id.MembersList); - listView.setAdapter(adapter); + roomViewModel.changeBelongsAndMaster(roomId, myName,"r",false); } }); + //青チーム・スパイマスター blueMasterButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - r = "部屋ID " + "blue"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - + roomViewModel.changeBelongsAndMaster(roomId, myName,"b",true); } }); + //青チーム・諜報員 blueSpyButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - r = "部屋ID " + "red"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); + roomViewModel.changeBelongsAndMaster(roomId, myName,"b",false); + } + }); - members.add("スパイのBlueさん"); - ListView listView = (ListView)findViewById(R.id.MembersList); - listView.setBackgroundColor(Color.parseColor("#3a5fe8")); - listView.setAdapter(adapter); + copyButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Snackbar.make(v, "コピーしました", Snackbar.LENGTH_LONG).show(); } }); randomButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - r = "部屋ID " + "random"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - - members.add("ランダムさん"); - ListView listView = (ListView)findViewById(R.id.MembersList); - listView.setAdapter(adapter); Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/iris/") @@ -164,7 +160,7 @@ startButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - roomViewModel.startDrawing(r, nickname); + roomViewModel.startDrawing(roomId, myName); Intent intent = new Intent(OwnerRoomActivity.this,DrawingActivity.class); startActivity(intent); @@ -172,24 +168,6 @@ } }); - copyButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - r = "部屋ID " + "copy"; - TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); - - members.add("コピーしました"); - ListView listView = (ListView)findViewById(R.id.MembersList); - listView.setAdapter(adapter); - } - }); - - //-------------------------------------------------------------------------- - //メンバー表示 - - //members.add("1さん"); - //--------------------------------------------------------------- //settings情報 String s = "設定\\nお絵描き"; @@ -199,7 +177,7 @@ //--------------------------------------------------------------- //部屋ID情報 TextView RoomIdText = findViewById(R.id.roomID); - RoomIdText.setText(r); + RoomIdText.setText(roomId); @@ -207,11 +185,4 @@ roomViewModel.start(500); } - /*private getMemberInformation(){ - - }*/ - - /*private void addMemberToMemberList(String m){ - members.add(m); - }*/ - } \ No newline at end of file +} \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java b/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java index a36eb5b..10f2116 100644 --- a/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java +++ b/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java @@ -17,51 +17,4 @@ public TurnJson() { } - //--------------------------------------------------------- - //ゲッター - - public String getHint() { - return hint; - } - - public String getTeam() { - return team; - } - - public int getMax() { - return max; - } - - public int getTurnstate() {return turnstate;} - - public List getOpenListAll() {return openlist;} //リストそのものを返す。 - - //--------------------------------------------------------- - //セッター - - public void setHint(String hint) { - this.hint = hint; - } - - public void setTeam(String team) { - this.team = team; - } - - public void setMax(int max) { - this.max = max; - } - - public void setTurnstate(int turnstate) {this.turnstate = turnstate;} - - //--------------------------------------------------------- - //openlist操作 - - public Integer getOpenListSolo(int num){return openlist.get(num);} - - public void addOpenList(Integer cno){openlist.add(cno);} - - public void delieteOpenList(int num){openlist.remove(num);} - - public int sizeOpenList(){return openlist.size();} - } diff --git a/app/src/main/java/org/ntlab/irisclient/models/Game.java b/app/src/main/java/org/ntlab/irisclient/models/Game.java index 99c4f35..7a769a1 100644 --- a/app/src/main/java/org/ntlab/irisclient/models/Game.java +++ b/app/src/main/java/org/ntlab/irisclient/models/Game.java @@ -13,4 +13,11 @@ private List map = new ArrayList<>();//cno順にdnoを管理 private List color = new ArrayList<>();//cno順にr,g,b,dを管理 + //セッター + public void setDrawingList(Map dlist) {drawingList = dlist;} + public void setKeywordList(Map klist) {keywordList = klist;} + public void setCellList(Map clist) {cellList = clist;} + public void setMap(List map) {this.map = map;} + public void setColor(List color) {this.color = color;} + } diff --git a/app/src/main/java/org/ntlab/irisclient/models/Turn.java b/app/src/main/java/org/ntlab/irisclient/models/Turn.java new file mode 100644 index 0000000..7995657 --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/models/Turn.java @@ -0,0 +1,61 @@ +package org.ntlab.irisclient.models; + +import java.util.ArrayList; +import java.util.List; + +public class Turn { + + private String hint; + private String team; + private int max; + private int turnstate; //turn内でスパイマスターと諜報員の操作の切り替えに使用(0:スパイマスター, 1:諜報員) + private List openlist = new ArrayList<>(); + + //--------------------------------------------------------- + //ゲッター + + public String getHint() { + return hint; + } + + public String getTeam() { + return team; + } + + public int getMax() { + return max; + } + + public int getTurnstate() {return turnstate;} + + public List getOpenListAll() {return openlist;} //リストそのものを返す。 + + //--------------------------------------------------------- + //セッター + + public void setHint(String hint) { + this.hint = hint; + } + + public void setTeam(String team) { + this.team = team; + } + + public void setMax(int max) { + this.max = max; + } + + public void setTurnstate(int turnstate) {this.turnstate = turnstate;} + + //--------------------------------------------------------- + //openlist操作 + + public Integer getOpenListSolo(int num){return openlist.get(num);} + + public void addOpenList(Integer cno){openlist.add(cno);} + + public void delieteOpenList(int num){openlist.remove(num);} + + public int sizeOpenList(){return openlist.size();} + +} diff --git a/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java b/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java index 5304a29..dc28457 100644 --- a/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java +++ b/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java @@ -84,7 +84,7 @@ //----------------------------------------------- // マスターのヒントを送信するメソッド + 最大回答数も送信 @PUT("/{rid}/game/turns/{tno}/hint") - Call putHint( + Call putHint( @Path("rid") String rid, @Path("tno") int tno, @Field("hint") String hint, diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java index ac7e9df..a28aed9 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java @@ -1,20 +1,9 @@ package org.ntlab.irisclient.viewmodels; -import org.ntlab.irisclient.entities.RoomJson; import org.ntlab.irisclient.entities.TurnJson; -import org.ntlab.irisclient.models.Member; -import org.ntlab.irisclient.models.Settings; import org.ntlab.irisclient.resources.GameRest; -import org.ntlab.irisclient.resources.RoomsRest; - import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; -import androidx.lifecycle.ViewModel; - -import com.squareup.moshi.Json; - -import java.util.List; - import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -26,10 +15,10 @@ //フィールド private String rid; - private Integer tno; + private int tno; private String team; private String hint; - private Integer max; + private int max; private Integer openlist; final private MutableLiveData turnsMutableLiveData; @@ -38,8 +27,8 @@ final private Retrofit retrofit; //更新比較用フィールド - private String turnsPreData; - private TurnJson turnPreData; + private String turnsPreData = null; + private TurnJson turnPreData = null; //------------------------------------------------------------------ //コンストラクタ @@ -58,18 +47,12 @@ this.rid = rid; } - public void putHint(String hint) { + public void putHint(String rid, int tno, String hint, int max) { this.hint = hint; - } - - public void putTeam(String team) { - this.team = team; - } - - public void putMax(Integer max) { this.max = max; } + //-------------------------------------------------------------- // getter public LiveData getTurnsLiveData() { @@ -78,22 +61,32 @@ public LiveData getTurnLiveData() { return this.turnMutableLiveData; } +// public Integer getTurnNumber(String rid) { +// return tno; +// } - public Integer getTurnNumber(Integer rid) { - return tno; + //----------------------------------------------------------------------------- + // updates + @Override + public void update() { + updateTurns(rid); + updateTurn(rid); } //ターン数の取得(赤か青のターンの判別) - public void updateTurns() { + public void updateTurns(String rid) { final GameRest gameRest = retrofit.create(GameRest.class); - Call call = gameRest.getTeam(team); + Call call = gameRest.getTeam(rid); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()){ - - if(response.body().equals(turnsPreData)){ + if(turnsPreData == null){ + //初回代入 + turnsMutableLiveData.setValue(response.body()); + turnsPreData = response.body(); + }else if(response.body().equals(turnsPreData)){ //値が一緒なら書き換えない }else{ //値が異なるときのみライブデータを上書き @@ -105,21 +98,26 @@ @Override public void onFailure(Call call, Throwable t) { + System.out.println("通信失敗:changeBelongsAndMaster"); + System.out.println(t); } }); } //hint,openlist,maxの取得 - public void updateTurn() { + public void updateTurn(String rid) { final GameRest gameRest = retrofit.create(GameRest.class); - Call call = gameRest.getTurns(rid, tno); + Call call = gameRest.putHint(rid, tno, hint, max); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()){ - - if(response.body().equals(turnPreData)){ + if(turnsPreData == null){ + //初回代入 + turnMutableLiveData.setValue(response.body()); + turnPreData = response.body(); + }if(response.body().equals(turnPreData)){ //値が一緒なら書き換えない }else{ //値が異なるときのみライブデータを上書き @@ -131,18 +129,13 @@ @Override public void onFailure(Call call, Throwable t) { + System.out.println("通信失敗:changeBelongsAndMaster"); + System.out.println(t); } }); } - //----------------------------------------------------------------------------- - // updates - @Override - public void update() { - updateTurns(); - updateTurn(); - } } diff --git a/app/src/main/res/drawable/test01.jpg b/app/src/main/res/drawable/test01.jpg new file mode 100644 index 0000000..ba20055 --- /dev/null +++ b/app/src/main/res/drawable/test01.jpg Binary files differ diff --git a/app/src/main/res/drawable/test02.jpg b/app/src/main/res/drawable/test02.jpg new file mode 100644 index 0000000..935a0aa --- /dev/null +++ b/app/src/main/res/drawable/test02.jpg Binary files differ diff --git a/app/src/main/res/layout/fragment_card_drawing.xml b/app/src/main/res/layout/fragment_card_drawing.xml index 27a2d0a..171d5ea 100644 --- a/app/src/main/res/layout/fragment_card_drawing.xml +++ b/app/src/main/res/layout/fragment_card_drawing.xml @@ -14,7 +14,8 @@ android:layout_marginTop="5dp" app:layout_constraintStart_toEndOf="@+id/imageButton11" app:layout_constraintTop_toBottomOf="@+id/imageButton02" - tools:srcCompat="@tools:sample/avatars" /> + tools:ignore="SpeakableTextPresentCheck" + android:background="@drawable/test01" /> + android:background="@drawable/test01" + /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> + android:background="@drawable/test01" /> \ No newline at end of file