-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.txt
78 lines (62 loc) · 2.99 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
================================================================================
This directory contains the Racket code base for the variant of the Acquire
board game that was used as the theme of "Software Construction" at NU PRL
in the Spring 2013 semester.
================================================================================
client-start: launch a named remote client for an Acquire game
sever-start: launch a server for an Acquire game
remote-game: run tests for the remote version of the game
tree-game: run tests for the local version of the game
================================================================================
The remaining files relate as follows to each other:
external players, potentially supplied by others
player | | strategy
player-intf | protocol | strategy-intf
| |
v V
+-------------------------+
|
player-factory
|
v
===============================================================================
|
|
v
tree-game || tree-game-intf <==== entry point to play
protocol governs interaction in principle
--- remote-proxy layer exists here ---
--- remote-actor[intf], remote-admin, remote-player ---
protocol governs interaction in principle
|| game-intf <==== entry point to play
^
|
|
===============================================================================
|
|
+------------------+------------------+--------------...
^ ^ ^ ^
| | | |
| | | |
state-intf board-intf basics-intf tree-intf
state board basics tree
================================================================================
basic libraries (unrelated to game):
Lib/
auxiliaries -- basic library functions
contract -- contracts, should be in unstable/contract
io -- some I/O functions
log -- central place for logging exns
sandbox -- wire up 'with-limit' in a function
struct -- a facility for opening up structs locally
xml -- XML parsing utilities
Performance/
with-contract -- a file that governs whether contracts should be checked
[This is for Christos D's research project.]
todo:
* the choice of tile should be computed once and for all not every time
a tile is transferred from the admin to a player
potential bug:
* protocols occasionally seems to use state-place-tile on player that
doesn't have the tile (merger perhaps? -- not reproducible)