Files
Prog_1/Reversi/MachineMoveThread.java
Felix Steghofer 3db4f94e6a init
2022-12-04 01:25:28 +01:00

42 lines
1.1 KiB
Java

package reversi.controller;
import reversi.model.Player;
import reversi.model.Reversi;
import reversi.view.ReversiView;
/**
* Creates a new thread for the machine move.
*/
public class MachineMoveThread extends Thread {
private Reversi model;
private ReversiView view;
private Player bot;
MachineMoveThread(final Reversi model, final ReversiView view) {
this.model = model;
this.view = view;
this.bot = model.next();
}
@Override
public final void run() {
this.model.machineMove();
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public final void run() {
view.updatePlayField(model);
view.setMovePossible(true);
}
});
if (model.next() == bot && !model.gameOver()) {
this.run();
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public final void run() {
view.viewMessage("Human has to miss a turn");
}
});
}
}
}