Android! Разработка мобильных


Sudokuv2/src/org/example/sudoku/Keypad.java



Pdf көрінісі
бет59/87
Дата26.01.2023
өлшемі3,48 Mb.
#63133
1   ...   55   56   57   58   59   60   61   62   ...   87
 Sudokuv2/src/org/example/sudoku/Keypad.java
private boolean isValid(int tile) {
for (int t : useds) {
if (tile == t)
return false;
}
return true;
}
Е�ли �ифра находит�я в �а��иве 
useds
� значит� она не подходит� так как она уже 
и�пол�зована в теку�ей �троке� �толб�е или блоке�
Метод 
returnResult()
вызывает�я для возврата �ифры� выбранной в вызванной 
деятел�но�ти:


90 Глава 4 • Введение в 2D-графику
 Sudokuv2/src/org/example/sudoku/Keypad.java
private void returnResult(int tile) {
puzzleView.setSelectedTile(tile);
dismiss();
}
Мы вызывае� �етод 
PuzzleView .setSelectedTile()
�чтобы из�енит� теку�ий тайл 
�оловоло�ки� Метод 
dismiss
вызывает закрытие диало�ово�о окна 
Keypad
� Сейча�� 
ко�да у на� е�т� диало�овое окно 
Keypad
� вызове� кла�� 
Game
и извлече� резул�тат�
 Sudokuv2/src/org/example/sudoku/Game.java
protected void showKeypadOrError(int x, int y) {
int tiles[] = getUsedTiles(x, y);
if (tiles.length == 9) {
Toast toast = Toast.makeText(this,
R.string.no_moves_label, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
} else {
Log.d(TAG, "showKeypad: used=" + toPuzzleString(tiles));
Dialog v = new Keypad(this, tiles, puzzleView);
v.show();
}
}
Для то�о чтобы решит�� какие �ифры �ожно выбират�� �ы передае� кон�трук�
тору кла��а 
Keypad
�а��ив� �одержа�ий в�е �ифры� которые уже были и�пол�зо�
ваны�
Создание игровой логики
О�тавшая�я ча�т� кода в 
Game .java
отвечает за и�рову� ло�ику� в ча�тно�ти за 
определение верных и неверных ходов в �оответ�твии � правила�и и�ры� Метод 
setTileIfValid
() — ее кл�чевая ча�т�� По заданны� координата� и y и ново�у значе�
ни� для тайла он из�еняет тайл лиш� в то� �лучае� е�ли пред�тавленное значение 
допу�ти�о�


Достарыңызбен бөлісу:
1   ...   55   56   57   58   59   60   61   62   ...   87




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет