Rules
[Tow Bowl Tactics]

Collaboration diagram for Rules:

Located in bb5/common directory. More...

Classes

class  Ball< T >
 Base class describing the ball. More...
class  Dice
 X-faced dice. More...
class  Field< T >
 Game playing ground.

Parameter T: Player type (CPlayer or SPlayer). More...

struct  Player
 Base class describing a BB player. More...
class  Team< T >
 Base class describing a BB team. More...
class  Weather
 Base class for storing current match weather. More...
struct  MsgBallPos
 Ball Position.

Client -> Server, only during a kick-off. Server -> Client, at any time of the game. More...

struct  MsgGiveBall
 Changes Ball owner.

Client -> Server, after a touchback. Server -> Client, at any time of the game. More...

struct  MsgInitGame
 Both coaches and arbiter are ready.

Server -> Client. More...

struct  MsgInitHalf
 A new half-time begins.

Server -> Client. More...

struct  MsgDrawKicker
 Drawn coach chooses to either kick or receive the ball.

Server <-> Client. More...

struct  MsgInitKickoff
 Teams and ball placement during a kick-off.

Server <-> Client. More...

struct  MsgNewTurn
 A new turn begins.

Server -> Client. More...

struct  MsgEndTurn
 The turn ends.

Client <-> Server. More...

struct  MsgEndGame
 Game ends, according to the rules.

Server -> Client. More...

struct  MsgTimer
 Timer Synchronization.

Client <-> Server. More...

struct  MsgTurnOver
 A turnover happens.

Client <-> Server. More...

struct  MsgMoveTurnMarker
 Coach moves his turn marker.

Client <-> Server. More...

struct  MsgIllegalProc
 Coach asks for an illegal procedure.

Client <-> Server. More...

struct  MsgChat
 Coaches have better to play rather than use this...

Client <-> Server. FIXME: Handle different charsets. More...

struct  MsgIllegal
 A client sent an illegal request.

Server -> Client. More...

struct  MsgCheatDice
 Load the next Dice roll result.

Client -> Server, used for rules tests. More...

struct  MsgDeclare
 Declare a Player action.

Client <-> Server. More...

struct  MsgMove
 A Player moves of one or several squares.

Client <-> Server. More...

struct  MsgStandUp
 A Player stands up.

Client <-> Server. More...

struct  MsgBlock
 Player blocks an opponent.

Client <-> Server. More...

struct  MsgBlockPush
 A Player pushes another Player, due to a block.

Client <-> Server. More...

struct  MsgMultiBlock
 FIXME: NOT IMPLEMENTED. For extra rules.

Client <-> Server. More...

struct  MsgPass
 A Player throws the ball.

Client <-> Server. More...

struct  MsgPlayerCreate
 Create a Player at the very beginning of the game.

Client <-> Server. More...

struct  MsgPlayerPos
 Player Position changed.

Client <-> Server. More...

struct  MsgPlayerKnocked
 A Player is knocked down to the ground.

Client <-> Server. More...

struct  MsgPlayerStatus
 Player status changed.

Client <-> Server. More...

struct  MsgPlayerKO
 A KO'd Player tries to wakes up, during a break time.

Server -> Client. More...

struct  MsgResult
 Dice roll result associated to a Player, often agility roll.

Server -> Client. More...

struct  MsgBlockResult
 Block dices roll result.

Server -> Client. More...

struct  MsgBlockDice
 Coach chooses a block dice roll result.

Client -> Server. More...

struct  MsgFollow
 Attacker follows the defender after having pushed him.

Client <-> Server. More...

struct  MsgSkill
 A player use one of his skill.

Client <-> Server. More...

struct  MsgReroll
 Team reroll use, or result acceptation.

Client <-> Server. More...

struct  MsgTeamInfo
 Create a Team, at the very beginning of the game.

Client <-> Server. FIXME: 'race' info is missing. (note: many others too...). More...

struct  MsgTouchdooown
 Touchdooown!

Server -> Client. More...

struct  MsgWeather
 Current Weather.

Server -> Client. More...

enum  {
  GS_INITGAME = 1, GS_INITHALF, GS_DRAWKICKER, GS_INITKICKOFF,
  GS_KICKOFF, GS_TOUCHBACK, GS_COACH1, GS_COACH2,
  GS_REROLL, GS_BLOCK, GS_PUSH, GS_FOLLOW,
  GS_SKILL
}
 Constants describing the current status of the game. More...
