Iterator:
Board:
for (Cell a : this) {
for (Cell b : this) {
if (a.connected(b)) {
a.addObserver(b);
}
}
}
und ergänzen Sie alles nötige (Eclipse: Control-1! oft!)
Trennung Modell--View/Controller
Zusatz (künstliche Intelligenz):
Hilfe zum Testen: in Main ein Brett aufbauen
// http://people.csse.uwa.edu.au/gordon/sudokumin.php
// beachte: Zahlen 0 bis 8 statt 1 bis 9)
private static Board board17() {
Board b = new Board ();
b.vorgabe(0,7, 0);
b.vorgabe(1,0, 3);
b.vorgabe(2,1, 1);
b.vorgabe(3,4, 4); b.vorgabe(3,6, 3); b.vorgabe(3,8, 6);
b.vorgabe(4,2, 7); b.vorgabe(4,6, 2);
b.vorgabe(5,2, 0); b.vorgabe(5,4, 8);
b.vorgabe(6,0, 2); b.vorgabe(6,3, 3); b.vorgabe(6,6, 1);
b.vorgabe(7,1, 4); b.vorgabe(7,3, 0);
b.vorgabe(8,3, 7); b.vorgabe(8,5, 5);
return b;
}