Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

исправление программы VIP5.2. на VIP7.0.

18K
18 февраля 2007 года
Favaritka
11 / / 08.11.2006
Помогите исправить код программы написанной для VIP5.2. на код для VIP 7.0. крестики-нолики.
facts
z(integer,integer,symbol)
predicates
картинка
ход(integer,symbol,symbol)
блок(symbol,symbol)
атака(symbol,symbol)
чем(integer,symbol)
наоб(symbol,symbol)
goal
write("Кто ходит первым? (1 - человек, 0 - компьютер) "), readint(Игрок),
write("чем? (1 - крестиками, 0 - ноликами) "),readint(N),
чем(N,И1),наоб(И1,И2), ход(Игрок,И1,И2), !,
nl,nl; write("Правила нарушены.\n").
clauses
z(1,1,"-"). z(1,2,"-"). z(1,3,"-"). z(2,1,"-"). z(2,2,"-").
z(2,3,"-"). z(3,1,"-"). z(3,2,"-"). z(3,3,"-").

чем(1,х). чем(0,о). наоб(х,о). наоб(о,х).

ход(0,S,_):- блок(S,S), !, картинка, write("\nКомпьютер выиграл!").
ход(0,S,C):- блок(S,C), !, картинка, ход(1,C,S).
ход(0,S,C):-
retract(z(2,2,"-")), !, assert(z(2,2,S)),
картинка, ход(1,C,S).
ход(0,S,C):- атака(S,C), !, картинка,ход(1,C,S).
ход(0,S,C):- z(R,St,"-"), (R+St) mod 2=0, retract(z(R,St,"-")), !,
assert(z(R,St,S)), картинка, ход(1,C,S).
ход(0,S,C):- retract(z(R,St,"-")), !, assert(z(R,St,S)), картинка,ход(1,C,S).
ход(1,C,S):- z(_,_,"-"),write("Ходи: \ncтрока (от 1 до 3) - "),
readint(R),R>0,R<4,write("cтолбец (от 1 до 3) - "),
readint(St),St>0,St<4,retract(z(R,St,"-")),!,
assert(z(R,St,C)),ход(0,S,C).
ход(_,_,_):- not(z(_,_,"-")),write("\nНичья!").

блок(S,C):- z(N1,St,C),z(N2,St,C),N1<>N2,
retract(z(N3,St,"-")), !, assert(z(N3,St,S));
z(R,N1,C),z(R,N2,C),N1<>N2,retract(z(R,N3,"-")),!,
assert(z(R,N3,S));
z(I,I1,C),I=I1,z(J,J1,C),J=J1,I<>J, z(K,K1,"-"),
K=K1, retract(z(K,K1,"-")),!,assert(z(K,K1,S));
z(I,J,C),I+J=4,z(N,K,C),N<>I,N+K=4, z(M,L,"-"), M+L=4,
retract(z(M,L,"-")), !, assert(z(M,L,S)).

атака(S,C):- z(1,_,C),z(3,_,C),z(2,1,"-"),
retract(z(2,1,"-")), !, assert(z(2,1,S));
z(3,3,"-"),z(_,3,C),z(3,_,C),
retract(z(3,3,"-")), !, assert(z(3,3,S)).

картинка:- z(1,1,S1), z(1,2,S2), z(1,3,S3), z(2,1,S4),
z(2,2,S5),z(2,3,S6),z(3,1,S7),z(3,2,S8),
z(3,3,S9), !, write("\nХод компьютера.\n\n"),
writef("\t%\t%\t%\n\t%\t%\t%\n\t%\t%\t%\n\n",
S1,S2,S3,S4,S5,S6,S7,S8,S9).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог