diff --git a/chess-match/src/main/java/net/hypki/wmi/oop/chess/ChessMatchMain.java b/chess-match/src/main/java/net/hypki/wmi/oop/chess/ChessMatchMain.java index c650b2e..cb8a584 100644 --- a/chess-match/src/main/java/net/hypki/wmi/oop/chess/ChessMatchMain.java +++ b/chess-match/src/main/java/net/hypki/wmi/oop/chess/ChessMatchMain.java @@ -10,7 +10,7 @@ public class ChessMatchMain { ChessInterface black = new BasicStudent(); Tournament tournament = new Tournament(white, black); - + tournament.run(); System.out.println("Match finished!"); diff --git a/chess-match/src/main/java/net/hypki/wmi/oop/chess/Tournament.java b/chess-match/src/main/java/net/hypki/wmi/oop/chess/Tournament.java new file mode 100644 index 0000000..a57a548 --- /dev/null +++ b/chess-match/src/main/java/net/hypki/wmi/oop/chess/Tournament.java @@ -0,0 +1,70 @@ +package net.hypki.wmi.oop.chess; + +public class Tournament { + + private ChessInterface white; + + private ChessInterface black; + + public Tournament() { + + } + + public Tournament(ChessInterface white, ChessInterface black) { + setWhite(white); + setBlack(black); + } + + public ChessInterface getWhite() { + return white; + } + + public void setWhite(ChessInterface white) { + this.white = white; + } + + public ChessInterface getBlack() { + return black; + } + + public void setBlack(ChessInterface black) { + this.black = black; + } + + public void run() { + String nextMove = null; + while (true) { + nextMove = getWhite().nextMove(null); + + if (nextMove == null) + break; + + System.out.println("Next move: " + nextMove); + + nextMove = getBlack().nextMove(nextMove); + + if (nextMove == null) + break; + + System.out.println("Next move: " + nextMove); + } + } + + private String nextMove(ChessInterface chessInterface, String nextMove) { + try { + new Thread(new Runnable() { + + @Override + public void run() { + // TODO Auto-generated method stub + + } + }); + + return chessInterface.nextMove(nextMove); + } catch (Throwable t) { + System.err.println(t); + return null; + } + } +}