1 | VB | AG | PV | - | RED | new Color(1.0f,0.0f,0.0f) |
2 | JR | EG | BB | - | GREEN | new Color(0.0f,1.0f,0.0f) |
3 | BP | AR | AD | - | BLUE | new Color(0.0f,0.0f,1.0f) |
4 | PJ | HK | AM | - | YELLOW | new Color(1.0f,1.0f,0.0f) |
5 | JC | CM | LW | RM | CYAN | new Color(0.5f,1.0f,1.0f) |
6 | SOV | AVK | BC | - | PURPLE | new Color(1.0f,0.5f,1.0f) |
7 | MM | RT | ZZ | - | ORANGE | new Color(1.0f,0.8f,0.3f) |
8 | RG | DJ | SUV | - | PINK | new Color(1.0f,0.67f,0.67f) |
9 | MSS | PO | JCR | - | ORCHID | new Color(0.855f, 0.438f, 0.855f) |
Tournament Name | Teams in the Race(T = 10) | Riders in a Team(R = 4) | Initial Energy(E = 5M) | Race Length(D = 180K) | Lanes(L = T*R) |
Base Tournament | T | R | E | D | L |
Base-R + R = 1 | T | 1 | E | D | L |
Base-R + R = 2 | T | 2 | E | D | L |
Base-R + R = 3 | T | 3 | E | D | L |
Base-R + R = 5 | T | 5 | E | D | L |
Base-R + R = 6 | T | 6 | E | D | L |
Base-R + R = 7 | T | 7 | E | D | L |
Base-R + R = 9 | T | 9 | E | D | L |
Base-D + D = 30L | T | R | E | 1200 | L |
Base-L + L = 2*T*R | T | R | E | D | 80 |
Base-E + E ~ 124*D | T | R | 22M | D | L |
Base-E + E ~ 5*D | T | R | 900K | D | L |
Base-T + T = 1 | 1 | R | E | D | L |
Base-T + T = 2 | 2 | R | E | D | L |
Base-T + T = 4 | 4 | R | E | D | L |
1 Real + 9 Dumbplayers | T | R | E | D | L |
2 Identical Players | 2 | R | E | D | L |
Exposed Game Engine Methods
The following methods are exposed by the game engine and are available to the player:
public int currTime() throws Exception;
public int numTeams() throws Exception;
public int D() throws Exception;
public int L() throws Exception;
public int R() throws Exception;
public int E() throws Exception;
public RiderInfo TeamStatus(int team, int rider) throws Exception;
public RiderInfo[] TeamStatus(int team) throws Exception;
public RiderInfo[][] TeamStatus() throws Exception;
public int indexOf() throws Exception;
Method | Description |
int currTime() | Returns the time elapsed during the race. |
int numTeams() | Returns the number of teams participating in the race. |
int D() | Returns the length of the race in meters. |
int L() | Returns the number of lanes. |
int R() | Returns the number of riders per team. |
int E() | Returns the initial energy of each rider. |
RiderInfo TeamStatus(int team, int rider) | Returns the information for the rider with index 'rider' in the team indexed 'team'. |
RiderInfo[] TeamStatus(int team) | Returns the information for all riders in the team indexed 'team'. |
RiderInfo[][] TeamStatus() | Returns the information for all riders in all teams. |
int indexOf(IFCPlayer _team) | Returns the index of the team _team. Should be called as indexOf(this) from the player class. |
Player Interface
Players are required to implement the following interface:
public interface IFCPlayer extends IFCConstants, Serializable {
public void register(Olympics
__olympics) throws Exception;
public String name()
throws Exception;
public Color color()
throws Exception;
public boolean interactive()
throws Exception;
public Move move()
throws Exception;
}
Method | Description |
register(Olympics __olympics) | Gives the Player a chance to get Game configuration parameters by calling the exposed methods of the Olympics object __olympics. |
name() | Returns the name of the Player. |
color() | Player's color. |
interactive() | HumanPlayer returns true, everyone else returns false. |
move(Move input) |
Move class must be instantiated as new Move(accelerations, lanechanges) where accelerations is an array of size R containing the proposed accelerations for each of the riders; lanechanges is again an array of size R containing the proposed lane changes for each of the riders. Since riders can shift by only one lane in one unit of time, the values for each element of lanechanges can be _CMOVELEFT, _CSTAYPUT or _CMOVERIGHT. See IFCConstants.java and g0/DumbPlayer for examples. |
Software
The full software source tree and class files are available from:
In addition, JAR files corresponding to both the game model and ui components
as well as a targzipped version of the directory is also available in that
directory. You
can access the targzipped file directly at: