Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.92 KB | None | 0 0
  1. package ile;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.CardLayout;
  5. import java.awt.Color;
  6. import java.awt.Frame;
  7. import java.awt.GridLayout;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.awt.event.MouseEvent;
  11. import java.awt.event.MouseListener;
  12. import java.util.ArrayList;
  13. import java.util.HashMap;
  14. import javax.swing.BorderFactory;
  15. import javax.swing.JButton;
  16. import javax.swing.JFrame;
  17. import javax.swing.JLabel;
  18. import javax.swing.JPanel;
  19. import javax.swing.JTextField;
  20. import javax.swing.SwingConstants;
  21. import static javax.swing.SwingConstants.CENTER;
  22. import javax.swing.border.MatteBorder;
  23.  
  24. public class VueAventurier extends Observe {
  25.  
  26.     private JPanel mainPanel;
  27.     private JPanel panelNord;
  28.     private JPanel panelCartes;
  29.     private JPanel panelChoixAction;
  30.     private JPanel panelActionPerso;
  31.     private JPanel panelActionCartes;
  32.     private JPanel panelChoixJoueurs;
  33.     private JPanel panelSouth;
  34.     private CardLayout cardLayout = new CardLayout();
  35.     private ArrayList<Aventurier> joueurs;
  36.     private ArrayList<PanelCarte> cartes;
  37.     private JLabel infoPerso;
  38.     private JButton choixActionsPerso;
  39.     private JButton choixActionCartes;
  40.     private JButton terminerTour;
  41.     private JButton deplacer;
  42.     private JButton assecher;
  43.     private JButton actionSpe;
  44.     private JButton terminerActions;
  45.     private JButton defausser;
  46.     private JButton donner;
  47.     private JButton utiliser;
  48.     private JButton joueur1;
  49.     private JButton joueur2;
  50.     private JButton joueur3;
  51.     private JButton retourMenuPrec1;
  52.     private JButton retourMenuPrec2;
  53.     private JButton retourMenuPrec3;
  54.  
  55.     VueAventurier(String nomJoueur, String typeAventurier, Color couleur, Aventurier aventurier, ArrayList<Aventurier> joueur) {
  56.         mainPanel = new JPanel(new BorderLayout());
  57.         joueurs = new ArrayList<>();
  58.         for(Aventurier a : joueur){
  59.             joueurs.add(a);
  60.         }
  61.        
  62.         //Panel du haut
  63.         panelNord = new JPanel();
  64.         mainPanel.add(panelNord, BorderLayout.NORTH);
  65.         panelNord.setBackground(couleur);
  66.         infoPerso = new JLabel(nomJoueur + "(" + typeAventurier + ")");
  67.         infoPerso.setForeground(Color.WHITE);
  68.         panelNord.add(infoPerso);
  69.         infoPerso.setHorizontalAlignment(panelNord.getWidth() / 2);
  70.         infoPerso.setVerticalAlignment(panelNord.getHeight() / 2);
  71.  
  72.         //Panel Centre
  73.         cartes = new ArrayList<>();
  74.         panelCartes = new JPanel(new GridLayout(1, 6));
  75.         mainPanel.add(panelCartes, BorderLayout.CENTER);
  76.         cartes.add(new PanelCarte("Calice", 0));
  77.         cartes.add(new PanelCarte("Cristal", 0));
  78.         cartes.add(new PanelCarte("Pierre", 0));
  79.         cartes.add(new PanelCarte("Zéphyr", 0));
  80.         cartes.add(new PanelCarte("Hélicoptère", 0));
  81.         cartes.add(new PanelCarte("Sac De Sable", 0));
  82.         Integer cal = 0;
  83.         Integer cris = 0;
  84.         Integer pierre = 0;
  85.         Integer zeph = 0;
  86.         Integer helico = 0;
  87.         Integer sac = 0;
  88.         for (Carte c : aventurier.getMainCarte()) {
  89.             System.out.println("Comptage des cartes");
  90.             if (c instanceof CarteActionSpeciale) {
  91.                 if (c.getType() == TypeAcSpe.SACDESABLE) {
  92.                     System.out.println("sac de sable");
  93.                     sac += 1;
  94.                 } else {
  95.                     System.out.println("hélico");
  96.                     helico += 1;
  97.                 }
  98.             } else if (c instanceof CarteTresor) {
  99.                 if (c.getTresor() == Tresor.PIERRE) {
  100.                     System.out.println("pierre");
  101.                     pierre += 1;
  102.                 } else if (c.getTresor() == Tresor.ZEPHYR) {
  103.                     System.out.println("zephyr");
  104.                     zeph += 1;
  105.                 } else if (c.getTresor() == Tresor.CRISTAL) {
  106.                     System.out.println("cristal");
  107.                     cris += 1;
  108.                 } else {
  109.                     System.out.println("calice");
  110.                     cal += 1;
  111.                 }
  112.             }
  113.         }
  114.         cartes.get(0).setN(cal);
  115.         cartes.get(0).setNombre(new JLabel(cal.toString()));
  116.         cartes.get(1).setN(cris);
  117.         cartes.get(1).setNombre(new JLabel(cris.toString()));
  118.         cartes.get(2).setN(pierre);
  119.         cartes.get(2).setNombre(new JLabel(pierre.toString()));
  120.         cartes.get(3).setN(zeph);
  121.         cartes.get(3).setNombre(new JLabel(zeph.toString()));
  122.         cartes.get(4).setN(helico);
  123.         cartes.get(4).setNombre(new JLabel(helico.toString()));
  124.         cartes.get(5).setN(sac);
  125.         cartes.get(5).setNombre(new JLabel(sac.toString()));
  126.         for (PanelCarte p : cartes) {
  127.             System.out.println("ajout carte");
  128.             p.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
  129.             p.add(p.getNom());
  130.             p.add(p.getNombre());
  131.             panelCartes.add(p);
  132.             p.addMouseListener(
  133.                         new MouseListener() {
  134.                     @Override
  135.                     public void mouseClicked(MouseEvent e) {
  136.                         if (p.isClique()) {
  137.                             p.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
  138.                             p.setClique(false);
  139.                         } else {
  140.                             p.setBorder(BorderFactory.createLineBorder(Color.YELLOW, 2));
  141.                             p.setClique(true);
  142.                         }
  143.                         Message m = new Message();
  144.                        
  145.                     }
  146.  
  147.                     @Override
  148.                     public void mousePressed(MouseEvent e) {
  149.                     }
  150.  
  151.                     @Override
  152.                     public void mouseReleased(MouseEvent e) {
  153.                     }
  154.  
  155.                     @Override
  156.                     public void mouseEntered(MouseEvent e) {
  157.                     }
  158.  
  159.                     @Override
  160.                     public void mouseExited(MouseEvent e) {
  161.                     }
  162.                 }
  163.                 );
  164.         }
  165.        
  166.  
  167.         //Panel sud choix action perso
  168.         panelSouth = new JPanel(cardLayout);
  169.      
  170.         panelActionPerso = new JPanel(new GridLayout(1, 5));
  171.         deplacer = new JButton("Deplacer");
  172.         deplacer.addActionListener(new ActionListener() {
  173.             public void actionPerformed(ActionEvent e) {
  174.                 Message m = new Message();
  175.                 m.s = "deplacer";
  176.                 m.type = TypesMessages.TYPE_ACTION;
  177.                 m.nomAventurier = typeAventurier;
  178.                 System.out.println(m.s + " vueAventurier");
  179.                 notifierObservateur(m);
  180.             }
  181.         });
  182.         assecher = new JButton("Assecher");
  183.         assecher.addActionListener(new ActionListener() {
  184.             public void actionPerformed(ActionEvent e) {
  185.                 Message m = new Message();
  186.                 m.s = "assecher";
  187.                 m.type = TypesMessages.TYPE_ACTION;
  188.                 m.nomAventurier = typeAventurier;
  189.                 notifierObservateur(m);
  190.             }
  191.         });
  192.         actionSpe = new JButton("Action spé");
  193.         actionSpe.addActionListener(new ActionListener() {
  194.             public void actionPerformed(ActionEvent e) {
  195.                 Message m = new Message();
  196.                 m.type = TypesMessages.TYPE_ACTION;
  197.                 m.s = "actionSpeciale";
  198.                 notifierObservateur(m);
  199.             }
  200.         });
  201.         terminerActions = new JButton("Terminé act");
  202.         terminerActions.addActionListener(new ActionListener() {
  203.             public void actionPerformed(ActionEvent e) {
  204.                 Message m = new Message();
  205.                 m.type = TypesMessages.TYPE_FINAC;
  206.                 notifierObservateur(m);
  207.             }
  208.         });
  209.         retourMenuPrec1 = new JButton("retour");
  210.         retourMenuPrec1.addActionListener(new ActionListener() {
  211.             public void actionPerformed(ActionEvent e) {
  212.                 cardLayout.show(panelSouth, "4");
  213.                 validate();
  214.                 repaint();
  215.             }
  216.         });
  217.         panelActionPerso.add(deplacer);
  218.         panelActionPerso.add(assecher);
  219.         panelActionPerso.add(actionSpe);
  220.         panelActionPerso.add(terminerActions);
  221.         panelActionPerso.add(retourMenuPrec1);
  222.         panelSouth.add(panelActionPerso, "1");
  223.  
  224.         //Panel choix action carte
  225.         panelActionCartes = new JPanel(new GridLayout(1, 4));
  226.         defausser = new JButton("Défausser");
  227.         donner = new JButton("Donner");
  228.         donner.addActionListener(new ActionListener() {
  229.             public void actionPerformed(ActionEvent e) {
  230.                 cardLayout.show(panelSouth, "3");
  231.                 validate();
  232.                 repaint();
  233.             }
  234.         });
  235.         utiliser = new JButton("Utiliser");
  236.         retourMenuPrec2 = new JButton("Retour");
  237.         retourMenuPrec2.addActionListener(new ActionListener() {
  238.             public void actionPerformed(ActionEvent e) {
  239.                 cardLayout.show(panelSouth, "4");
  240.                 validate();
  241.                 repaint();
  242.             }
  243.         });
  244.         panelActionCartes.add(defausser);
  245.         panelActionCartes.add(donner);
  246.         panelActionCartes.add(utiliser);
  247.         panelActionCartes.add(retourMenuPrec2);
  248.         panelSouth.add(panelActionCartes, "2");
  249.        
  250.         //Panel choix joueurs
  251.         for (Aventurier a : joueurs) {
  252.             System.out.println(a.getPion().toString());
  253.         }
  254.         System.out.println("");
  255.         joueurs.remove(aventurier);
  256.         panelChoixJoueurs = new JPanel(new GridLayout(1, 4));
  257.         joueur1 = new JButton(joueurs.get(0).getClass().getSimpleName());
  258.         joueur2 = new JButton(joueurs.get(1).getClass().getSimpleName());
  259.         joueur3 = new JButton(joueurs.get(2).getClass().getSimpleName());
  260.         retourMenuPrec3 = new JButton("Retour");
  261.         retourMenuPrec3.addActionListener(new ActionListener() {
  262.             public void actionPerformed(ActionEvent e) {
  263.                 cardLayout.show(panelSouth, "2");
  264.                 validate();
  265.                 repaint();
  266.             }
  267.         });
  268.         panelChoixJoueurs.add(joueur1);
  269.         panelChoixJoueurs.add(joueur2);
  270.         panelChoixJoueurs.add(joueur3);
  271.         panelChoixJoueurs.add(retourMenuPrec3);
  272.         panelSouth.add(panelChoixJoueurs, "3");
  273.  
  274.         //Panel sud Choix Action
  275.         panelChoixAction = new JPanel(new GridLayout(1, 3));
  276.         mainPanel.add(panelChoixAction, BorderLayout.SOUTH);
  277.         choixActionsPerso = new JButton("Actions perso");
  278.         choixActionsPerso.addActionListener(new ActionListener() {
  279.             public void actionPerformed(ActionEvent e) {
  280.                 cardLayout.show(panelSouth, "1");
  281.                 validate();
  282.                 repaint();
  283.             }
  284.         });
  285.         choixActionCartes = new JButton("Actions carte");
  286.         choixActionCartes.addActionListener(new ActionListener() {
  287.             public void actionPerformed(ActionEvent e) {
  288.                 cardLayout.show(panelSouth, "2");
  289.                 validate();
  290.                 repaint();
  291.             }
  292.         });
  293.         terminerTour = new JButton("terminer tour");
  294.         terminerTour.addActionListener(new ActionListener() {
  295.             public void actionPerformed(ActionEvent e) {
  296.                 Message m = new Message();
  297.                 m.type = TypesMessages.TYPE_ANNULER;
  298.                 notifierObservateur(m);
  299.             }
  300.         });
  301.         panelChoixAction.add(choixActionsPerso);
  302.         panelChoixAction.add(choixActionCartes);
  303.         panelChoixAction.add(terminerTour);
  304.         panelSouth.add(panelChoixAction,"4");
  305.        
  306.         cardLayout.show(panelSouth,"4");
  307.         mainPanel.add(panelSouth, BorderLayout.SOUTH);
  308.        
  309.        
  310.     }
  311.  
  312.     public JPanel getMainPanel() {
  313.         return mainPanel;
  314.     }
  315.    
  316. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement