Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dvonn.codebundle;
- import java.awt.Color;
- import java.awt.Graphics;
- import javax.swing.JPanel;
- import java.awt.Dimension;
- import java.awt.Point;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- /**
- * @author 43822835 - Farren Esman
- * @version 1.0
- * @since 25/08/2014
- */
- public class Board extends JPanel implements MouseListener{
- /**
- * Board class of created hexagons
- * array of VisibleSpace and starting point a1 are initialized here
- */
- VisibleSpace[][] spaces = new VisibleSpace[11][];
- Point a1 = new Point(150,100);
- public int x;
- public int y;
- /**
- * Board method creates the array of board hexagons in correct positions
- */
- public Board(){
- for (int i=0; i<spaces.length; i++){
- if(i==0 || i==10)
- spaces[i] = new VisibleSpace[3];
- else if(i==1 || i==9)
- spaces[i] = new VisibleSpace[4];
- else
- spaces[i] = new VisibleSpace[5];
- }
- for (int i=0; i<spaces.length; i++){
- for (int j=0; j<spaces[i].length; j++){
- int startx = a1.x;
- int starty = a1.y;
- //VisibleSpace.paint(spaces[i]);
- if(i==9){
- startx = a1.x - VisibleSpace.xgap;
- starty = a1.y + VisibleSpace.ygap;
- }
- if(i==10){
- startx = a1.x - VisibleSpace.xgap*2;
- starty = a1.y + VisibleSpace.ygap*2;
- }
- spaces[i][j] = new VisibleSpace(startx + i*VisibleSpace.xgap*2 - j*VisibleSpace.xgap, starty + j*VisibleSpace.ygap);
- }
- }
- setSize(new Dimension(845,446));
- addMouseListener(this);
- }
- /**
- * Method to colour the board and draw instantiated Space shapes
- * @param g
- */
- public void paint(Graphics g){
- g.setColor(Palette.BUFF);
- g.fillRect(0,0, getWidth(), getHeight());
- g.setColor(Color.BLACK);
- for (VisibleSpace[] row : spaces){
- for (VisibleSpace s: row){
- if(s.state == 0){
- s.paint(g);
- }
- else if(s.state == 1){
- g.setColor(Color.RED);
- s.paint(g);
- g.setColor(Color.BLACK);
- }
- }
- }
- }
- //new method for finding x, y use VisibleSpace.contains(x,y) and repaint()
- public void changeColor(){
- for (int i=0; i<spaces.length; i++){
- for (int j=0; j<spaces[i].length; j++){
- if(spaces[i][j].contains(x,y) == true){
- if(spaces[i][j].state == 0){
- spaces[i][j].state += 1;
- System.out.println(spaces[i][j].state);
- this.repaint();
- }
- else if(spaces[i][j].state == 1){
- spaces[i][j].state -=1;
- System.out.println(spaces[i][j].state);
- this.repaint();
- }
- }
- }
- }
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- x = e.getX();
- //System.out.println(x);
- y = e.getY();
- //System.out.println(y);
- changeColor();
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseExited(MouseEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mousePressed(MouseEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- // TODO Auto-generated method stub
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement