Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
rr40
0 / 0 / 0
Регистрация: 16.03.2015
Сообщений: 1
#1

Как переписать код turbo prolog на swi

16.03.2015, 18:56. Просмотров 260. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста. Есть код программы, реализующей игру в крестики-нолики на turbo prolog, нужно переделать на swi prolog. Либо, если есть возможность, скинуть готовый код на swi. Так как в общем доступе такого не найти. Буду очень благодарна.

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Predicates
z(integer,integer,symbol) 
predicates картинка 
ход(integer,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("Правила нарушены."),nl. 
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):- 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(_,_,"-")),nl,write("Ничья!"). 
блок(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)). 
картинка:- 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Ход компьютера."),nl,nl, 
writef("t%t%t%nt%t%t%nt%t%t%",
S1,S2,S3,S4,S5,S6,S7,S8,S9),nl,nl.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2015, 18:56
Ответы с готовыми решениями:

Как переделать программу написанную на Turbo-Prolog в SWI-Prolog?
Ребята подскажите пожалуйста как переделать эту программу написанную на...

В Turbo-Prolog есть возможность описать Goal. Как это реализовано в SWI-Prolog
Здравствуйте. в Turbo-Prolog есть возможность описать Goal: Goal ...

Перевод программы из Turbo Prolog в SWI-Prolog
Здравствуйте! У меня есть программа по определению внука Петра III, она...

Перевести код из turbo prolog в visual prolog
не подскажите плиз как будет выглядеть код turbo prolog в Visual Prologe 5.2 ...

Код Turbo Prolog переделать в Visual Prolog 5.2
Помогите пожалуйста переделать код Turbo Prolog в Visual Prolog 5.2 domains...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2015, 18:56

Перевести код из turbo prolog в visual prolog
не подскажите плиз как будет выглядеть код turbo prolog в Visual Prologe 7.3 ...

Адаптировать код для SWI-Prolog
День добрый. Пожалуйста, помогите адаптировать данный код под SWI-Prolog: ...

Как откомпилировать приложение на SWI-Prolog
Нужно решить пару задач на SWI-Prolog(версия 6.2.2), нашел здесь пару готовых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru