Welcome, guest.
  [Refresh|Up] The Christmas Game has ended.
You may wish to visit another site which contains an accurate snapshot of the gamestate (except proposals) at some time far in the past.

Proposal Information for Modified Ferret


Exists: No
Created: by Kelly at 4:42:24 2nd December 2003 GMT.
Description: Make the ferret follow left walls
Expires 4:42:24 18th December 2003 GMT
Replace the entire text of the rule "Ferret" with the following *-delimited text:
*
Let D = (d_1, d_2, ... , d_8) = ((-1,0),(-1,1),(0,1),(1,1),(1.0),(1,-1),(0,-1),(-1,-1))

A vertex of space may be assigned an algorithm, provided that algorithm is among those which the ruleset explicitly allows; the mapping is part of the gamestate. In particular, the following is a type of move with an evaluation period of eleven days: a player may assign an allowed algorithm to some vertex e owns.

The location and focus of the ferret are vertices of space. The direction of the ferret is a member of D. Each day at 16:00 GMT, the ferret's location and direction are updated according to its focus' algorithm. When the ferret's location becomes vertex v, if v has an assigned algorithm and v is not currently the ferret's focus, the ferret acquires v as focus, and v's owner (if a player) is incremented.

The following algorithm, called "forgetful left wall following," can be assigned to any vertex:
"Suppose that (x,y) is the current location of the ferret.
Let S = {i | (x,y)+d_i is graphwise adjacent to (x,y)}.
If S is not empty: Let I be the smallest element of S. Set the ferret's direction to d_I. Set the ferret's location to (x,y) + d_I"

The following algorithm, called "left wall following," can be assigned to any vertex:
"Suppose that (x,y) is the current location of the ferret.
Let n be the integer such that d_n is the ferret's direction.
Let T=(t_1,t_2,...,t_8) be the cyclic permutation of D whose first element is d_((n+4)%8 + 1).
Let S = {i | (x,y)+t_i is graphwise adjacent to (x,y)}.
If S is not empty: Let I be the smallest element of S. Set the ferret's direction to t_I. Set the ferret's location to (x,y) + t_I"
*

Vertex 0 is assigned the left wall following algorithm. The ferret's direction is (-1,0).


Votes:
Comments:

Up

[debugging data | source code]