$ clisp <...snip...> [1]> (load "quarto.l") ;; Loading file quarto.l ... ;; Loading file lp.l ... ;; Loaded file lp.l ;; Loaded file quarto.l T [2]> (task93--play-demo) Name of random machine player? Ajax Name of human player? Jake Who will move first, AJAX or JAKE? Ajax D **** **** **** **** C **** **** **** **** B **** **** **** **** A **** **** **** **** 1 2 3 4 (R-) [R-] (R+) [R+] (r-) [r-] (r+) [r+] (B-) [B-] (B+) [B+] (b-) [b-] (b+) [b+] AJAX: I select [b+] for you to place on the board. On which cell will you place [b+], JAKE? (A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4 D1 D2 D3 D4) > c2 JAKE: Placing piece [b+] on cell C2 ... D **** **** **** **** C **** [b+] **** **** B **** **** **** **** A **** **** **** **** 1 2 3 4 (R-) [R-] (R+) [R+] (r-) [r-] (r+) [r+] (B-) [B-] (B+) [B+] (b-) [b-] (b+) Which piece, JAKE? (small red hollow circle) The available pieces are (B-) [B-] (B+) [B+] (R-) [R-] (R+) [R+] (b-) [b-] (b+) (r-) [r-] (r+) [r+] Candidates after size filtering are (b-) [b-] (b+) (r-) [r-] (r+) [r+] Candidates after color filtering are (r-) [r-] (r+) [r+] Candidates after style filtering are (r-) [r-] Candidates after shape filtering are (r-) The selection is (r-) JAKE: I select (r-) for you to place on the board. AJAX: Placing piece (r-) on cell B1 ... D **** **** **** **** C **** [b+] **** **** B (r-) **** **** **** A **** **** **** **** 1 2 3 4 (R-) [R-] (R+) [R+] [r-] (r+) [r+] (B-) [B-] (B+) [B+] (b-) [b-] (b+) AJAX: I select [B+] for you to place on the board. On which cell will you place [B+], JAKE? (A1 A2 A3 A4 B2 B3 B4 C1 C3 C4 D1 D2 D3 D4) > D2 JAKE: Placing piece [B+] on cell D2 ... D **** [B+] **** **** C **** [b+] **** **** B (r-) **** **** **** A **** **** **** **** 1 2 3 4 (R-) [R-] (R+) [R+] [r-] (r+) [r+] (B-) [B-] (B+) (b-) [b-] (b+) Which piece, JAKE? (small) The available pieces are (B-) [B-] (B+) (R-) [R-] (R+) [R+] (b-) [b-] (b+) [r-] (r+) [r+] Candidates after size filtering are (b-) [b-] (b+) [r-] (r+) [r+] Candidates after color filtering are (b-) [b-] (b+) [r-] (r+) [r+] Candidates after style filtering are (b-) [b-] (b+) [r-] (r+) [r+] Candidates after shape filtering are (b-) [b-] (b+) [r-] (r+) [r+] The selection is [r-] JAKE: I select [r-] for you to place on the board. AJAX: Placing piece [r-] on cell A3 ... D **** [B+] **** **** C **** [b+] **** **** B (r-) **** **** **** A **** **** [r-] **** 1 2 3 4 (R-) [R-] (R+) [R+] (r+) [r+] (B-) [B-] (B+) (b-) [b-] (b+) AJAX: I select (B+) for you to place on the board. On which cell will you place (B+), JAKE? (A1 A2 A4 B2 B3 B4 C1 C3 C4 D1 D3 D4) > A2 JAKE: Placing piece (B+) on cell A2 ... D **** [B+] **** **** C **** [b+] **** **** B (r-) **** **** **** A **** (B+) [r-] **** 1 2 3 4 (R-) [R-] (R+) [R+] (r+) [r+] (B-) [B-] (b-) [b-] (b+) Which piece, JAKE? () The available pieces are (B-) [B-] (R-) [R-] (R+) [R+] (b-) [b-] (b+) (r+) [r+] Candidates after size filtering are (B-) [B-] (R-) [R-] (R+) [R+] (b-) [b-] (b+) (r+) [r+] Candidates after color filtering are (B-) [B-] (R-) [R-] (R+) [R+] (b-) [b-] (b+) (r+) [r+] Candidates after style filtering are (B-) [B-] (R-) [R-] (R+) [R+] (b-) [b-] (b+) (r+) [r+] Candidates after shape filtering are (B-) [B-] (R-) [R-] (R+) [R+] (b-) [b-] (b+) (r+) [r+] The selection is [R-] JAKE: I select [R-] for you to place on the board. AJAX: Placing piece [R-] on cell B3 ... D **** [B+] **** **** C **** [b+] **** **** B (r-) **** [R-] **** A **** (B+) [r-] **** 1 2 3 4 (R-) (R+) [R+] (r+) [r+] (B-) [B-] (b-) [b-] (b+) AJAX: I select [R+] for you to place on the board. On which cell will you place [R+], JAKE? (A1 A4 B2 B4 C1 C3 C4 D1 D3 D4) > B2 JAKE: Placing piece [R+] on cell B2 ... D **** [B+] **** **** C **** [b+] **** **** B (r-) [R+] [R-] **** A **** (B+) [r-] **** 1 2 3 4 Congratulations, JAKE! NIL [3]> (bye) Bye.