Augabe gezogener Figuren mit Unicodeanzeige ergänzt, bzw ernuert. JUnit
test dazu inklusive.devUi
parent
452a39bf6b
commit
e8bb9e1eee
|
|
@ -177,9 +177,13 @@ public class Game {
|
||||||
return this.board.legalMoves().stream().filter(move -> move.getFrom() == square).map(move -> move.getTo())
|
return this.board.legalMoves().stream().filter(move -> move.getFrom() == square).map(move -> move.getTo())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getUnicodeFromMove(Move move) {
|
||||||
|
return board.getPiece(move.getTo()).getFanSymbol().toUpperCase();
|
||||||
|
}
|
||||||
|
|
||||||
public String toFEN() {
|
public String toFEN() {
|
||||||
board.toString();
|
//board.toString();
|
||||||
return board.getFen();
|
return board.getFen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -214,4 +218,9 @@ public class Game {
|
||||||
public MoveList getMoveList() {
|
public MoveList getMoveList() {
|
||||||
return this.movelist;
|
return this.movelist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Board getBoard() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return this.board;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,24 +8,15 @@ import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import de.mannheim.th.chess.App;
|
import de.mannheim.th.chess.App;
|
||||||
import de.mannheim.th.chess.domain.Game;
|
|
||||||
|
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import javax.swing.Box;
|
import javax.swing.Box;
|
||||||
import javax.swing.BoxLayout;
|
import javax.swing.BoxLayout;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JFileChooser;
|
|
||||||
|
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
|
|
|
||||||
|
|
@ -30,18 +30,16 @@ import javax.swing.JPanel;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JSplitPane;
|
import javax.swing.JSplitPane;
|
||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
import javax.swing.JTextField;
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.awt.GridLayout;
|
import java.awt.GridLayout;
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
|
|
||||||
public class SpielFrame extends JFrame {
|
public class SpielFrame extends JFrame {
|
||||||
|
|
||||||
|
|
@ -385,16 +383,10 @@ public class SpielFrame extends JFrame {
|
||||||
public void aktualisiereAusgabe() {
|
public void aktualisiereAusgabe() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("\n Bisherige Züge:\n");
|
sb.append("\n Bisherige Züge:\n");
|
||||||
sb.append(" +------------------+------------------+\n");
|
|
||||||
sb.append(" | Player 1: | Player 2: |\n");
|
|
||||||
sb.append(" +------------------+------------------+\n");
|
|
||||||
|
|
||||||
MoveList l = game.getMoveList();
|
MoveList l = game.getMoveList();
|
||||||
for (int i = 0; i < l.size(); i += 2) {
|
for (Move m: l) {
|
||||||
String p1 = l.get(i).toString();
|
sb.append(" "+game.getUnicodeFromMove(m)+": "+m.toString()+"\n");
|
||||||
String p2 = (i + 1 < l.size()) ? l.get(i + 1).toString() : "";
|
|
||||||
sb.append(String.format(" | %-17s| %-17s|\n", p1, p2));
|
|
||||||
sb.append(" +------------------+------------------+\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ausgabe.setText(sb.toString());
|
ausgabe.setText(sb.toString());
|
||||||
|
|
@ -405,10 +397,10 @@ public class SpielFrame extends JFrame {
|
||||||
String[] zeilen = ausgabe.getText().split("\n");
|
String[] zeilen = ausgabe.getText().split("\n");
|
||||||
|
|
||||||
//es müssen immer mind 5 Zeilen existieren, dass also 1 Zug löschbar ist
|
//es müssen immer mind 5 Zeilen existieren, dass also 1 Zug löschbar ist
|
||||||
if (zeilen.length <= 5) return;
|
if (zeilen.length <= 2) return;
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < zeilen.length - 2; i++) {
|
for (int i = 0; i < zeilen.length - 1; i++) {
|
||||||
sb.append(zeilen[i]).append("\n");
|
sb.append(zeilen[i]).append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -52,4 +52,13 @@ public class GameTest {
|
||||||
controllList = Arrays.asList(Square.H1, Square.A1);
|
controllList = Arrays.asList(Square.H1, Square.A1);
|
||||||
assertEquals(controllList, game.getAllLegalMoveableSquares());
|
assertEquals(controllList, game.getAllLegalMoveableSquares());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void getUnicodeFromMoveTest() {
|
||||||
|
|
||||||
|
Game g = new Game();
|
||||||
|
Move m = new Move(Square.A2, Square.A4);
|
||||||
|
g.getBoard().doMove(m);
|
||||||
|
assertEquals("♙", g.getUnicodeFromMove(m));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package de.mannheim.th.chess.ui;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class SpielFrameTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void mirrowedGridTest() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue