Программирование на языке ПРОЛОГ для искуственного интеллекта




Миниатюрный интерпретатор языка AL0 - часть 8


        удовл( не Цель, Поз, КорнПоз) :-  !,
                not удовл( Цель, Поз, КорнПоз ).

        удовл( Пред, Поз, КорнПоз) :-
                ( Усл =.. [Пред, Поз];

                                            % Большинство предикатов не зависит от КорнПоз
                    Усл =.. [Пред, Поз, КорнПоз] ),
                call( Усл).

% Интерпретация ограничений на ходы

        ход( Ходы1 и Ходы2, Поз, Ход, Поз1) :-  !,
                ход( Ходы1, Поз, Ход, Поз1),
                ход( Ходы2, Поз, Ход, Поз1).

        ход( Ходы1 затем Ходы2, Поз, Ход, Поз1) :-  !,
                ( ход( Ходы1, Поз, Ход, Поз1);
                  ход( Ходы2, Поз, Ход, Поз1) ).

% Доступ к компонентам элементарного совета

        главцель( ГлЦ : _, ГлЦ).

        поддержка( ГлЦ : ЦП : _, ЦП).

        ходы_игрока( ГлЦ : ЦП : ХодыИгрока : _, Ходы Игрока).

        ходы_противника( ГлЦ : ЦП: ХодыИгр : ХодыПр :_,



Содержание  Назад  Вперед