diff --git a/src/main/java/com/billenius/schack/MoveLogging/Move.java b/src/main/java/com/billenius/schack/MoveLogging/Move.java new file mode 100644 index 0000000..f96dd8d --- /dev/null +++ b/src/main/java/com/billenius/schack/MoveLogging/Move.java @@ -0,0 +1,24 @@ +package com.billenius.schack.MoveLogging; + +import java.awt.Point; + +import com.billenius.schack.Piece; + +public class Move { + public Piece movedPiece; + public Point from; + public Point to; + public String color; + + public Move(Piece movedPiece, Point from, Point to) { + this.from = from; + this.to = to; + this.color = movedPiece.isWhite() ? "White" : "Black"; + this.movedPiece = movedPiece; + } + + public String toString() { + return (from.x + 1) + ":" + (from.y + 1) + + " " + '\u27F6' + " " + (to.x + 1) + ":" + (to.y + 1); + } +} diff --git a/src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java b/src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java new file mode 100644 index 0000000..0832888 --- /dev/null +++ b/src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java @@ -0,0 +1,25 @@ +package com.billenius.schack.MoveLogging; + +import java.awt.Component; +import java.awt.image.BufferedImage; + +import javax.swing.ImageIcon; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; + +public class PieceRenderer extends JLabel implements ListCellRenderer { + + @Override + public Component getListCellRendererComponent(JList list, Move move, int index, + boolean isSelected, + boolean cellHasFocus) { + BufferedImage image = move.movedPiece.getIcon(); + ImageIcon ii = new ImageIcon(image.getScaledInstance(40, 40, java.awt.Image.SCALE_SMOOTH)); + + setIcon(ii); + setText(move.toString()); + + return this; + } +} \ No newline at end of file