Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.71 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(450, 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. Integer cal = 0;
  85. Integer cris = 0;
  86. Integer pierre = 0;
  87. Integer zeph = 0;
  88. Integer helico = 0;
  89. Integer sac = 0;
  90. for (Carte c : aventurier.getMainCarte()) {
  91. System.out.println("Comptage des cartes");
  92. if (c instanceof CarteActionSpeciale) {
  93. if (c.getType() == TypeAcSpe.SACDESABLE) {
  94. System.out.println("sac de sable");
  95. sac += 1;
  96. } else {
  97. System.out.println("hélico");
  98. helico += 1;
  99. }
  100. } else if (c instanceof CarteTresor) {
  101. if (c.getTresor() == Tresor.PIERRE) {
  102. System.out.println("pierre");
  103. pierre += 1;
  104. } else if (c.getTresor() == Tresor.ZEPHYR) {
  105. System.out.println("zephyr");
  106. zeph += 1;
  107. } else if (c.getTresor() == Tresor.CRISTAL) {
  108. System.out.println("cristal");
  109. cris += 1;
  110. } else {
  111. System.out.println("calice");
  112. cal += 1;
  113. }
  114. }
  115. }
  116. cartes.get(0).setN(cal);
  117. cartes.get(0).setNombre(new JLabel(cal.toString()));
  118. cartes.get(1).setN(cris);
  119. cartes.get(1).setNombre(new JLabel(cris.toString()));
  120. cartes.get(2).setN(pierre);
  121. cartes.get(2).setNombre(new JLabel(pierre.toString()));
  122. cartes.get(3).setN(zeph);
  123. cartes.get(3).setNombre(new JLabel(zeph.toString()));
  124. cartes.get(4).setN(helico);
  125. cartes.get(4).setNombre(new JLabel(helico.toString()));
  126. cartes.get(5).setN(sac);
  127. cartes.get(5).setNombre(new JLabel(sac.toString()));
  128. for (PanelCarte p : cartes) {
  129. System.out.println("ajout carte");
  130. p.add(p.getNom());
  131. p.add(p.getNombre());
  132. panelCartes.add(p);
  133. }
  134.  
  135.  
  136. //Panel sud choix action perso
  137. panelSouth = new JPanel(cardLayout);
  138.  
  139. panelActionPerso = new JPanel(new GridLayout(1, 5));
  140. deplacer = new JButton("Deplacer");
  141. deplacer.addActionListener(new ActionListener() {
  142. public void actionPerformed(ActionEvent e) {
  143. Message m = new Message();
  144. m.s = "deplacer";
  145. m.type = TypesMessages.TYPE_ACTION;
  146. m.nomAventurier = typeAventurier;
  147. System.out.println(m.s + " vueAventurier");
  148. notifierObservateur(m);
  149. }
  150. });
  151. assecher = new JButton("Assecher");
  152. assecher.addActionListener(new ActionListener() {
  153. public void actionPerformed(ActionEvent e) {
  154. Message m = new Message();
  155. m.s = "assecher";
  156. m.type = TypesMessages.TYPE_ACTION;
  157. m.nomAventurier = typeAventurier;
  158. notifierObservateur(m);
  159. }
  160. });
  161. actionSpe = new JButton("Action spé");
  162. actionSpe.addActionListener(new ActionListener() {
  163. public void actionPerformed(ActionEvent e) {
  164. Message m = new Message();
  165. m.type = TypesMessages.TYPE_ACTION;
  166. m.s = "actionSpeciale";
  167. notifierObservateur(m);
  168. }
  169. });
  170. terminerActions = new JButton("Terminé act");
  171. terminerActions.addActionListener(new ActionListener() {
  172. public void actionPerformed(ActionEvent e) {
  173. Message m = new Message();
  174. m.type = TypesMessages.TYPE_FINACT;
  175. notifierObservateur(m);
  176. }
  177. });
  178. retourMenuPrec1 = new JButton("retour");
  179. retourMenuPrec1.addActionListener(new ActionListener() {
  180. public void actionPerformed(ActionEvent e) {
  181. cardLayout.show(panelSouth, "4");
  182. validate();
  183. repaint();
  184. }
  185. });
  186. panelActionPerso.add(deplacer);
  187. panelActionPerso.add(assecher);
  188. panelActionPerso.add(actionSpe);
  189. panelActionPerso.add(terminerActions);
  190. panelActionPerso.add(retourMenuPrec1);
  191. panelSouth.add(panelActionPerso, "1");
  192.  
  193. //Panel choix action carte
  194. panelActionCartes = new JPanel(new GridLayout(1, 4));
  195. defausser = new JButton("Défausser");
  196. donner = new JButton("Donner");
  197. donner.addActionListener(new ActionListener() {
  198. public void actionPerformed(ActionEvent e) {
  199. cardLayout.show(panelSouth, "2");
  200. validate();
  201. repaint();
  202. }
  203. });
  204. utiliser = new JButton("Utiliser");
  205. retourMenuPrec2 = new JButton("Retour");
  206. retourMenuPrec2.addActionListener(new ActionListener() {
  207. public void actionPerformed(ActionEvent e) {
  208. cardLayout.show(panelSouth, "4");
  209. validate();
  210. repaint();
  211. }
  212. });
  213. panelActionCartes.add(defausser);
  214. panelActionCartes.add(donner);
  215. panelActionCartes.add(utiliser);
  216. panelActionCartes.add(retourMenuPrec2);
  217. panelSouth.add(panelActionCartes, "2");
  218.  
  219. //Panel choix joueurs
  220. for (Aventurier a : joueurs) {
  221. System.out.println(a.getPion().toString());
  222. }
  223. System.out.println("");
  224. joueurs.remove(aventurier);
  225. panelChoixJoueurs = new JPanel(new GridLayout(1, 4));
  226. joueur1 = new JButton(joueurs.get(0).getClass().getSimpleName());
  227. joueur2 = new JButton(joueurs.get(1).getClass().getSimpleName());
  228. joueur3 = new JButton(joueurs.get(2).getClass().getSimpleName());
  229. retourMenuPrec3 = new JButton("Retour");
  230. retourMenuPrec3.addActionListener(new ActionListener() {
  231. public void actionPerformed(ActionEvent e) {
  232. cardLayout.show(panelSouth, "4");
  233. validate();
  234. repaint();
  235. }
  236. });
  237. panelChoixJoueurs.add(joueur1);
  238. panelChoixJoueurs.add(joueur2);
  239. panelChoixJoueurs.add(joueur3);
  240. panelChoixJoueurs.add(retourMenuPrec3);
  241. panelSouth.add(panelChoixJoueurs, "3");
  242.  
  243. //Panel sud Choix Action
  244. panelChoixAction = new JPanel(new GridLayout(1, 3));
  245. mainPanel.add(panelChoixAction, BorderLayout.SOUTH);
  246. choixActionsPerso = new JButton("Actions perso");
  247. choixActionsPerso.addActionListener(new ActionListener() {
  248. public void actionPerformed(ActionEvent e) {
  249. cardLayout.show(panelSouth, "1");
  250. validate();
  251. repaint();
  252. }
  253. });
  254. choixActionCartes = new JButton("Actions carte");
  255. choixActionCartes.addActionListener(new ActionListener() {
  256. public void actionPerformed(ActionEvent e) {
  257. cardLayout.show(panelSouth, "2");
  258. validate();
  259. repaint();
  260. }
  261. });
  262. terminerTour = new JButton("terminer tour");
  263. terminerTour.addActionListener(new ActionListener() {
  264. public void actionPerformed(ActionEvent e) {
  265. Message m = new Message();
  266. m.type = TypesMessages.TYPE_ANNULER;
  267. notifierObservateur(m);
  268. }
  269. });
  270. panelChoixAction.add(choixActionsPerso);
  271. panelChoixAction.add(choixActionCartes);
  272. panelChoixAction.add(terminerTour);
  273. panelSouth.add(panelChoixAction,"4");
  274.  
  275. cardLayout.show(panelSouth,"4");
  276. mainPanel.add(panelSouth, BorderLayout.SOUTH);
  277.  
  278.  
  279. window.setVisible(true);
  280.  
  281. }
  282.  
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement