/***************************************************************************
dice.h - random number functions for RPG applications
-------------------
begin : Sat Jan 22 2000
copyright : (C) 2000 by Daniel Roberge
email : droberge@uvic.ca
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the Lesser General Public License, published *
* by the Free Software Foundation, Version 2 or later. *
* *
***************************************************************************/
#ifndef _DICE_H
#define _DICE_H
#include <stdlib.h>
#include <time.h>
/*--------------Random Number Functions--------------------------*/
/**Returns a random number less than num*/
int random(int num);
/**Returns the result of 'rolling' coeff 'dice' with dno sides plus plus*/
long dice(unsigned char coeff,unsigned char dno,short plus);
bool compare(int,int,int,int);
/**Returns a random number between 1 and 100*/
int percentile(void);
/**Returns the result of 'rolling' x standard cubic 'dice'*/
int xd6(unsigned char x);
/**Sets the random seed from the system clock*/
void randomize(void);
/*-------------------Dice Wrapper Class--------------------------*/
/**Wraps the dice routines in a class.
*@author Daniel Roberge
*/
class Dice
{
private:
unsigned char quantity, sides;
short modifier;
public:
/**Creates a set of 'null dice', which will always come up 0.*/
Dice();
/**Creates a set of dice from the specification in the args.*/
Dice(unsigned char number, unsigned char polygonNo, short bonus);
/**Creates a set of one die with the specified number of sides.*/
Dice(unsigned char polyNo);
/**Sets the number of dice*/
void setNoDice(unsigned char newNo);
/**Sets the number of sides on the dice*/
void setSides(unsigned char newSides);
/**Sets the modifier on the roll*/
void setMod(short newMod);
/**Gets the number of dice*/
int getNoDice();
/**Gets the number of sides on the dice*/
int getSides();
/**Gets the modifier on the roll*/
int getMod();
/**Rolls the dice represented by this object*/
long roll();
};
/*---------------------------------------------------------------*/
#endif
| Generated by: droberge@magebook.localdomain on Mon Jul 3 13:20:08 200. |