Advertisement
Guest User

Untitled

a guest
Aug 30th, 2014
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. package dvonn.codebundle;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import javax.swing.JPanel;
  6. import java.awt.Dimension;
  7. import java.awt.Point;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.event.MouseListener;
  10.  
  11. /**
  12. * @author 43822835 - Farren Esman
  13. * @version 1.0
  14. * @since 25/08/2014
  15. */
  16.  
  17. public class Board extends JPanel implements MouseListener{
  18. /**
  19. * Board class of created hexagons
  20. * array of VisibleSpace and starting point a1 are initialized here
  21. */
  22. VisibleSpace[][] spaces = new VisibleSpace[11][];
  23. Point a1 = new Point(150,100);
  24. public int x;
  25. public int y;
  26.  
  27. /**
  28. * Board method creates the array of board hexagons in correct positions
  29. */
  30. public Board(){
  31.  
  32. for (int i=0; i<spaces.length; i++){
  33. if(i==0 || i==10)
  34. spaces[i] = new VisibleSpace[3];
  35. else if(i==1 || i==9)
  36. spaces[i] = new VisibleSpace[4];
  37. else
  38. spaces[i] = new VisibleSpace[5];
  39. }
  40.  
  41. for (int i=0; i<spaces.length; i++){
  42. for (int j=0; j<spaces[i].length; j++){
  43. int startx = a1.x;
  44. int starty = a1.y;
  45. //VisibleSpace.paint(spaces[i]);
  46. if(i==9){
  47. startx = a1.x - VisibleSpace.xgap;
  48. starty = a1.y + VisibleSpace.ygap;
  49. }
  50. if(i==10){
  51. startx = a1.x - VisibleSpace.xgap*2;
  52. starty = a1.y + VisibleSpace.ygap*2;
  53. }
  54. spaces[i][j] = new VisibleSpace(startx + i*VisibleSpace.xgap*2 - j*VisibleSpace.xgap, starty + j*VisibleSpace.ygap);
  55. }
  56. }
  57.  
  58. setSize(new Dimension(845,446));
  59. addMouseListener(this);
  60. }
  61.  
  62. /**
  63. * Method to colour the board and draw instantiated Space shapes
  64. * @param g
  65. */
  66. public void paint(Graphics g){
  67. g.setColor(Palette.BUFF);
  68. g.fillRect(0,0, getWidth(), getHeight());
  69.  
  70. g.setColor(Color.BLACK);
  71. for (VisibleSpace[] row : spaces){
  72. for (VisibleSpace s: row){
  73. if(s.state == 0){
  74. s.paint(g);
  75. }
  76. else if(s.state == 1){
  77. g.setColor(Color.RED);
  78. s.paint(g);
  79. g.setColor(Color.BLACK);
  80. }
  81. }
  82. }
  83. }
  84.  
  85. //new method for finding x, y use VisibleSpace.contains(x,y) and repaint()
  86. public void changeColor(){
  87.  
  88. for (int i=0; i<spaces.length; i++){
  89. for (int j=0; j<spaces[i].length; j++){
  90. if(spaces[i][j].contains(x,y) == true){
  91. if(spaces[i][j].state == 0){
  92. spaces[i][j].state += 1;
  93. System.out.println(spaces[i][j].state);
  94. this.repaint();
  95. }
  96. else if(spaces[i][j].state == 1){
  97. spaces[i][j].state -=1;
  98. System.out.println(spaces[i][j].state);
  99. this.repaint();
  100. }
  101. }
  102. }
  103. }
  104.  
  105. }
  106.  
  107.  
  108. @Override
  109. public void mouseClicked(MouseEvent e) {
  110.  
  111. x = e.getX();
  112. //System.out.println(x);
  113. y = e.getY();
  114. //System.out.println(y);
  115.  
  116. changeColor();
  117. }
  118.  
  119. @Override
  120. public void mouseEntered(MouseEvent e) {
  121. // TODO Auto-generated method stub
  122.  
  123. }
  124.  
  125. @Override
  126. public void mouseExited(MouseEvent e) {
  127. // TODO Auto-generated method stub
  128.  
  129. }
  130.  
  131. @Override
  132. public void mousePressed(MouseEvent e) {
  133. // TODO Auto-generated method stub
  134.  
  135. }
  136.  
  137. @Override
  138. public void mouseReleased(MouseEvent e) {
  139. // TODO Auto-generated method stub
  140.  
  141. }
  142.  
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement