Advertisement
Guest User

Untitled

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