init
This commit is contained in:
42
Reversi/MachineMoveThread.java
Normal file
42
Reversi/MachineMoveThread.java
Normal file
@@ -0,0 +1,42 @@
|
||||
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");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user