diff --git a/src/main/java/controls/StepScheduler.java b/src/main/java/controls/StepScheduler.java index aae2156..d6a3424 100644 --- a/src/main/java/controls/StepScheduler.java +++ b/src/main/java/controls/StepScheduler.java @@ -9,7 +9,6 @@ public class StepScheduler implements IAttack { Algo algo; - Constants.Step step; int turnCount=0; boolean isATurn; public StepScheduler(){ @@ -17,10 +16,6 @@ isATurn=true; } - public Constants.Step getStep(){ - return step; - } - @Override public void Attack(int guess, int attacker, int target) { if(isATurn){ diff --git a/src/main/java/interfaces/IAttack.java b/src/main/java/interfaces/IAttack.java index 5aa2275..ccca842 100644 --- a/src/main/java/interfaces/IAttack.java +++ b/src/main/java/interfaces/IAttack.java @@ -15,6 +15,5 @@ Map.Entry getTopCard(); boolean isDeckLess(); - Constants.Step getStep(); boolean isSucceedLatestAttack(); } diff --git a/src/main/java/views/MainPanel.java b/src/main/java/views/MainPanel.java index 83926f5..233bd65 100644 --- a/src/main/java/views/MainPanel.java +++ b/src/main/java/views/MainPanel.java @@ -22,6 +22,7 @@ private List selectableMyHandKeys; private List selectableOpponentHandKeys; + Constants.Step currentStep; JPanel myHandButtonsPanel; JPanel opponentButtonsPanel; int guess; @@ -35,7 +36,7 @@ myHandButtons = new ArrayList<>(); opponentHandButtons = new ArrayList<>(); selectableOpponentHandKeys = new ArrayList<>(); - + currentStep = Step.SelectMyHands; setButtons(stepScheduler); } @@ -47,13 +48,17 @@ var myHands = stepScheduler.getMyHands(); var opponentHands = stepScheduler.getOpponentHands(); - if(!stepScheduler.isDeckLess()){ + if(!stepScheduler.isDeckLess()){ //デッキが存在する場合 + var top=stepScheduler.getTopCard(); + + var cardButton =new JButton("deck"); cardButton.setPreferredSize(new Dimension(CARD_HEIGHT,CARD_WIDTH)); deckButtonPanel.add(cardButton); + }else { + var option = JOptionPane.showConfirmDialog(null, "Select This Card?", "confirmation", 2); } - //選択可能な自分のカードのキーを取得 selectableMyHandKeys = myHands.stream(). filter(x -> !x.getValue()).//非公開のカードを抽出 @@ -61,9 +66,18 @@ for (var i : myHands) { var cardButton = new CardButton(i.getKey().toString()); cardButton.setStatus(i.getValue()? CardButton.Status.OPEN: CardButton.Status.MY_CLOSED); - if (!selectableMyHandKeys.contains(i.getKey())) cardButton.setEnabled(false); + // if (!selectableMyHandKeys.contains(i.getKey())) cardButton.setEnabled(false); myHandButtons.add(cardButton); myHandButtonsPanel.add(cardButton, BorderLayout.WEST); + cardButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + //if(currentStep!=Step.SelectMyHands)return; + cardButton.setEnabledSelection(true); + var option = JOptionPane.showConfirmDialog(null, "Attack with This Card?", "confirmation", 2); + cardButton.setEnabledSelection(false); + } + }); } //相手のカードに関する処理 @@ -131,6 +145,7 @@ } void setStep(Step step) { + currentStep = step; switch (step) { case SelectMyHands: break; @@ -153,7 +168,7 @@ void update(IAttack iAttack){ myHandButtons.stream().forEach(x -> { - x.setEnabled(false); + // x.setEnabled(false); }); //opponentHandButtons.clear();