diff options
Diffstat (limited to '')
-rw-r--r-- | src/MainPanel.java | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/src/MainPanel.java b/src/MainPanel.java deleted file mode 100644 index 8af12ee..0000000 --- a/src/MainPanel.java +++ /dev/null @@ -1,265 +0,0 @@ -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; -import java.util.Random; - -public class MainPanel extends JPanel implements MouseListener, MouseMotionListener { - - public int width = 20; - public Tile[][] tileArray = new Tile[width][width]; - public int size; - public boolean selectionMode = false; - public boolean attackMode = false; - public boolean action = false; - public boolean miss = false; - public int[] selection = {0, 0}; - public int[] attaction = {0, 0}; - public int[] location = {0, 0}; - private int len; - private Color RED = new Color(165, 66, 66); - private Color YELLOW = new Color(250, 198, 116); - private Color GREEN = new Color(181, 189, 104); - private Color BLACK = new Color(29, 31, 33); - private Color WHITE = new Color(197, 200, 198); - private Color BLUE = new Color(95, 129, 157); - private Color ORANGE = new Color(222, 147, 95); - private Color DARKGREEN = new Color(140, 148, 64); - private Color BROWN = new Color(51, 41, 33); - private Random rand = new Random(); - - public MainPanel () { - for (int row = 0; row < width; row++) { - for (int col = 0; col < width; col++) { - tileArray[row][col] = new Tile(row, col, this.size, this.width); - } - } - - tileArray[0][0].entityType = EntityType.PLAYER; - for (int i = 0; i < 35; i++) { - int row = rand.nextInt(width); - int col = rand.nextInt(width); - int type = rand.nextInt(4); - if (tileArray[row][col].entityType == EntityType.NULL) { - if (type == 0) { - tileArray[row][col].entityType = EntityType.ENEMY; - } else { - tileArray[row][col].entityType = EntityType.TREE; - } - } - } - - this.addMouseListener(this); - this.addMouseMotionListener(this); - } - - public void paintComponent(Graphics g) { - if (this.getWidth() > this.getHeight()) { - this.size = this.getHeight(); - } else { - this.size = this.getWidth(); - } - - super.paintComponent(g); - - Graphics2D g2d = (Graphics2D) g.create(); - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_ON); - - int bar = this.size/20; - - g2d.setColor(WHITE); - g2d.fillRect(0, 0, this.getWidth(), this.getHeight()); - g2d.setColor(BLACK); - g2d.fillRect(0, this.size-bar, this.size-bar, bar); - g2d.setColor(WHITE); - g2d.setFont(new Font("Arial", Font.BOLD, bar-bar/10)); - if (this.miss) { - g2d.drawString("MISS", this.size-bar-(bar-bar/10)*3, this.size-bar/10); - } - - if (action) { - g2d.drawString("PAS", 0, this.size-bar/10); - g2d.drawString("ATK", (bar-bar/10)*3, this.size-bar/10); - } - - for (int row = 0; row < width; row++) { - for (int col = 0; col < width; col++) { - this.tileArray[row][col].calc(row, col, this.size-bar); - int x = this.tileArray[row][col].x; - int y = this.tileArray[row][col].y; - this.len = this.tileArray[row][col].len; - - int border = len/100; - - if (this.tileArray[row][col].tileType == TileType.GRASS) { - g2d.setColor(GREEN); - g2d.fillRect(x, y, len, len); - g2d.setColor(BLACK); - g2d.setStroke(new BasicStroke(len/50)); - g2d.drawRect(x, y, len, len); - } else if ( - this.tileArray[row][col].tileType == TileType.WATER) { - g2d.setColor(Color.BLUE); - g2d.fillRect(x, y, len, len); - g2d.setColor(BLACK); - g2d.setStroke(new BasicStroke(len/50)); - g2d.drawRect(x, y, len, len); - } - - int spacing = len/12; - - - if (this.tileArray[row][col].entityType == EntityType.PLAYER) { - g2d.setColor(BLUE); - g2d.fillRect( - x+spacing, y+spacing, len-spacing*2, len-spacing*2); - this.location[0] = x; - this.location[1] = y; - this.selection[0] = row; - this.selection[1] = col; - } - - if (this.tileArray[row][col].entityType == EntityType.ENEMY) { - g2d.setColor(RED); - g2d.fillRect( - x+spacing, y+spacing, len-spacing*2, len-spacing*2); - } - - if (this.tileArray[row][col].entityType == EntityType.TREE) { - g2d.setColor(DARKGREEN); - g2d.fillRect( - x+spacing, y+spacing, len-spacing*2, len-spacing*2); - g2d.setColor(BROWN); - g2d.fillRect(x+len/3, y+len/3, len/3, len/3); - } - - if (this.tileArray[row][col].selected) { - if (this.tileArray[row][col].entityType == EntityType.NULL) { - g2d.setColor(YELLOW); - g2d.fillRect(x+len/3, y+len/3, len/3, len/3); - } - } - - if (this.tileArray[row][col].attack) { - g2d.setColor(ORANGE); - g2d.setStroke(new BasicStroke(this.len/6)); - g2d.drawRect(x+len/4, y+len/4, len*2/4, len*2/4); - } - } - } - - } - - public void mousePressed(MouseEvent e) {} - public void mouseReleased(MouseEvent e) {} - public void mouseEntered(MouseEvent e) {} - public void mouseMoved(MouseEvent e) { - int x = e.getX(); - int y = e.getY(); - - if (attackMode) { - for (int row = 0; row < width; row++) { - for (int col = 0; col < width; col++) { - this.tileArray[row][col].attack = false; - if ( - x > this.tileArray[row][col].x - && x < this.tileArray[row][col].x - + this.tileArray[row][col].len - && y > this.tileArray[row][col].y - && y < this.tileArray[row][col].y - + this.tileArray[row][col].len - ) { - this.tileArray[row][col].attack = true; - } - } - } - } - this.repaint(); - } - public void mouseExited(MouseEvent e) {} - public void mouseDragged(MouseEvent e) {} - - public void mouseClicked(MouseEvent e) { - int x = e.getX(); - int y = e.getY(); - int bar = this.size/20; - boolean stop = false; - this.miss = false; - - if ( - x > 0 - && x < (bar-bar/10)*3 - && y > this.size-bar - && y < this.size - ) { - this.action = false; - } else if ( - x > (bar-bar/10)*3 - && x < (bar-bar/10)*6 - && y > this.size-bar - && y < this.size - ) { - this.attackMode = true; - this.action = false; - } else { - for (int row = 0; row < width; row++) { - for (int col = 0; col < width; col++) { - if ( - x > this.tileArray[row][col].x - && x < this.tileArray[row][col].x - + this.tileArray[row][col].len - && y > this.tileArray[row][col].y - && y < this.tileArray[row][col].y - + this.tileArray[row][col].len - ) { - if (this.selectionMode) { - if (this.tileArray[row][col].selected) { - this.tileArray[this.selection[0]][this.selection[1]].entityType = EntityType.NULL; - this.tileArray[row][col].entityType = EntityType.PLAYER; - this.selectionMode = false; - this.action = true; - } - } else if (this.attackMode) { - int dist = (int) Math.sqrt(Math.pow(row - this.selection[0], 2) - + Math.pow(col - this.selection[1], 2)); - if (rand.nextInt(13) > dist) { - if (this.tileArray[row][col].entityType == EntityType.ENEMY) { - this.tileArray[row][col].entityType = EntityType.NULL; - } else if (this.tileArray[row][col].entityType == EntityType.TREE) { - this.tileArray[row][col].entityType = EntityType.NULL; - } - } else { - this.miss = true; - } - this.tileArray[row][col].attack = false; - this.attackMode = false; - } else if (this.tileArray[row][col].entityType == EntityType.PLAYER) { - this.selectionMode = true; - this.selection[0] = row; - this.selection[1] = col; - for (int srow = -4; srow <= 4; srow++) { - for (int scol = -4; scol <= 4; scol++) { - if (Math.abs(srow) + Math.abs(scol) <= 4) { - try { - if (this.tileArray[row+srow][col+scol].entityType == EntityType.NULL) { - this.tileArray[row+srow][col+scol].selected = true; - } - } catch (ArrayIndexOutOfBoundsException ex) {} - } - } - } - } - } - } - } - if (!selectionMode) { - for (int row = 0; row < width; row++) { - for (int col = 0; col < width; col++) { - this.tileArray[row][col].selected = false; - } - } - } - } - this.repaint(); - } -} |