Beide Spieler erhalten die gleiche Zufallszahl! Ich möchte, dass jeder Spieler eine andere Nummer bekommt, weil er würfelt. hier ist der Code:Wie kann ich für jeden Spieler verschiedene Zufallszahlen generieren?
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int roll_a_dice(void);
int main(int argc, const char *argv[])
{
int flag;
int answer1 = roll_a_dice();
int answer2 = roll_a_dice();
printf("Die 1 (rolled by player 1): %d\n", answer1);
printf("Die 2 (rolled by player 2): %d\n", answer2);
if (answer1>answer2) {
printf("Player 1 is starting!\n");
flag = 1;
} else {
printf("Player 2 is starting!\n");
flag = 2;
}
printf("Goodbye!\n");
return 0;
}
int roll_a_dice(void)
{
int r;
srand(time(NULL));
r = 1 + rand() % 6;
return r;
}
Die Spieler Würfel werfen. Also muss die Nummer 1-6 sein. Wie kann ich das beheben?
Setzen Sie die verschiedenen Optionen 1..6 in ein Array. Wählen Sie einen zufälligen Array-Index. Entfernen Sie dieses Element aus dem Array (indem Sie es mit dem letzten im Array austauschen und dessen Länge verkürzen). –
move 'srand (Zeit (NULL));' außerhalb der Rolle_a_dice –
Eine andere grobe Multi-dup –