Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/Penneys-game/Prolog/penneys-game.pro
Normal file
37
Task/Penneys-game/Prolog/penneys-game.pro
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
play :- rand1(R), game(R).
|
||||
|
||||
game(h) :-
|
||||
format('Your turn first!~n'), player_move(P),
|
||||
response(P,C), format('I am choosing '), maplist(writec, C), nl,
|
||||
rand3(R), maplist(writec,R),
|
||||
roll(P, C, R).
|
||||
|
||||
game(t) :-
|
||||
rand3(C),
|
||||
format('I am choosing '), maplist(writec, C), nl,
|
||||
player_move(P),
|
||||
rand3(R), maplist(writec, R),
|
||||
roll(P, C, R).
|
||||
|
||||
player_move([P1,P2,P3]) :-
|
||||
read_line_to_codes(user_input,Codes),
|
||||
maplist(char_code,[P1,P2,P3],Codes).
|
||||
|
||||
roll(P, _, P) :- format('~nYou Win!~n'), !.
|
||||
roll(_, C, C) :- format('~nI Win!~n'), !.
|
||||
|
||||
roll(P, C, [_,A,B]) :-
|
||||
rand1(R),
|
||||
coin_s(R,S),
|
||||
write(S),
|
||||
roll(P,C,[A,B,R]).
|
||||
|
||||
response([A,B,_], [C,A,B]) :- opp(A,C).
|
||||
|
||||
writec(A) :- coin_s(A,A1), write(A1).
|
||||
rand1(R) :- random(V), round(V,I), coin(I,R).
|
||||
rand3([R1,R2,R3]) :- rand1(R1), rand1(R2), rand1(R3).
|
||||
|
||||
coin(0,h). coin(1,t).
|
||||
coin_s(h, 'H'). coin_s(t, 'T').
|
||||
opp(h, t). opp(t, h).
|
||||
Loading…
Add table
Add a link
Reference in a new issue