Чтение онлайн

на главную - закладки

Жанры

Неизвестно

Шрифт:

коорд( 5). коорд( 6). коорд( 7). коорд( 8).

% Предикаты целей

любая_поз( Поз).

ход_противника( б.._ ). % Противник ходит белыми

мат( Поз) :-

чей_ход( Поз, ч),

шах( Поз),

not разрход( Поз, _, _ ).

пат( Поз) :-

чей_ход( Поз, ч),

not шах( Поз),

not разрход( Поз, _, _ ).

уменьш_простр( Поз, КорнПоз) :-

простр( Поз, Пр),

простр( КорнПоз, КорнПр),

Пр < КорнПр.

ладья_под_боем( ЧейХод..Б..Л..Ч.._ ) :-

расст( Б, Л, Р1),

расст( Ч, Л, Р2),

( ЧейХод = б, !, Р1 > Р2 + 1;

ЧейХод = ч, !, Р1 > Р2 ).

ближе_к_клетке( Поз, КорнПоз) :-

расст_до_клетки( Поз, Р1),

расст_до_клетки( КорнПоз, Р2),

Р1 < Р2.

расст_до_клетки( Поз, Мрасст) :-

% Манхеттеновское расстояние

бк( Поз, БК), % между БК и критической клеткой

кк( Поз, КК), % Критическая клетка

манх_расст( БК, КК, Мрасст).

раздел( _..Бх : Бу..Лх : Лу.. Чх : Чу.._ ) :-

упоряд( Бх, Лх, Чх), !;

упоряд( Бу, Лу, Чу).

l_конфиг( _..Б..Л..Ч.._ ) :- % L - конфигурация

манх_расст( Б, Ч, 2),

манх_расст( Л, Ч, 3).

не дальше_от_ладьи( _..Б..Л.._, _..Б1..Л1.._ ) :-

расст( Б, Л, Р),

расст( Б1, Л1, Р1),

Р =< Р1.

простр_больше_2( Поз) :-

простр( Поз, Пр),

Пр > 2.

наш_король_на_краю( _..Х : Y.._ ) :-

% Белый король на краю

( X = 1, !; X = 8, !; Y = 1, !; Y = 8).

король_противника_на_краю( _..Б..Л..Х : Y.._ ) :-

% Черный король на краю

( X = 1, !; X = 8, !; Y = 1, !; Y = 8).

короли_рядом( Поз) :- % Расстояние между королями < 4

бк( Поз, БК), чк( Поз, ЧК),

расст( БК, ЧК, Р),

Р < 4.

потеря_ладьи( _..Б..Л..Л.._ )- % Ладья взята

потеря_ладьи( ч..Б..Л..Ч.._ ) :-

сосед( Ч, Л), % Черный король напал на ладью

not сосед( Б, Л). % Белый король не защищает ладью

расст( X : Y, X1 : Y1, Р) :- % Расстояние до короля

абс_разн( X, X1, Рх),

абс_разн( Y, Y1, Ру),

макс( Рх, Ру, Р).

абс_разн( А, В, С) :-

А > В, !, С is A - В;

С is В - А.

макс( А, В, М) :-

А >= В, !, М = А;

М = В.

манх_расст( X : Y, X1 : Y1, Р) :- % Манхеттеновское расстояние

абс_разн( X, X1, Рх),

Поделиться:
Популярные книги

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

Я — Легион

Злобин Михаил
3. О чем молчат могилы
Фантастика:
боевая фантастика
7.88
рейтинг книги
Я — Легион

Я бог. Книга XXXIX

Дрейк Сириус
39. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я бог. Книга XXXIX

Оборотень

Сухов Евгений Евгеньевич
10. Я – вор в законе
Детективы:
боевики
5.89
рейтинг книги
Оборотень

Кодекс Охотника XXVIII

Винокуров Юрий
28. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника XXVIII

Жертва

Привалов Сергей
2. Звездный Бродяга
Фантастика:
боевая фантастика
космическая фантастика
рпг
попаданцы
6.25
рейтинг книги
Жертва

Монстр из прошлого тысячелетия

Еслер Андрей
5. Соприкосновение миров
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Монстр из прошлого тысячелетия

Обреченная

Макдевит Джек
2. Космоархеологи
Фантастика:
научная фантастика
7.00
рейтинг книги
Обреченная

Старый, но крепкий 2

Крынов Макс
2. Культивация без насилия
Фантастика:
рпг
уся
эпическая фантастика
5.00
рейтинг книги
Старый, но крепкий 2

Газлайтер. Том 23

Володин Григорий Григорьевич
23. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.25
рейтинг книги
Газлайтер. Том 23

Эфемер

Прокофьев Роман Юрьевич
7. Стеллар
Фантастика:
боевая фантастика
рпг
7.23
рейтинг книги
Эфемер

Хозяин зеркал

Зонис Юлия
Фантастика:
социально-философская фантастика
7.57
рейтинг книги
Хозяин зеркал

Аввакум

Бахревский Владислав Анатольевич
Проза:
историческая проза
7.00
рейтинг книги
Аввакум

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера