diff --git a/src/main/java/controls/BotIntelligence.java b/src/main/java/controls/BotIntelligence.java index e672d8e..903b489 100644 --- a/src/main/java/controls/BotIntelligence.java +++ b/src/main/java/controls/BotIntelligence.java @@ -19,8 +19,9 @@ //候補の初期化 var candidates = new ArrayList(); for(int i=0;i x.getKey()).toList()); - candidates.removeAll(iAttack.getOpponentHands().stream().filter(x -> x.getValue()).map(x -> x.getKey()).toList()); + + candidates.removeAll(iAttack.getOpponentHands().stream().map(x -> x.getKey()).toList()); + candidates.removeAll(iAttack.getMyHands().stream().filter(x -> x.getValue()).map(x -> x.getKey()).toList()); return candidates; } @@ -31,11 +32,11 @@ * @return 候補のリスト */ List assignCandidateNumberEachHand(IAttack iAttack){ - var opponentsHands=iAttack.getOpponentHands(); + var myHands=iAttack.getMyHands(); var result=new ArrayList(); - for(var card:opponentsHands){//ユーザーの手札を左から見ていく - var index=opponentsHands.indexOf(card);//左からindex番目に + for(var card:myHands){//ユーザーの手札を左から見ていく + var index=myHands.indexOf(card);//左からindex番目に var candidateList = calculateCandidate(iAttack);//確認するカード @@ -44,9 +45,9 @@ }else{ //裏の場合 //そのカードから右隣のカードを確認していく - for(int i=0;i x > currentCard.getKey());//その確認したカードの数字より大きい数字を除外する。 for(int j=1;j x> getMyHands() { - return isATurn?algo.getHandsA():algo.getHandsB(); + return algo.getHandsA(); } @Override public List> getOpponentHands() { - return isATurn?algo.getHandsB():algo.getHandsA(); + return algo.getHandsB(); } @Override @@ -59,6 +59,12 @@ public boolean isDeckLess(){ return algo.getDeck().size()==0; } + + @Override + public int getDeckNumber() { + return algo.getDeck().size(); + } + public boolean isSucceedLatestAttack(){ return isSucceedLatestAttack; } diff --git a/src/main/java/interfaces/IAttack.java b/src/main/java/interfaces/IAttack.java index e708973..fbc06f1 100644 --- a/src/main/java/interfaces/IAttack.java +++ b/src/main/java/interfaces/IAttack.java @@ -15,6 +15,7 @@ Map.Entry getTopCard(); boolean isDeckLess(); + int getDeckNumber(); boolean isSucceedLatestAttack(); boolean shiftTurn(); boolean isATurn();