begin process at 2012 05 29 04:58:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

[déplacé DEPHI -> C] Fonction pourcentage pour le jeu " qui veut gagner des millions"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[déplacé DEPHI -> C] Fonction pourcentage pour le jeu " qui veut gagner des millions"

mercredi 6 janvier 2010 à 14:47:58 | [déplacé DEPHI -> C] Fonction pourcentage pour le jeu " qui veut gagner des millions"

flymac123

Bonjour,

Je réalise actuellement un programme en C reproduisant le jeu "Qui veut gagner des millions", mais une version simple, sans interface graphique etc..
J'ai un problème: je voudrais créer un fonction qui permet simuler le vote du public: la fonction doit donc fournir 4 pourcentages pour les réponses et bien sur le pourcentage de la bonne réponse doit être plus élevé.
Mais ce pourcentage de la bonne réponse doit également diminuer plus la difficulté de la question augmente...
J'ai cherché des heures... mais je n'ai pas du tout d'idée pour créer cette fonction.
Auriez-vous des propositions ?

Merci d'avance
-----------------------------------------------------------------------------
Je vous fourni le programme entier (sans la fonction du vote du public )


/fonction qui tire un nombre au hazard (utilisée pour le 50/50)

int rnd(long mi,long ma)
{
long a;
a=rand()%(ma-mi+1)+mi;
return a;
}
int main()
{
long rep, vrai_rep;
long gain[12]={500,800,1500,6000,12000,24000,48000,72000,150000,300000,1000000};
long jocker_switch=1, jocker_5050=1, jocker_public=1;
long question=1, fin=0;
long i=1,r=0,j=0;
long P[4];
long tab[4];
srand(time(NULL));
printf("Bienvenue dans Qui veut gagner des Millions\n Emission presente par J-P Foucault\n");
printf("\n");
printf("vous allez devoir repondre a une serie de 12 questions a choix multiples.\n");
printf("vous disposez de 3 jockers:\n 1)le switch.\n 2)le 50/50.\n 3)le vote du public.\n");
printf("\n");
printf("Voici la pyramide des gains:\n\n");
printf(" 500E \n 800E \n 1.500E(palier) \n 3.000E \n 6.000E \n 12.000E\n 24000E \n 48.000E(palier) \n 72.000E \n 150.000E \n 300.000E \n 1.000.000E\n");
do
{
printf("voici la question %ld a %ld euros\n", &question, &gain[i]);
printf("switch=%ld 50/50=%ld public=%ld",&jocker_switch,&jocker_5050,&jocker_public);
printf("\n");
printf("instructions :\n arreter->taper 0 || reponse 1->taper 1 || reponse 2->taper 2 || reponse 3->taper 3 || reponse 4->taper 4 || switch->taper 5 || 50/50->taper 6 || public->taper 7\n");
// affichage de la question qui a été préalablement pioché dans le fichier de questions
scanf("%ld",&rep);
if (rep==vrai_rep)
{
printf("Bravo! c'est la bonne reponse, vous venez de remporter la somme de %ld \n",&gain[i]);
gain[i]=gain[i]+1;
question==question+1;
}
if (rep==5 && jocker_switch==1)
{
jocker_switch=0;
printf("Vous avez choisi le switch, une autre question va s'afficher \n");
// le programme choisi alors au hazard une autre question de la même catégorie
}
if (rep==6 && jocker_5050==1)
{
jocker_5050=0;
//l'ordinateur enlève au hazard 2 mauvaises réponses, donc choisit 2 réponses sur 3 a supprimer qui ne sont pas égal à vrai_rep
r=rnd(1,3); // on choisit au harzad une réponse fausse parmi les 3 disponibles qu'on va laisser affiché
if (r==1)
{
//afficher vrai_rep+rep1
}
if (r==2)
{
//afficher vrai_rep+rep2
}
if (r==3)
{
//afficher vrai_rep+rep3
}
}
if (rep==7 && jocker_public==1)
{
jocker_public=0;
P==publicpourcent(vrai_rep,question);
vrai_rep=tab[1];
for (j=0;j<3;j++)
{
printf("%ld",P[j]);
}
//l'ordinateur donne un pourcentage au hazard qui est de moins en moins important pour la bonne réponse quand on avance dans les questions
//on utilise la fonction créee préalablement qui permet de donner un pourcentage plus ou moins fiable en fonction de la difficulté de la question
// Affichage du tableau retourné par la fonction qui donne les 4 pourcentages
}
if (rep==0)
{
printf("Bravo! Vous repartez avec la somme de %ld euros",&gain[i]);
fin=1;
}
if (rep>7 || rep<0)
{
printf("Erreur de frappe ! Veuillez retaper votre choix \n");
printf("voici la question %ld a %ld euros\n", &question, &gain[i]);
printf("switch=%ld 50/50=%ld public=%ld",&jocker_switch,&jocker_5050,&jocker_public);
printf("\n");
printf("instructions :\n arreter->taper 0 || reponse 1->taper 1 || reponse 2->taper 2 || reponse 3->taper 3 || reponse 4->taper 4 || switch->taper 5 || 50/50->taper 6 || public->taper 7\n");
// affichage de la question qui a été préalablement pioché dans le fichier de questions
}
if (rep==5 && jocker_switch==0)
{
printf("Vous n'avez plus ce jocker ! Veuillez retaper votre reponse ! \n");
// réacffichage de la question posée
}
if (rep==6 && jocker_5050==0)
{
printf("Vous n'avez plus ce jocker ! Veuillez retaper votre reponse ! \n");
// réacffichage de la question posée
}
if (rep==7 && jocker_public==0)
{
printf("Vous n'avez plus ce jocker ! Veuillez retaper votre reponse ! \n");
// réacffichage de la question posée
}
else
{
printf("desole mais ce n'est pas la bonne reponse \n");
printf("\n");
printf("La bonne reponse etait %ld\n",&vrai_rep);
printf("\n");
// Gain en fonction du palier franchi
if (gain[i]<1500)
{
gain[i]==0;
}
if (gain[i]>1800 && gain[i]<48000)
{
gain[i]==1500;
}
else
{
gain[i]==48000;
}
printf("Vous repartez avec la somme de %ld euros\n",&gain[i]);
fin==1;
}
}while(fin!=1 || gain[i]<1000000); // la boucle continue tant que fin n'est pas égal à 0 ou que le joueur n'a pas terminé le jeu
printf("--------------------------------FIN DU JEU----------------------------------\n");
return 0;

}
mercredi 6 janvier 2010 à 15:07:31 | Re : Fonction pourcentage pour le jeu " qui veut gagner des millions"

