summaryrefslogtreecommitdiffstats
path: root/net/ricketyspace/ror/fourteen/run.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'net/ricketyspace/ror/fourteen/run.rkt')
-rw-r--r--net/ricketyspace/ror/fourteen/run.rkt59
1 files changed, 59 insertions, 0 deletions
diff --git a/net/ricketyspace/ror/fourteen/run.rkt b/net/ricketyspace/ror/fourteen/run.rkt
new file mode 100644
index 0000000..4a244b7
--- /dev/null
+++ b/net/ricketyspace/ror/fourteen/run.rkt
@@ -0,0 +1,59 @@
+#lang racket
+
+#|
+ Hungry Henry, a multi-player, distributed game
+ -----------------------------------------------
+
+ This game is a multi-player competition for cupcakes. Each player owns an
+ avatar, called a "Henry", and competes for a limited number of cupcakes,
+ distributed over a rectangular space. A player launches her Henry via
+ a series of mouse clicks, so-called waypoints. Her Henry moves from waypoint
+ to waypoint. If it gets close enough to a cupcake, he eats the cupcake and
+ fattens up. As a Henry fattens up, he slows down. When all cupcakes are
+ consumed, the fattest Henry wins.
+
+ Notes:
+ 1. The cupcakes remain in place until they are eaten.
+ 2. Once a waypoiny is recorded, it cannot be removed.
+ 3. Waypoints are visited in a first-come, first-serve order.
+
+ Play
+ ----
+
+ Click Run. Evaluate
+
+ (serve-dinner)
+
+ in the Interactions Panel. This will pop up three windows:
+ -- Matthias, a game window
+ -- David, another game window
+ -- Universe, the game server's console
+
+ Play. You can play the part of both participants. Alternatively, click
+ the David or Matthias window (to obtain focus) and click again to choose
+ a way point for David's or Matthias's "hungry henry". Watch the hungry
+ henries go for the cup cake and eat them up. You can make either one of them
+ win or you can force a tie.
+
+ To run the game on two distinct computers:
+
+ -- copy this folder to another computer, determine its IP number "12.345.67.98"
+ -- open run.rkt
+ -- evaluate
+ (bon-appetit)
+
+ -- on your own computer, open run.rkt and run
+ -- evaluate
+ (lets-eat SomeNameAsAString "12.345.67.98")
+|#
+
+(require (only-in "server.rkt" bon-appetit)
+ (only-in "client.rkt" lets-eat)
+ 2htdp/universe)
+
+;; launch server worlds for playtesting
+(define (serve-dinner)
+ (launch-many-worlds
+ (bon-appetit)
+ (lets-eat "Matthias" LOCALHOST)
+ (lets-eat "David" LOCALHOST)))