diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java index 9a902e2..47ac668 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java @@ -58,6 +58,7 @@ private Map drawingList; // private List map; //cno順にdnoを管理(要するに絵の並び) private List colorList; //cno順にr,g,b,dを管理:カードごとの色 + private List nowOpenList; // コンストラクタ @@ -81,6 +82,27 @@ resources = getResources(); View view = inflater.inflate(R.layout.fragment_card_drawing, container, false); + // 現在のopenListを記録 + nowOpenList = new ArrayList(){ + { + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + add(false); + } + }; // ImageButton16個の型を使いまわしやすいように配列で使用 imageButtons = new ImageButton[] { @@ -325,8 +347,9 @@ * Observeして変更加わった度に呼ばれる **/ private void setOpen(List openList) { + for(int i=0; i< openList.size(); i++) { - if (openList.get(i) == true) { + if (openList.get(i) == true && nowOpenList.get(i) == false) { // オープンだったときの描画 if (colorList.get(i).contains("r")) { backColors[i].setBackground(resources.getDrawable(R.drawable.red_image)); @@ -344,6 +367,7 @@ finishGameAlertMake(i, myTeam, nowTurn); } setAnime(i); + nowOpenList.set(i, true); } } } @@ -368,30 +392,10 @@ } /** - * アラートから呼ばれる、リアルタイムに裏返す処理 + * アラートから呼ばれる、裏返す通信処理 **/ private void setOpenRealTime(int cno, boolean isOK) { - // 裏返す処理 - if(isOK) { - if (colorList.get(cno).contains("r")) { - backColors[cno].setBackground(resources.getDrawable(R.drawable.red_image)); - imageButtons[cno].setVisibility(View.INVISIBLE); - } else if (colorList.get(cno).contains("b")) { - backColors[cno].setBackground(resources.getDrawable(R.drawable.blue_image)); - imageButtons[cno].setVisibility(View.INVISIBLE); - } else if (colorList.get(cno).contains("g")) { - backColors[cno].setBackground(resources.getDrawable(R.drawable.gray_image)); - imageButtons[cno].setVisibility(View.INVISIBLE); - } else if (colorList.get(cno).contains("d")) { - backColors[cno].setBackground(resources.getDrawable(R.drawable.black_image)); - imageButtons[cno].setVisibility(View.INVISIBLE); - finishGameAlertMake(cno, myTeam, nowTurn); - } - setAnime(cno); - } - gameViewModel.sendOpenList(cno); - } /** @@ -481,6 +485,8 @@ private void finishGameAlertMake(int cno, String myTeam, String nowTurn) { String strTitle; String strMessage; + System.out.println("ゲームが終わった時のmyTeam:" + myTeam); + System.out.println("ゲームが終わった時のmyTurn:" + nowTurn); if (myTeam == nowTurn) { strTitle = "Your Lose...";