enum  {
  MSG_CHAT = 0, MSG_ILLEGAL, MSG_INITGAME, MSG_INITHALF,
  MSG_DRAWKICKER, MSG_INITKICKOFF, MSG_CHEATDICE, MSG_RESULT,
  MSG_BLOCKRESULT, MSG_BLOCKDICE, MSG_FOLLOW, MSG_REROLL,
  MSG_NEWTURN, MSG_ENDTURN, MSG_ENDGAME, MSG_BALLPOS,
  MSG_GIVEBALL, MSG_WEATHER, MSG_TIMER, MSG_TURNOVER,
  MSG_TOUCHDOOOWN, MSG_TEAMINFO, MSG_PLAYERCREATE, MSG_PLAYERPOS,
  MSG_PLAYERKNOCKED, MSG_PLAYERSTATUS, MSG_PLAYERKO, MSG_SKILL,
  MSG_ROLLINFO, MSG_MOVETURNMARKER, MSG_ILLEGALPROC, MSG_DECLARE,
  MSG_MOVE, MSG_STANDUP, MSG_BLOCK, MSG_BLOCKPUSH,
  MSG_MULTIBLOCK, MSG_PASS, RULES_TOKEN_LAST
}
 Tokens used for the game. More...
enum  eStatus {
  STA_UNASSIGNED = 0, STA_RESERVE, STA_STANDING, STA_PRONE,
  STA_STUNNED, STA_KO, STA_INJURED, STA_SENTOFF,
  STA_LAST = STA_SENTOFF
}
 Player status. More...
enum  eDeclaredAction {
  DCL_UNASSIGNED = 0, DCL_MOVE, DCL_BLOCK, DCL_BLITZ,
  DCL_PASS, DCL_LAST = DCL_PASS
}
 Player declared actions. More...
enum  eRealAction {
  ACT_UNASSIGNED = 0, ACT_BLOCK, ACT_MOVE, ACT_STANDUP,
  ACT_THROW, ACT_LAST = ACT_THROW
}
 Player simple actions. More...
enum  eRoll {
  R_UNASSIGNED = 0, R_ARMOUR, R_BLOCK, R_CATCH,
  R_DODGE, R_INJURY, R_PICKUP, R_STANDUP,
  R_THROW, R_LAST = R_THROW
}
 Type of dice Roll. More...
enum  eSkill {
  SK_UNASSIGNED = 0, SK_BLOCK, SK_CATCH, SK_DODGE,
  SK_PASS, SK_SUREHANDS, SK_LAST = SK_SUREHANDS
}
 List of player skills. More...
enum  eTurnOverMotive {
  TOM_UNASSIGNED = 0, TOM_KNOCKEDDOWN, TOM_LOSTBALL, TOM_FAILEDPICKUP,
  TOM_TOUCHDOOOWN, TOM_TIMEEXCEEDED, TOM_FUMBLEDPASS, TOM_THROWNTMFAILED,
  TOM_EJECTEDFORAFOUL, TOM_LAST = TOM_EJECTEDFORAFOUL
}
 Motive for turnover. More...
enum  eError {
  ERR_UNASSIGNED = 0, ERR_UNREADABLE, ERR_WRONGCONTEXT, ERR_ALREADYEXISTS,
  ERR_NONEXISTENTPLAYER, ERR_CANNOTENTERINPLAY, ERR_TOOMANYPLAYERSINWIDEZONE, ERR_LINEOFSCRIMMAGENOTFILLED,
  ERR_TOOMANYPLAYERSINRESERVE, ERR_INVALIDBALLPLACEMENT, ERR_CANNOTCARRYTHEBALL, ERR_HASPLAYED,
  ERR_ISPLAYING, ERR_SINGLEACTIONUSED, ERR_DOESNTOWNTHEBALL, ERR_CANTPASSTOTHECROWD,
  ERR_CANTPASSTHATFARAWAY, ERR_NOTENOUGHMOVEMENT, ERR_NOTADJACENTSQUARE, ERR_NOTEMPTYSQUARE,
  ERR_LAST = ERR_NOTEMPTYSQUARE
}
 List of possible errors, for use in MsgIllegal. More...
 DECLARE_PACKET (MSG_DRAWKICKER, MsgDrawKicker)
 DECLARE_PACKET (MSG_INITKICKOFF, MsgInitKickoff)
 DECLARE_PACKET (MSG_ENDTURN, MsgEndTurn)
 DECLARE_PACKET (MSG_ENDGAME, MsgEndGame)
 DECLARE_PACKET (MSG_MOVETURNMARKER, MsgMoveTurnMarker)
 DECLARE_PACKET (MSG_ILLEGALPROC, MsgIllegalProc)
const int COLS = 15
 Field width [| 0, 14 |].
