1(module interfaces racket
2  (provide player<%>
3           game<%>)
4
5  ;; in Java, lists become arrays.
6
7  ;; the do-move method gets two numbers if no doubles were rolled
8  ;; and gets four numbers if doubles were rolled (and the player has
9  ;; all of the pieces in).
10  (define player<%>
11    (interface ()
12      start-game ;; player-color -> string
13      do-move ;; board (listof number[1-6]) -> move
14      doubles-penalty ;; : -> void
15      ))
16
17  (define game<%>
18    (interface ()
19      register ;; player<%> -> void
20      start #| -> void |#)))
21