Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <ctime>
- #include <wchar.h>
- const char* help_text = "\
- A dice roller.\
- Usage: dice [-options] [rolls] \
- where options include:\
- -f Select items randomly from a file (newline separated)\
- ";
- const char* dice_6_glyph(int x) {
- switch (x) {
- case 1: return "\u2680";
- case 2: return "\u2681";
- case 3: return "\u2682";
- case 4: return "\u2683";
- case 5: return "\u2684";
- case 6: return "\u2685";
- }
- return "?";
- }
- int dice_rand(int n) {
- return rand() % n;
- }
- int dice_roll(int min, int max) {
- return dice_rand(max - min) + min;
- }
- int main(int argc, char const* argv[])
- {
- int icon_flag = 0;
- int rolls = 1;
- int min = 1;
- int max = 6;
- int i, j, tmp;
- srand(time(NULL));
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-h") == 0) {
- printf("%s\n", help_text);
- } else if (strcmp(argv[i], "-d") == 0) {
- icon_flag = 1;
- } else if (strcmp(argv[i], "-D") == 0) {
- icon_flag = 2;
- } else {
- rolls = atoi(argv[i]);
- }
- }
- for (i = 0; i < rolls; i++) {
- tmp = dice_roll(min, max);
- if (icon_flag) {
- printf("%s ", dice_6_glyph(tmp));
- if (icon_flag == 2) {
- printf("\n");
- continue;
- }
- }
- printf("%d\n", tmp);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement