74 Глава 4 • Введение в 2D-графику
public class Game extends Activity {
private static final String TAG = „Sudoku" ;
public static final String KEY_DIFFICULTY =
„org.example.sudoku.difficulty" ;
public static final int DIFFICULTY_EASY = 0;
public static final int DIFFICULTY_MEDIUM = 1;
public static final int DIFFICULTY_HARD = 2;
private int puzzle[];
private PuzzleView puzzleView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, „onCreate" );
int diff = getIntent().getIntExtra(KEY_DIFFICULTY,
DIFFICULTY_EASY);
puzzle = getPuzzle(diff);
calculateUsedTiles();
puzzleView = new PuzzleView(this);
setContentView(puzzleView);
puzzleView.requestFocus();
}
// ...
}
Метод
onCreate()
берет уровен� �ложно�ти из на�ерения и выбирает конкретну�
�оловоло�ку для за�рузки в и�ру� Зате� он �оздает �кзе�пляр кла��а
PuzzleView
�
у�танавливает
PuzzleView
в каче�тве ново�о �одержи�о�о для в��вера� Так как �то
полно�т�� на�траивае�ый в��вер� ле�че �делат� �то в коде� че� в XML�
Метод
getPuzzle()
(е�о определение приведено далее� в разделе 4�4� «Разное»)
и�ет нову� �оловоло�ку� о�новывая�� на заданно� уровне �ложно�ти� Метод
calculateUsedTiles()
(определенный в разделе 4�4� «Создание и�ровой ло�ики»)
и�пол�зует правила Su��ku� чтобы выя�нит� для каждой клетки в табли�е де�
Su��ku� чтобы выя�нит� для каждой клетки в табли�е де�
� чтобы выя�нит� для каждой клетки в табли�е де�
вят� на девят�� какое чи�ло не подходит для неё� так как оно появляет�я �де�
нибуд� в �оризонтал�но� или вертикал�но� направлении или в квадрате три на
три�
Достарыңызбен бөлісу: