TOC - prev - next - javadoc tree

1. Introduction to BusRider

Welcome to the game of BusRider. In this game, players act as couriers, making deliveries from one place to another, riding buses and paying bus fares along the way, and collecting payments for the deliveries. If, after making a delivery, a player has sufficient cash, he wins.

Thus BusRider would be an ordinary board game. But here, one does not participate directly: instead one writes Java classes which examine the board, consider the status of the other players, and make the playing decisions. To participate, one must be a Java programmer, or at least aspire to be one.

One does not need impressive Java skills to participate: one must be familiar with the language syntax, and the concepts of classes and interfaces. One must be able to edit text files, compile Java source code, and run it. One's browser should be Java-enabled (for Java version 1.1 or better). Novice Java programmers should do OK. Here is Sun's Java site.

Game summary

The game-board contains a number of Termini and Routes. A Terminus is a location; a Route is a path which connects some Termini. Before a player moves, a Destination Terminus is selected, and the player moves toward that Destination. Each turn, the player throws dice to see how far he moves. His trip will span a number of turns, depending on the distance from his Origin Terminus to the Destination, and his luck with the dice.

The player may board a number of buses during a delivery. Each time he does so, he pays a fare.

When a player arrives at his Destination, he receives a Payoff, the amount of which depends on the two Termini (but mainly on the distance between them). He may then make a single purchase, one of two different kinds:

Fares work like this: At the start of a delivery, or whenever the player changes Routes, he is deemed to board a bus.

So there are two ways to earn money: make deliveries, and own Routes which other players use. And three ways to spend it: pay fares, buy Routes, and buy a Right-of-Way.

Programming summary

One participates by writing a Strategy: that is, a Java class which implements the Strategy interface (or extends the StrategyAdapter class). To do this well, one must be familiar with the following classes and interfaces: Board, Game, Item, Junction, Location, PlayerView, Purchase, Route, Segment, and Strategy. There are Javadoc pages for each of these, and for the other Java classes of interest. The reader is encouraged to read about the detailed concepts and rules of the game, and then go to the Strategy javadoc, and other class documents.

One must also incorporate the new Strategy (or Strategies) into the Applet's HTML code. Instructions are here.

Please continue with the Table of Contents.

TOC - prev - next - javadoc tree