const int ROWS = 26
 Field length [| 0, 25 |].
const int SIDE = 4
 Wide zone width [| 0, 3 |] [| 11, 14 |].
const int MAX_PLAYER = 16
 Maximum number of players in a team.
const int INVALID_ACTION = -4
 Coach's request doesn't follow the rules.
const int BAD_TEAM = -3
 No team has been selected.
const int BAD_PLAYER = -2
 No player has been selected.
const int BAD_ARGUMENT = -1
 Your client program stinks.
const int SUCCESS = 0
 Success.
const char * bb5_token_str [RULES_TOKEN_LAST]
 Token string constants for bb5 rules.
int kickoff
 Whether kick off or receive the ball.
int place_team
 Place team or kick-off the ball.
 END_PACKET
 END_PACKET
 END_PACKET
 END_PACKET
enum  eDiceFaceNumber {
  D2 = 2, D3, D4, DBLOCK,
  D6, D8 = 8, D10 = 10, D12 = 12,
  D16 = 16, D66 = 666
}
 Some Dice number of face.
enum  eBlockDiceFace {
  BATTACKER_DOWN = 1, BBOTH_DOWN, BPUSHED, BDEFENDER_STUMBLE,
  BDEFENDER_DOWN
}
 Faces of block dice.

Enumerations

enum  eDirection {
  DIR_UNASSIGNED = 0, DIR_NORTHWEST, DIR_NORTH, DIR_NORTHEAST,
  DIR_EAST, DIR_SOUTHEAST, DIR_SOUTH, DIR_SOUTHWEST,
  DIR_WEST, DIR_LAST = DIR_WEST
}
 Scatter template. More...

Variables

const int MAX_MOVE = 16
 Maximum number of moves for a single MsgMove packet.
const int MAX_SKILL = 16
 Maximum number of skills for a single MsgPlayerCreate packet.

Detailed Description

Located in bb5/common directory.


Enumeration Type Documentation

anonymous enum

Constants describing the current status of the game.

Enumerator:
GS_INITGAME  Wait for coaches to declare their team and players.
GS_INITHALF  Wait for arbiter to prepare the beginning of a half-time.
GS_DRAWKICKER  Wait for coach to choose to either kick off or receive the ball.
GS_INITKICKOFF  Wait for coach to set up team placement.
GS_KICKOFF  Wait for coach to place the ball on the field.
GS_TOUCHBACK  Wait for coach to give the ball to one of his players.
GS_COACH1  Coach 1 turn.
GS_COACH2  Coach 2 turn.
GS_REROLL  Wait for coach to use or not a reroll.
GS_BLOCK  Wait for coach to choose a block dice.
GS_PUSH  Wait for coach to choose a square.
GS_FOLLOW  Wait for coach to follow or not, after a block.
GS_SKILL  Wait for coach to use or not a skill.

anonymous enum

Tokens used for the game.

See also:
Packet.
Note:
Keep this list below BASE_TOKEN_START (248), otherwise you'll run into trouble.

enum eDeclaredAction

Player declared actions.

Note:
You can get a stringified version into the class Player.

enum eDirection

Scatter template.

Note:
It is slightly different from BB's template.
123
8B4
765

enum eError

List of possible errors, for use in MsgIllegal.

Note:
FIXME: propose a stringified version.

enum eRealAction

Player simple actions.

Note:
You can get a stringified version into the class Player.

enum eRoll

Type of dice Roll.

Note:
You can get a stringified version into the class Dice.

enum eSkill

List of player skills.

Note:
You can get a stringified version into the class Player.

enum eStatus

Player status.

Note:
You can get a stringified version into the class Player.

enum eTurnOverMotive

Motive for turnover.

Note:
FIXME: propose a stringified version.


Variable Documentation

const int BAD_ARGUMENT = -1

Your client program stinks.

See also:
Api

const int BAD_PLAYER = -2

No player has been selected.

See also:
Api

const int BAD_TEAM = -3

No team has been selected.

See also:
Api

const char* bb5_token_str[RULES_TOKEN_LAST]

Token string constants for bb5 rules.

Note:
Keep it synchronized with all MSG_ enum below.

const int INVALID_ACTION = -4

Coach's request doesn't follow the rules.

See also:
Api

int kickoff

Whether kick off or receive the ball.

-1 Server gives the coach his choice. 0 Team will receive the ball. 1 Team will kick off the ball.

const int SUCCESS = 0

Success.

See also:
Api


Generated on Sat Jun 23 16:08:58 2007 for Stechec/TBT by  doxygen 1.4.7