Do losowania możesz użyć:
#include <iostream>
#include <cstdlib>
#include <ctime>
...
srand(time(0));
int roll = (rand() % 6 + 1);
W zmiennej roll będzie cyferka od 1 do 6.
Proponuję Ci, abyś zrobił sobie jakąś klasę lub strukturę, gracz:
class Player
{
int newRoll;
int oldRoll;
bool wasPlayerStarted;
void roll();
void canPlayerStart();
};
Masz dwie zmiennej newRoll i oldRoll, tam będą przechowywane wartości liczby oczek z kości.
void roll()
{
oldRoll = newRoll;
newRoll = (rand() % 6 + 1);
}
W metodzie roll będzie po prostu przepisywał wartość i losował nową :).
void canPlayerStart()
{
if( oldRoll == 1 && newRoll = 6 )
{
wasPlayerStart = true;
}
}
Metoda canPlayerStart zmieniać Ci będzie flagę, która określa, czy gracz już może się ruszać , czy nie.
Teraz kwestia umieszczenia tego wszystkiego w kodzie :D. Jeśli nie chcesz robić obiektowo, to pomyśl o jakiś tablicach na przykład: każdy gracz by miał swoją tablicę, w której miałbyś losowania kostką( stare i nowe ).