Bacterius

Membre Club
Plus la difficulté sera élevée, plus les quatre pourcentages sont uniformément répartis. Tu pourrais imaginer une fonction (mathématique) de la sorte :

x est la part du public qui répond correctement, sur une échelle de 1, et t est la difficulté de la question, de 1 à 15. On peut imaginer la fonction suivante :

x = 25 + (3 + r)t - 4r, où r est un nombre réel aléatoire 0 < r < 1

Cordialement, Bacterius !

mercredi 6 janvier 2010 à 15:11:47 | Re : Fonction pourcentage pour le jeu " qui veut gagner des millions"

flymac123

Eh bien! je ne pensais pas recevoir une réponse aussi rapidement!
Je vais tenter de mettre en oeuvre ton idée Bactérius,
Je te remercie!

mercredi 6 janvier 2010 à 17:00:24 | Re : Fonction pourcentage pour le jeu " qui veut gagner des millions"

JulioDelphi

Membre Club Administrateur CodeS-SourceS
"Eh bien! je ne pensais pas recevoir une réponse aussi rapidement!"
Surtout en postant un problème C sur un forum DELPHI . . .
mercredi 6 janvier 2010 à 22:19:41 | Re : [déplacé DEPHI -> C] Fonction pourcentage pour le jeu " qui veut gagner des millions"

Bacterius

Membre Club

[déplacé DEPHI -> C]


Pourquoi ...

Pour en revenir à la question, j'ai lancé cette fonction comme ça, il y a peut-être quelques ajustements à faire afin de la faire fonctionner.

Cordialement, Bacterius !



Cette discussion est classée dans : printf, question, rep, taper, jocker


Répondre à ce message

Sujets en rapport avec ce message

petite question pr une meilleur visibilité [ par anek971 ] Bonjour a tousEnfaite je voudrais savoir en mode console comment on fait pr que par exemple le prog :#include int main(void){ int choix; do { printf Problèmes tableaux [ par Squallgamer ] Voila j'ai un exo en C et j'ai un peu de mal a faire les deux dernières question. J'ai beau cherché je vois pas trop la solution, je fais donc apelle bloqué dans programme [ par juju0612 ] bonjour !!!est ce que vous pourriez m'aider, je n'arrive pas a ressoudre un probleme. je veux taper des noms d'eleve avec leur points (ok)et je veux m Question de "graphisme" [ par did2604 ] (Re)Bonsoir :-))Encore une p'tite question avant d'aller faire dodo :je veux faire un joli dessin en C avec des printf qui me donne ceci :printf ("\n\ Gestion dynamique de la mémoire [ par totolfpn ] Bonjour, j'apprends le C en autodidacte et je bloque sur strcmp et les pointeurs. Mon code marche bien sans pointeur, mais il y a un truc qui m'échapp Petite Question Sur remplier un tableau de type String(Chaine de carac) en langage c [ par Ayoubyoub ] [code=cpp]#include #include main(){ char tab[20]; int n,i; printf("Saisir Element du Tableau : \t"); scanf("%d",&n); [BAR]réseau métropolitains [ par sokotanic ] BONJOUR dans mon examen mon professeur à donné une question sur la culture en informatique(puisque c'est un module de réseau). bon la question c'est Question sur l'installation de SDL ave c++builder6 [ par Ficheur ] Salut a tous J'ai une question ? J'ai installé SDL avec mon IDE Borland C++Builder6 mais quand j'ai fait l'inclusion de l'en-tête #include "SDL/SDL.h Envoie et reception de données avec un modem (Port COM) [ par S1rK ] Bonjour à toute la communauté! Je fais mumuse avec un modem 56k afin de pouvoir entièrement interagir avec. Après les différents test de COM avec le Dictionnaire de traduction [ par JSG19 ] Salut j'ai un dictionnaire a programmer a chaque fois que je programme soit j'ai le premier mot soit le dernier ou toute la liste de traduction donc


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales