janken:-d_clear,assert(現在の手(グー)),assert(得点(0,0,0)), d_cursor(1,2),write('グーのとき 1,チョキのとき 2, パーのとき 3を入力してください'), repeat,実行,fail. 実行:-d_keylength(0), !, 現在の手(F), 手表示(F,10,5,0),!, s_sleep(200), retract(現在の手(F)),!, 変更(F). 実行:-d_keyin(X),!, 実行(X). 実行(49):-!,判定(グー ). 実行(50):-!,判定(チョキ). 実行(51):-!,判定(パー ). 実行(_ ). 結果表示(C):-得点(P,X,T),d_cursor(1,1),write(C),write('です。点数 = '),write(P), write(' 引分け = '), write(X), write(' 全体回数 = '), write(T), !, s_sleep(200). 結果表示(C). 結果非表示:-d_cursor(1,1), d_cleol,!, s_sleep(200). 結果非表示. 判定結果表示(X,Y,C):-!, d_cursor(30,4),write('貴方の手 : '),write(X), write(' '), 手表示(X,30,5,0), d_cursor(50,4),write(' 私の手 : '),write(Y), write(' '), 手表示(Y,50,5,0), !,得点計算(C),!,結果表示(C),!, 結果非表示, !, 結果表示(C),!,結果非表示, !, 結果表示(C),!, 結果表示(C). 得点計算(C):-retract(得点(P,X,T)),NT is T + 1, !, 得点登録(C,P,X,NT). 得点計算(C). 得点登録(おあいこ ,P,X,T):-!, XX is X+1, assert(得点(P,XX,T)). 得点登録(貴方の勝ち,P,X,T):-!, PP is P+1, assert(得点(PP,X,T)). 得点登録(C ,P,X,T):-!, assert(得点(P,X,T)). 判定(X):-手の生成(Y),判定(X,Y,C),!, 判定結果表示(X,Y,C). 判定(X,X,おあいこ ):-!. 判定(X,Y,私の勝ち ):-勝ち(Y,X),!. 判定(X,Y,貴方の勝ち). 勝ち(グー ,チョキ). 勝ち(チョキ,パー ). 勝ち(パー ,グー ). 手の生成(Y):- s_random(3,X),手の生成(X,Y). 手の生成(0,グー ). 手の生成(1,チョキ). 手の生成(2,パー ). 手の生成(_,パー ). 変更(グー ):-assert(現在の手(チョキ)). 変更(チョキ):-assert(現在の手(パー )). 変更(パー ):-assert(現在の手(グー )). 手表示(F, X,Y,7). 手表示(F, X,Y,N):-手(F,N,S),!, d_cursor(X,Y), write(S), YY is Y+1, NN is N + 1,手表示(F, X,YY,NN). 手表示(F, X,Y,N). 手(グー ,0,' '). 手(グー ,1,'   '). 手(グー ,2,'┏━━━┓ '). 手(グー ,3,'┃┃┃┃┃ '). 手(グー ,4,'┣┫┣┻┃ '). 手(グー ,5,'┃┗┻━┃ '). 手(グー ,6,'┗┓  ┃ '). 手(チョキ,0,'  ┏┳┓ '). 手(チョキ,1,'  ┃┃┃ '). 手(チョキ,2,'┏━┫┃┃ '). 手(チョキ,3,'┃┃┃┸┃ '). 手(チョキ,4,'┣┫┣━┃ '). 手(チョキ,5,'┃┗┻━┃ '). 手(チョキ,6,'┗┓  ┃ '). 手(パー ,0,' ┏┳┳┓ '). 手(パー ,1,'┏┫┃┃┃ '). 手(パー ,2,'┃┃┃┃┃ '). 手(パー ,3,'┃┸┸┸┃ '). 手(パー ,4,'┃   ┗┓'). 手(パー ,5,'┃   ┏┛'). 手(パー ,6,'┗┓  ┃ ').