start changes

This commit is contained in:
Romain MURPHY 2025-05-13 14:47:09 +02:00
parent 51cb78c256
commit 6a1f26f099
1 changed files with 34 additions and 33 deletions

View File

@ -26,7 +26,7 @@ public class JPanelChessBoard extends JPanel {
private int PIECE_WIDTH = 200; //in spritesheet
private int PIECE_HEIGHT = 200; //in spritesheet
private int MARGIN = 0;
private boolean pieceSelectorMode;
private boolean selectedPieceIsWhite;
private PieceType selectedPieceType;
@ -41,9 +41,9 @@ public class JPanelChessBoard extends JPanel {
selectedPieceIsWhite = true;
selectedPieceType = PieceType.Pawn;
pieceSelectorMode = false;
backgroundImage = new ImageIcon(getClass().getResource("image_OOP.png")).getImage();
backgroundImage = new ImageIcon(getClass().getResource("image_OOP.png")).getImage();
try {
spriteSheet = ImageIO.read(new File("pieces/newPieces.png"));
} catch (IOException e) {
e.printStackTrace();
@ -60,23 +60,24 @@ public class JPanelChessBoard extends JPanel {
pieceSelectorMode = false;
} else {
if(myGame == null) {
interfaceGlobal.instantiateSimu();
// interfaceGlobal.instantiateSimu();
}
int x = (me.getX()*myGame.getWidth())/getWidth();
int y = (me.getY()*myGame.getHeight())/getHeight();
if(pieceAdderMode) {
//TODO
myGame.setPiece(x, y, selectedPieceType, selectedPieceIsWhite);
pieceAdderMode = false;
} else {
myGame.clickCoords(x,y);
else {
int x = (me.getX()*myGame.getWidth())/getWidth();
int y = (me.getY()*myGame.getHeight())/getHeight();
if(pieceAdderMode) {
myGame.setPiece(x, y, selectedPieceType, selectedPieceIsWhite);
pieceAdderMode = false;
} else {
myGame.clickCoords(x,y);
}
}
}
repaint();
}
});
}
public void setGame(Game simu) {
myGame = simu;
@ -86,7 +87,7 @@ public class JPanelChessBoard extends JPanel {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), this);
// this.setBackground(new Color(238,236,208));
// this.setBackground(new Color(238,236,208));
if(pieceSelectorMode) {
g.drawImage(
spriteSheet,
@ -101,7 +102,7 @@ public class JPanelChessBoard extends JPanel {
if (myGame != null) {
// Draw Interface from state of simulator
g.setColor(new Color(238, 236, 208)); // Your default color
g.fillRect(0, 0, getWidth()+1, getHeight()+1);
g.fillRect(0, 0, getWidth()+1, getHeight()+1);
repaint();
float cellWidth = cellWidth();
float cellHeight = cellHeight();
@ -132,10 +133,10 @@ public class JPanelChessBoard extends JPanel {
if(isHighlight || isSelect || isCheck) {
g.setColor(new Color(115, 149, 82));
}
}
}
g.setColor(Color.gray);
for(int x=0; x<myGame.getWidth();x++) {
int graphX = Math.round(x*cellWidth);
@ -145,26 +146,26 @@ public class JPanelChessBoard extends JPanel {
int graphY = Math.round(y*cellHeight);
g.drawLine(0, graphY, this.getWidth(), graphY);
}
for (Piece piece : myGame.getPieces()) {
drawPiece(g,piece);
}
g.setColor(Color.BLACK);
for (int x = 0; x < myGame.getWidth(); x++) {
char letter = (char) ('a' + x);
int xLetter = Math.round(x * cellWidth() + cellWidth() / 2) - 4;
int yLetter = getHeight() - 5;
g.drawString(String.valueOf(letter), xLetter, yLetter);
}
for (int y = 0; y < myGame.getHeight(); y++) {
int number = myGame.getHeight() - y;
int xNumber = 5;
int yNumber = Math.round(y * cellHeight() + cellHeight() / 2) + 5;
g.drawString(String.valueOf(number), xNumber, yNumber);
}
for (int x = 0; x < myGame.getWidth(); x++) {
char letter = (char) ('a' + x);
int xLetter = Math.round(x * cellWidth() + cellWidth() / 2) - 4;
int yLetter = getHeight() - 5;
g.drawString(String.valueOf(letter), xLetter, yLetter);
}
for (int y = 0; y < myGame.getHeight(); y++) {
int number = myGame.getHeight() - y;
int xNumber = 5;
int yNumber = Math.round(y * cellHeight() + cellHeight() / 2) + 5;
g.drawString(String.valueOf(number), xNumber, yNumber);
}
}
}
@ -187,11 +188,11 @@ public class JPanelChessBoard extends JPanel {
Math.round(cellHeight())-2*MARGIN, 0
);
}
private int spriteSheetPositionOfPieceType(PieceType type) {
return 5-type.ordinal();
}
private float cellWidth() {
return (float) this.getWidth()/ (float)myGame.getWidth();
}