diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java index 06f9ab3..e21c183 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java @@ -54,6 +54,8 @@ private String nowTurn; private String rid; private Integer turnState = 1; // 0がヒント入力中 + private Integer OpenRedCard = 0; + private Integer OpenBlueCard = 0; // ロングタップで表示させるために必要。非同期で値が格納され、順番通りに保存されないからHashMapにしている private Map bmImages = new HashMap<>(); @@ -437,21 +439,55 @@ gameViewModel.sendOpenList(cno); if( colorList.get(cno).equals("d") ){ - System.out.println("黒引きました"); gameViewModel.sendEndState(); } else if ( colorList.get(cno).equals(myTeam) ){ - System.out.println("チームと同じなのでまだ引けます"); +// System.out.println("チームと同じなのでまだ引けます"); } else { if( myTeam.equals("r") ){ nowTurn = "b"; - System.out.println("青に切り替わり"); } else if( myTeam.equals("b") ){ nowTurn = "r"; - System.out.println("赤に切り替わり"); } + //ターン切り替え gameViewModel.addTurns(); } + //青と赤のカードが何枚めくれているか + if( colorList.get(cno).equals("r") ){ + OpenRedCard = 0; + nowOpenList.set(cno, true); + for( int i = 0; i < 16; i++ ){ + if( colorList.get(i).equals("r") && nowOpenList.get(i).equals(true) ){ + OpenRedCard += 1; + } + } + nowOpenList.set(cno, false); + System.out.println("OpenRedCard:" + OpenRedCard); + + if( OpenRedCard >= 6 ){ + nowTurn = "b"; + finishGameAlertMake(myTeam, nowTurn); + } + + } + if( colorList.get(cno).equals("b") ){ + OpenBlueCard = 0; + nowOpenList.set(cno, true); + for( int i = 0; i < 16; i++ ){ + if( colorList.get(i).equals("b") && nowOpenList.get(i).equals(true) ){ + OpenBlueCard += 1; + } + } + nowOpenList.set(cno, false); + + System.out.println("OpenBlueCard: " + OpenBlueCard); + + if( OpenBlueCard >= 5 ){ + nowTurn = "r"; + finishGameAlertMake(myTeam, nowTurn); + } + } + } } diff --git a/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java b/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java index 488e32e..fa83fda 100644 --- a/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java @@ -190,10 +190,6 @@ boolean isActive = false; - //System.out.println("currentTeam:" + currentTeam + " myteam:" + myTeam); - - - //非アクティブであればヒントの入力を禁止する EditText Hint = findViewById(R.id.GameHint); EditText HintMax = findViewById(R.id.GameHintMax); @@ -202,6 +198,9 @@ Hint.setFocusableInTouchMode(false); HintMax.setFocusableInTouchMode(false); SendHintButton.setFocusableInTouchMode(false); + Hint.setFocusable(false); + HintMax.setFocusable(false); + SendHintButton.setFocusable(false); //自分のチームのターンで、かつ「ヒント入力」時間の場合は行動可能 if(currentTeam.equals(myTeam) && turnState == 0){ @@ -209,6 +208,9 @@ Hint.setFocusableInTouchMode(true); HintMax.setFocusableInTouchMode(true); SendHintButton.setFocusableInTouchMode(true); + Hint.setFocusable(true); + HintMax.setFocusable(true); + SendHintButton.setFocusable(true); } //デバッグ用 diff --git a/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java b/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java index 17e5da9..389a7bd 100644 --- a/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java @@ -142,7 +142,7 @@ if (!isActive) {return;}//アクティブのときだけボタンを押せる} //次のターンに行くようにする - gameViewModel.sendTurnState(); + gameViewModel.addTurns(); } }); } @@ -152,17 +152,16 @@ boolean isActive = false; + //非アクティブであれば推測終了の入力を禁止する + Button FinishGuessButton = (Button) findViewById(R.id.finishGuessButton); + FinishGuessButton.setFocusable(false); + FinishGuessButton.setFocusableInTouchMode(false); + //自分のチームのターンで、かつ「ヒント入力」時間の場合は行動可能 if(currentTeam.equals(myTeam) && turnState == 1){ isActive = true; - } - - //非アクティブであれば推測終了の入力を禁止する - Button FinishGuessButton = (Button) findViewById(R.id.finishGuessButton); - if(isActive == false){ - FinishGuessButton.setFocusable(false); - }else{ FinishGuessButton.setFocusable(true); + FinishGuessButton.setFocusableInTouchMode(true); } //デバッグ用