Files
fooling-arround-in-java/TicTacToe/src/Painter.java
2020-08-26 22:51:28 +02:00

74 lines
1.9 KiB
Java

import java.awt.*;
public class Painter {
private final int TILE_X;
private final int TILE_Y;
private int winningX1, winningY1, winningX2, winningY2;
public Painter(int boardWidth, int boardHeight){
TILE_X = boardWidth/3;
TILE_Y = boardHeight/3;
}
public void drawX(Graphics g, int column, int row) {
Graphics2D g2d = (Graphics2D) g;
int nextColumn = column + 1;
int nextRow = row + 1;
int x1 = column * TILE_X + 25;
int x2 = nextColumn * TILE_Y - 25;
int y1 = row * TILE_X + 25;
int y2 = nextRow * TILE_Y - 25;
g2d.setColor(Color.WHITE);
g2d.setStroke(new BasicStroke(5));
g2d.drawLine(x1, y1, x2, y2);
g2d.drawLine(x1, y2, x2, y1);
}
public void drawO(Graphics g, int column, int row){
int x = column * TILE_X + 25;
int y = row * TILE_Y + 25;
g.drawOval(x,y,250,250);
}
public void paintGrid(Graphics g){
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.WHITE);
g2d.setStroke(new BasicStroke(10));
//horizontal
for (int i = 1; i < 3; i++) {
g2d.drawLine(0, TILE_Y*i, TILE_X*3, TILE_Y*i);
}
//vertical
for (int i = 1; i < 3; i++){
g2d.drawLine(TILE_X*i, 0, TILE_X*i, TILE_Y*3);
}
}
public void paintWinnerLine(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.RED);
g2d.setStroke(new BasicStroke(40));
g2d.drawLine(winningX1, winningY1, winningX2, winningY2);
}
public void setWinningX1(int winningX1) {
this.winningX1 = winningX1;
}
public void setWinningX2(int winningX2) {
this.winningX2 = winningX2;
}
public void setWinningY1(int winningY1) {
this.winningY1 = winningY1;
}
public void setWinningY2(int winningY2) {
this.winningY2 = winningY2;
}
}