42 lines
1.1 KiB
Java
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");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} |