Computer Science на языке Java 2022 Дэвид Копец Классические задачи Computer Science на языке Java 2022 ббк



Download 6,2 Mb.
Pdf ko'rish
bet175/236
Sana25.02.2022
Hajmi6,2 Mb.
#464393
1   ...   171   172   173   174   175   176   177   178   ...   236
Bog'liq
Kopec Klassicheskie zadachi Computer Science na yazyke Java 643091

217
Листинг 8.1. 
Piece.java
package 
chapter8;
public interface 
Piece {
Piece opposite();
}
СОВЕТ
Поскольку.в.крестиках-ноликах.и.игре.Connect.Four.существует.только.один.вид.фигур,.
класс.Piece.в.этой.главе.может.использоваться.как.индикатор.хода..В.более.сложных.
играх,.таких.как.шахматы,.где.есть.разные.виды.фигур,.ходы.могут.обозначаться.целым.
числом.или.логическим.значением..В.качестве.альтернативы.можно.применять.для.
обозначения.хода.атрибут.color.более.сложного.типа.Piece.
Листинг 8.2. 
Board.java
package 
chapter8;
import 
java.util.List;
public interface 
Board {
Piece getTurn();
Board move(Move location);
List getLegalMoves();
boolean 
isWin();
default boolean 
isDraw() {
return 
!isWin() && getLegalMoves().isEmpty();
}
double 
evaluate(Piece player);
}
Класс.
Board
.является.фактическим.хранилищем.состояния..Для.любой.конкретной.
игры,.которую.будут.выполнять.алгоритмы.поиска,.они.должны.уметь.ответить.
на.следующие.вопросы.
.
Чей.сейчас.ход?
.
Какие.ходы.можно.сделать.из.текущей.позиции.согласно.правилам?
.
Выиграна.ли.сейчас.игра?
.
Сыграна.ли.игра.вничью?
Последний.вопрос,.касающийся.ничьих,.на.самом.деле.комбинация.двух.пре-
дыдущих.вопросов.для.многих.игр..Если.игра.не.выиграна,.но.возможных.ходов.
нет,.то.это.ничья..Вот.почему.в.классе.
Board
.сразу.можно.создать.конкретную.


218
Глава 8.
Состязательный поиск
реализацию.метода.
isDraw()
..Кроме.того,.есть.еще.несколько.действий,.которые.
необходимо.реализовать.
.
Сделать.ход,.чтобы.перейти.из.текущей.в.новую.позицию.
.
Оценить.позицию,.чтобы.увидеть,.какой.игрок.имеет.преимущество.
Каждый.метод.и.свойство.класса.
Board
.являются.реализацией.одного.из.предыду-
щих.вопросов.или.действий..На.языке.игры.класс.
Board
.можно.было.бы.назвать.
Position
,.но.мы.используем.это.имя.для.чего-то.более.конкретного.в.каждом.из.
подклассов.
Класс.
Board
.имеет.общий.тип.
Move
..Тип.
Move
.представляет.собой.ход.в.игре..Это.
может.быть.просто.целое.число..В.таких.играх,.как.крестики-нолики.и.Connect.
Four,.целое.число.представляет.ход,.указывая.клетку.или.столбец,.где.должна.
быть.размещена.фигура..В.более.сложных.играх.для.описания.хода.может.по-
требоваться.большее.число,.чем.целое.число..
Move
.позволяет.классу.
Board
.пред-
ставлять.более.широкий.спектр.игр.

Download 6,2 Mb.

Do'stlaringiz bilan baham:
1   ...   171   172   173   174   175   176   177   178   ...   236




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish