Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемДарья Ногаева
1 Игровые программы на Прологе Лекция 15
2 «Быки и коровы» play :- rnd(X1,X2,X3,X4), int2char(X1,C1), int2char(X2,C2), int2char(X3,C3), int2char(X4,C4), WRITE("Ваши ходы: "),nl, move([C1,C2,C3,C4],1).
3 Загадывание компьютером числа rnd(X1,X2,X3,X4) :- rand(X1), rand(X2), NOT(find([X1],X2)), rand(X3), NOT(find([X1,X2],X3)), rand(X4), NOT(find([X1,X2,X3],X4)). rnd(X1,X2,X3,X4) :- rnd(X1,X2,X3,X4). rand(X) :- RANDOM(9,X). find([H|_],H). find([_|T],X):- find(T,X). int2char(I,C) :- str_int(S,I), str_char(S,C).
4 Подсчет попыток move(L,Moves) :- specmove(L,A,Moves), equal(L,A), nl, write(Поздравляю!!! Вы угадали!"). move([C1,C2,C3,C4],10) :- NL, write("Количество попыток закончилось."),nl, write("Было загадано число "), write(C1), write(C2), write(C3), write(C4). move(L,Moves) :- NewMoves=Moves+1, move(L,NewMoves).
5 Проверка попытки specmove(L,[A1,A2,A3,A4],Moves) :- write(Moves), write(". "), readchar(A1), write(A1), readchar (A2), write(A2), readchar (A3), write(A3), readchar (A4), write(A4), check_bulls(L,[A1,A2,A3,A4],0), check_cows(L,[A1,A2,A3,A4],0), nl,!.
6 Проверка быков check_bulls([],_,Bulls):- write(Bulls), write(" : "). check_bulls([H1|T1],T2,Bulls) :- find(T2,H1), NewBulls=Bulls+1, check_bulls(T1,T2,NewBulls). check_bulls([_|T1],T2,Bulls) :- check_bulls(T1,T2,Bulls).
7 Проверка коров check_cows([],[],Cows) :- write(Cows). check_cows([H1|T1],[H1|T2],Cows):- NewCows=Cows+1, check_cows(T1,T2,NewCows). check_cows([_|T1],[_|T2],Cows):- check_cows(T1,T2,Cows).
8 Остальные разделы DOMAINS LIST=CHAR* PREDICATES nondeterm check_cows(LIST,LIST,INTEGER) nondeterm check_bulls(LIST,LIST,INTEGER) nondeterm rand(INTEGER) nondeterm rnd(INTEGER,INTEGER,INTEGER,INTEGER) nondeterm find(LIST,INTEGER) nondeterm int2char(INTEGER,CHAR) nondeterm specmove(LIST,LIST,INTEGER) nondeterm move(LIST,INTEGER) nondeterm play nondeterm equal(LIST,LIST) GOAL play.
9 Самостоятельное задание Модифицировать программу так, чтобы она работала еще во втором режиме «Машина - человек», т.е. чтобы человек загадывал число, а компьютер отгадывал его.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.