die.cpp

URL: https://mirkwood.cs.edinboro.edu/~bennett/class/cmsc2040/fall2026/notes/dice/code/die.cpp
 
#include <iostream>
#include "die.h"

using namespace std;
/*
Requires the user to seed the random number generator
before the routine is called.

srand(static_cast<int>(time(nullptr));

is suggested.

Initialize a die
 */
void InitDie(DieT & die, int sides){
    if (sides > 1 and sides <= 100) {
        die.sides = sides;
    }
    die.seed =static_cast<unsigned int> (rand());
    RollDie(die);
}

int GetDieValue(const DieT &  die){
    return die.value;
}

int GetDieSides(const DieT & die) {
    return die.sides;
}

void RollDie(DieT & die) {
    die.value = rand_r(&die.seed) % die.sides + 1;
}