Update JokerPanel.java

This commit is contained in:
Dennis Weinberger 2019-03-25 22:38:10 +00:00
parent 03b59c3e98
commit 50661e9a6f

View file

@ -7,6 +7,7 @@ import java.awt.event.MouseListener;
import javax.swing.JPanel; import javax.swing.JPanel;
import game.Game; import game.Game;
import game.map.Castle;
import gui.Resources; import gui.Resources;
import gui.views.GameView; import gui.views.GameView;
@ -15,6 +16,8 @@ public class JokerPanel extends JPanel implements MouseListener{
private Resources resources; private Resources resources;
private Game game; private Game game;
private MapPanel map;
private GameView gv; private GameView gv;
private enum JokerTypes { private enum JokerTypes {
@ -45,6 +48,10 @@ public class JokerPanel extends JPanel implements MouseListener{
this.game = game; this.game = game;
} }
public void setMapPanel(MapPanel map) {
this.map = map;
}
private void setJoker(int index, JokerTypes j) { private void setJoker(int index, JokerTypes j) {
jokers[index] = j; jokers[index] = j;
} }
@ -53,17 +60,35 @@ public class JokerPanel extends JPanel implements MouseListener{
if(game.getRound() < 2) if(game.getRound() < 2)
return; return;
if(joker == JokerTypes.ADD_TROOPS) { if(index == 0) {
if(game == null)
System.out.println("Nll"); 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); game.getCurrentPlayer().addTroops(5);
gv.updateStats(); gv.updateStats();
gv.repaint(); gv.repaint();
System.out.println("Tee"); setJoker(index, JokerTypes.ADD_TROOPS_USED);
joker = JokerTypes.ADD_TROOPS_USED; }
setJoker(joker.ordinal(), JokerTypes.ADD_TROOPS_USED);
System.out.println(joker.ordinal()); 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 @Override
@ -74,25 +99,11 @@ public class JokerPanel extends JPanel implements MouseListener{
} }
public void paintJokers(Graphics g) { public void paintJokers(Graphics g) {
if(jokers == null) System.out.println("X: " + e.getX() + " Y: " + e.getY());
return; if(e.getX() <= 41 && jokers[0] == JokerTypes.ADD_TROOPS) {
playJoker(0);
} else
playJoker(1);
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);
}*/
}
} }