Bonjour tout le monde,
Voilà, je suis en ce moment en projet où je dois créer un pacman.
Pour l'instant je veux pouvoir afficher aléatoirement 2 fruits lors d'une partie (un niveau).
Voici ce que je veux pouvoir faire :
- Je tire un chiffre au hasard (entre 0 et 20)
- Ce chiffre sera le nombre de secondes au bout duquel mon fruit apparaîtra
- Le fruit doit apparaître pendant un temps donné
- J'ai 2 fruits par niveau
Voici mon code pour le moment :
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int rdtsc()
{
__asm__ __volatile__("rdtsc"); //Permet d'obtenir le nombre de cycles utilisés par le processeur depuis le démarrage du programme
}
int main()
{
srand(rdtsc());
int nb_un = rand()%20;
srand(rdtsc());
int nb_deux = (rand()%20)+20;
cout << nb_un << endl << nb_deux;
//int i; //Je déclare ma variable i
//for(i=0; i<2; i++)//Pour i allant de 0 à 2 en décroissant
// {
// srand(rdtsc());//Amorçage de rand()
// cout <<<< endl;//Affiche 2 chiffres aléatoires compris entre 0 et 20
// }
return 0;
}
Le truc c'est que je préfèrerai utiliser mon code en commentaire (la boucle for) afin que le jeu soit plus évolutif (par exemple je veux qu'il y ait 5 fruits par niveau au lieu de 2). Là où je suis bloquée c'est :
- Comment faire en sorte que mon 2ème fruit apparaisse au bout d'un temps +20secondes de la première apparition du fruit ?
- Comment récupérer mes valeurs aléatoires dans ma boucle fort afin de pouvoir les stocker ?
- Comment je peux afficher mon fruit au bout du temps de cette valeur aléatoire ?
Petite modification, le code de la boucle for est :
int i; //Je déclare ma variable i
for(i=0; i<2; i++)//Pour i allant de 0 à 2 en décroissant
{
srand(rdtsc());//Amorçage de rand()
cout << (rand()%20) << endl;//Affiche 2 chiffres aléatoires compris entre 0 et 20
}