package aima.gui.fx.applications.search.games;
import aima.gui.fx.framework.IntegrableApplication;
import aima.gui.fx.views.SudokuViewCtrl;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
/**
* Simple Sudoku puzzle application. It provides a playground for programming
* experiments with CSP algorithms. But note that no CSP implementation is included here.
*
* @author Ruediger Lunde
*/
public class SimpleSudokuApp extends IntegrableApplication {
SudokuViewCtrl viewCtrl;
public static void main(String[] args) {
launch(args);
}
@Override
public String getTitle() {
return "Simple Sudoku App";
}
@Override
public Pane createRootPane() {
StackPane root = new StackPane();
viewCtrl = new SudokuViewCtrl(root);
return root;
}
@Override
public void initialize() {
createPuzzle1(viewCtrl);
}
@Override
public void cleanup() {
}
public static void createPuzzle1 (SudokuViewCtrl viewCtrl) {
// taken from https://en.wikipedia.org/wiki/Sudoku.
viewCtrl.clear(true);
viewCtrl.fixDigit(1, 1, 5);
viewCtrl.fixDigit(2, 1, 3);
viewCtrl.fixDigit(1, 2, 6);
viewCtrl.fixDigit(2, 3, 9);
viewCtrl.fixDigit(3, 3, 8);
viewCtrl.fixDigit(5, 1, 7);
viewCtrl.fixDigit(4, 2, 1);
viewCtrl.fixDigit(5, 2, 9);
viewCtrl.fixDigit(6, 2, 5);
viewCtrl.fixDigit(8, 3, 6);
viewCtrl.fixDigit(1, 4, 8);
viewCtrl.fixDigit(1, 5, 4);
viewCtrl.fixDigit(1, 6, 7);
viewCtrl.fixDigit(5, 4, 6);
viewCtrl.fixDigit(4, 5, 8);
viewCtrl.fixDigit(6, 5, 3);
viewCtrl.fixDigit(5, 6, 2);
viewCtrl.fixDigit(9, 4, 3);
viewCtrl.fixDigit(9, 5, 1);
viewCtrl.fixDigit(9, 6, 6);
viewCtrl.fixDigit(2, 7, 6);
viewCtrl.fixDigit(4, 8, 4);
viewCtrl.fixDigit(5, 8, 1);
viewCtrl.fixDigit(6, 8, 9);
viewCtrl.fixDigit(5, 9, 8);
viewCtrl.fixDigit(7, 7, 2);
viewCtrl.fixDigit(8, 7, 8);
viewCtrl.fixDigit(9, 8, 5);
viewCtrl.fixDigit(8, 9, 7);
viewCtrl.fixDigit(9, 9, 9);
}
}