Here is a simple example of how you can print die without having to "hardcode" every permutation.
Code:
#include <iostream>
using namespace std;
unsigned int validate_die(unsigned int val)
{
if (val < 1)
{
val = 1;
}
else if (val > 6)
{
val = 6;
}
// DIE array index starts at 0
val--;
return val;
}//validate_die
void print_die(unsigned int d1,unsigned int d2)
{
const char BORDER = '*';
const char EDGE[] = "*********";
const char DIE[6][3][8] =
{
{
" ",
" o ",
" ",
},
{
" o ",
" ",
" o ",
},
{
" o ",
" o ",
" o ",
},
{
" o o ",
" ",
" o o ",
},
{
" o o ",
" o ",
" o o ",
},
{
" o o ",
" o o ",
" o o ",
},
};
const char LEADING_SPACE[] = " ";
const char SEP_SPACE[] = " ";
d1 = validate_die(d1);
d2 = validate_die(d2);
// Top of die
cout << LEADING_SPACE << EDGE << SEP_SPACE << EDGE << endl;
// Insides
for (int n = 0; n < 3; n++)
{
cout << LEADING_SPACE
<< BORDER << DIE[d1][n] << BORDER
<< SEP_SPACE
<< BORDER << DIE[d2][n] << BORDER
<< endl;
}//for
// Bottom of die
cout << LEADING_SPACE << EDGE << SEP_SPACE << EDGE << endl;
cout << endl;
}//print_die
int main()
{
print_die(1,6);
print_die(5,3);
print_die(2,4);
return 0;
}//main
gg