I'd use and enum. I'd also use a function to keep the names for you.
e.g.
#include <stdio.h>
#include <stdlib.h>
typedef enum {
SY_YELLOWSIGN, SY_TENTACLE, SY_ELDERSIGN, SY_CTHULHU, SY_EYE, SY_COUNT
} Symbol;
const char *getSymbolName(Symbol n) {
static const char *names[SY_COUNT] = {
"YELLOW SIGN", "TENTACLE", "ELDER SIGN", "CTHULHU", "EYE"
};
return names[n];
}
Symbol getSymbolForRoll(int roll) {
if (roll <= 3) { return SY_YELLOWSIGN; }
if (roll <= 6) { return SY_TENTACLE; }
if (roll <= 8) { return SY_ELDERSIGN; }
if (roll <= 11) { return SY_CTHULHU; }
return SY_EYE;
}
int getRandRoll() { return 1 + (rand() % 12); }
int main() {
int turns, activePlayer;
activePlayer = 1;
for (turns = 1; turns <= 5; turns++) {
int roll = getRandRoll();
const char *symbol = getSymbolName(getSymbolForRoll(roll));
for (activePlayer = 1; activePlayer <= 2; ++activePlayer) {
printf("T# %d\t P# %d\t rolls a %d - %s\n", turns, activePlayer, roll, symbol);
}
}
return 0;
}
Hope this helps.

New Topic/Question
Reply




MultiQuote



|