diff --git a/Projektgruppe_175/src/gui/components/JokerPanel.java b/Projektgruppe_175/src/gui/components/JokerPanel.java index 087b33f..ccec8a1 100644 --- a/Projektgruppe_175/src/gui/components/JokerPanel.java +++ b/Projektgruppe_175/src/gui/components/JokerPanel.java @@ -7,6 +7,7 @@ import java.awt.event.MouseListener; import javax.swing.JPanel; import game.Game; +import game.map.Castle; import gui.Resources; import gui.views.GameView; @@ -15,6 +16,8 @@ public class JokerPanel extends JPanel implements MouseListener{ private Resources resources; private Game game; + private MapPanel map; + private GameView gv; private enum JokerTypes { @@ -45,6 +48,10 @@ public class JokerPanel extends JPanel implements MouseListener{ this.game = game; } + public void setMapPanel(MapPanel map) { + this.map = map; + } + private void setJoker(int index, JokerTypes j) { jokers[index] = j; } @@ -53,17 +60,35 @@ public class JokerPanel extends JPanel implements MouseListener{ if(game.getRound() < 2) return; - if(joker == JokerTypes.ADD_TROOPS) { - if(game == null) - System.out.println("Nll"); + if(index == 0) { + + int choice = JOptionPane.showOptionDialog(this, "Dieser Joker gibt dir 5 Truppen. Sicher, dass du ihn verwenden willst?", + "Truppen-Joker", + JOptionPane.YES_NO_OPTION, + JOptionPane.INFORMATION_MESSAGE, + null, new String[]{"Benutzen", "Abbrechen"}, "Benutzen"); + if(choice == 1) + return; game.getCurrentPlayer().addTroops(5); gv.updateStats(); gv.repaint(); - System.out.println("Tee"); - joker = JokerTypes.ADD_TROOPS_USED; - setJoker(joker.ordinal(), JokerTypes.ADD_TROOPS_USED); - System.out.println(joker.ordinal()); - } + setJoker(index, JokerTypes.ADD_TROOPS_USED); + } + + if(index == 1) { + int choice = JOptionPane.showOptionDialog(this, "Dieser Joker jagt den gegnerischen Truppen in einer Burg deiner Wahl Angst ein, sodass sie in benachbarte Burgen fliehen.\nFalls es keine benachbarten Burgen gibt, rennen die gegnerischen Truppen in den Wald und sterben einen qualvollen Hungertod. Sicher, dass du ihn verwenden willst?", + "Truppen verscheuchen", + JOptionPane.YES_NO_OPTION, + JOptionPane.INFORMATION_MESSAGE, + null, new String[]{"Benutzen", "Abbrechen"}, "Benutzen"); + if(choice == 1) + return; + + System.out.println("Joker used"); + map.setIsChoosingJoker(true); + setJoker(index, JokerTypes.SCARE_TROOPS_USED); + + } } @Override @@ -74,25 +99,11 @@ public class JokerPanel extends JPanel implements MouseListener{ } public void paintJokers(Graphics g) { - if(jokers == null) - return; - - - - for(int i = 0; i < jokers.length; i++) { - System.out.print("i: " + i + jokers[i] + " "); - g.drawImage(resources.getJokers()[jokers[i].ordinal()], 9 + 32 * i + 10 * i, 5, 32, 32, null); - /*if(jokers[i] == JokerTypes.ADD_TROOPS) { - g.drawImage(resources.getJokers()[JokerTypes.valueOf("ADD_TROOPS").ordinal()], 9 + 32 * i + 10 * i, 5, 32, 32, null); - } else if(jokers[i] == JokerTypes.ADD_TROOPS_USED) { - g.drawImage(resources.getJokers()[JokerTypes.valueOf("ADD_TROOPS_USED").ordinal()], 9 + 32 * i + 10 * i, 5, 32, 32, null); - } else if(jokers[i] == JokerTypes.SCARE_TROOPS) { - g.drawImage(resources.getJokers()[JokerTypes.valueOf("SCARE_TROOPS").ordinal()], 9 + 32 * i + 10 * i, 5, 32, 32, null); - } else if(jokers[i] == JokerTypes.SCARE_TROOPS) { - g.drawImage(resources.getJokers()[JokerTypes.valueOf("SCARE_TROOPS_USED").ordinal()], 9 + 32 * i + 10 * i, 5, 32, 32, null); - }*/ - } - + System.out.println("X: " + e.getX() + " Y: " + e.getY()); + if(e.getX() <= 41 && jokers[0] == JokerTypes.ADD_TROOPS) { + playJoker(0); + } else + playJoker(1); }